Merge branch 'MoonModules:mdev' into DMX-Input-esp_dmx

This commit is contained in:
netmindz
2023-03-23 21:40:14 +00:00
committed by GitHub
108 changed files with 7578 additions and 11768 deletions

View File

@@ -13,13 +13,6 @@ void handleAlexa();
void onAlexaChange(EspalexaDevice* dev);
#endif
//blynk.cpp
#ifndef WLED_DISABLE_BLYNK
void initBlynk(const char* auth, const char* host, uint16_t port);
void handleBlynk();
void updateBlynk();
#endif
//button.cpp
void shortPressAction(uint8_t b=0);
void longPressAction(uint8_t b=0);
@@ -123,6 +116,7 @@ void decodeIR21(uint32_t code);
void decodeIR6(uint32_t code);
void decodeIR9(uint32_t code);
void decodeIRJson(uint32_t code);
void decodeIR24MC(uint32_t code); //WLEDMM
void initIR();
void handleIR();
@@ -133,7 +127,7 @@ void handleIR();
#include "src/dependencies/json/AsyncJson-v6.h"
#include "FX.h"
void deserializeSegment(JsonObject elem, byte it, byte presetId = 0);
bool deserializeSegment(JsonObject elem, byte it, byte presetId = 0);
bool deserializeState(JsonObject root, byte callMode = CALL_MODE_DIRECT_CHANGE, byte presetId = 0);
void serializeSegment(JsonObject& root, Segment& seg, byte id, bool forPreset = false, bool segmentBounds = true);
void serializeState(JsonObject root, bool forPreset = false, bool includeBri = true, bool segmentBounds = true, bool selectedSegmentsOnly = false);
@@ -145,6 +139,15 @@ void serveJson(AsyncWebServerRequest* request);
bool serveLiveLeds(AsyncWebServerRequest* request, uint32_t wsClient = 0);
#endif
#ifdef ARDUINO_ARCH_ESP32
#include <esp_system.h>
int getCoreResetReason(int core);
String resetCode2Info(int reason);
esp_reset_reason_t getRestartReason();
String restartCode2Info(esp_reset_reason_t reason);
String restartCode2InfoLong(esp_reset_reason_t reason);
#endif
//led.cpp
void setValuesFromSegment(uint8_t s);
void setValuesFromMainSeg();
@@ -261,8 +264,11 @@ const unsigned int um_data_size = sizeof(um_data_t); // 12 bytes
class Usermod {
protected:
um_data_t *um_data; // um_data should be allocated using new in (derived) Usermod's setup() or constructor
bool enabled = false; //WLEDMM
const char *_name; //WLEDMM
bool initDone = false; //WLEDMM
public:
Usermod() { um_data = nullptr; }
Usermod(const char *_name = nullptr, bool enabled=false) { um_data = nullptr; this->_name = _name; this->enabled=enabled;}
virtual ~Usermod() { if (um_data) delete um_data; }
virtual void setup() = 0; // pure virtual, has to be overriden
virtual void loop() = 0; // pure virtual, has to be overriden
@@ -274,8 +280,14 @@ class Usermod {
virtual void addToJsonState(JsonObject& obj) {} // add JSON objects for WLED state
virtual void addToJsonInfo(JsonObject& obj) {} // add JSON objects for UI Info page
virtual void readFromJsonState(JsonObject& obj) {} // process JSON messages received from web server
virtual void addToConfig(JsonObject& obj) {} // add JSON entries that go to cfg.json
virtual bool readFromConfig(JsonObject& obj) { return true; } // Note as of 2021-06 readFromConfig() now needs to return a bool, see usermod_v2_example.h
virtual void addToConfig(JsonObject& obj) { // add JSON entries that go to cfg.json
JsonObject top = obj.createNestedObject(FPSTR(_name)); // WLEDMM: set enabled and _name
top[FPSTR("enabled")] = enabled;
}
virtual bool readFromConfig(JsonObject& obj) { // Note as of 2021-06 readFromConfig() now needs to return a bool, see usermod_v2_example.h
JsonObject top = obj[FPSTR(_name)]; // WLEDMM: get enabled and _name
return !top.isNull() && getJsonValue(top[FPSTR("enabled")], enabled);
}
virtual void onMqttConnect(bool sessionPresent) {} // fired when MQTT connection is established (so usermod can subscribe)
virtual bool onMqttMessage(char* topic, char* payload) { return false; } // fired upon MQTT message received (wled topic)
virtual void onUpdateBegin(bool) {} // fired prior to and after unsuccessful firmware update
@@ -295,7 +307,7 @@ class UsermodManager {
bool getUMData(um_data_t **um_data, uint8_t mod_id = USERMOD_ID_RESERVED); // USERMOD_ID_RESERVED will poll all usermods
void setup();
void connected();
void appendConfigData();
// void appendConfigData(); //WLEDMM not used
void addToJsonState(JsonObject& obj);
void addToJsonInfo(JsonObject& obj);
void readFromJsonState(JsonObject& obj);