optimize memory, upd AnalogADC

This commit is contained in:
Mit4el
2025-02-14 17:32:01 +03:00
parent 05ea75aa0a
commit e3d3bca68e
8 changed files with 27 additions and 22 deletions

View File

@@ -109,8 +109,8 @@ enum TimerTask_t {
WIFI_SCAN, WIFI_SCAN,
WIFI_MQTT_CONNECTION_CHECK, WIFI_MQTT_CONNECTION_CHECK,
TIME, TIME,
TIME_SYNC, // TIME_SYNC, // не используется
UPTIME, // UPTIME, // не используется
UDPt, // UDPP UDPt, // UDPP
TIMES, // периодические секундные проверки TIMES, // периодические секундные проверки
PTASK, PTASK,
@@ -119,12 +119,12 @@ enum TimerTask_t {
END END
}; };
// задачи которые надо протащить через loop // задачи которые надо протащить через loop // не используется
enum NotAsyncActions { // enum NotAsyncActions {
do_ZERO, // do_ZERO,
do_MQTTPARAMSCHANGED, // do_MQTTPARAMSCHANGED,
do_LAST, // do_LAST,
}; // };
// состояния обновления // состояния обновления
enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR }; enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR };
@@ -132,7 +132,7 @@ enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR };
enum distination { enum distination {
TO_MQTT, TO_MQTT,
TO_WS, TO_WS,
TO_MQTT_WS, TO_MQTT_WS
}; };
#define WS_BROADCAST -1 // #define WS_BROADCAST -1 // не используется

View File

@@ -6,4 +6,4 @@ extern std::list<IoTItem*> IoTItems; // вектор ссылок базово
extern void configure(String path); extern void configure(String path);
void clearConfigure(); void clearConfigure();
extern IoTItem* myIoTItem; // extern IoTItem* myIoTItem; // экономим память, используется в одном месте

View File

@@ -29,8 +29,8 @@ bool publishChartFileToMqtt(String path, String id, int maxCount);
void publishWidgets(); void publishWidgets();
void mqttCallback(char* topic, uint8_t* payload, size_t length); void mqttCallback(char* topic, uint8_t* payload, size_t length);
void handleMqttStatus(bool send); //void handleMqttStatus(bool send);
void handleMqttStatus(bool send, int state); void handleMqttStatus(bool send, int state == -1);
const String getStateStr(int e); const String getStateStr(int e);

View File

@@ -23,6 +23,7 @@ void configure(String path) {
jsonArrayElement = ""; jsonArrayElement = "";
} }
if (jsonArrayElement != "") { if (jsonArrayElement != "") {
IoTItem* myIoTItem;
String subtype; String subtype;
if (!jsonRead(jsonArrayElement, F("subtype"), subtype)) { //если нет такого ключа в представленном json или он не валидный if (!jsonRead(jsonArrayElement, F("subtype"), subtype)) { //если нет такого ключа в представленном json или он не валидный
SerialPrint(F("E"), F("Config"), "json error " + subtype); SerialPrint(F("E"), F("Config"), "json error " + subtype);

View File

@@ -4,7 +4,8 @@
*****************************************глобальные объекты классов*************************************************** *****************************************глобальные объекты классов***************************************************
**********************************************************************************************************************/ **********************************************************************************************************************/
TickerScheduler ts(END + 1); // TickerScheduler ts(END + 1); // зачем на 1 больше?
TickerScheduler ts(END);
WiFiClient espClient; WiFiClient espClient;
PubSubClient mqtt(espClient); PubSubClient mqtt(espClient);

View File

@@ -343,14 +343,17 @@ bool publishChartFileToMqtt(String path, String id, int maxCount) {
return true; return true;
} }
void handleMqttStatus(bool send) { // void handleMqttStatus(bool send) {
String stateStr = getStateStr(mqtt.state()); // String stateStr = getStateStr(mqtt.state());
// Serial.println(stateStr); // // Serial.println(stateStr);
jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); // jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr);
if (!send) sendStringToWs("errors", errorsHeapJson, -1); // if (!send) sendStringToWs("errors", errorsHeapJson, -1);
} // }
void handleMqttStatus(bool send, int state) { void handleMqttStatus(bool send, int state) {
if (state == -1) {
state = mqtt.state();
}
String stateStr = getStateStr(state); String stateStr = getStateStr(state);
// Serial.println(stateStr); // Serial.println(stateStr);
jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr);

View File

@@ -289,7 +289,7 @@ unsigned long IoTItem::getRtcUnixTime()
//========================================================================================================================================= //=========================================================================================================================================
IoTItem* myIoTItem; // IoTItem* myIoTItem; // экономим память, используется в одном месте
// поиск элемента модуля в существующей конфигурации // поиск элемента модуля в существующей конфигурации
IoTItem* findIoTItem(const String& name) { IoTItem* findIoTItem(const String& name) {

View File

@@ -46,7 +46,7 @@ class AnalogAdc : public IoTItem {
// и выполнить за несколько тактов // и выполнить за несколько тактов
void doByInterval() { void doByInterval() {
if (_avgSteps <= 1) value.valD = IoTgpio.analogRead(_pin); if (_avgSteps <= 1) value.valD = IoTgpio.analogRead(_pin);
value.valD = adCresult;/// else value.valD = adCresult;///
regEvent(value.valD, "AnalogAdc"); //обязательный вызов хотяб один regEvent(value.valD, "AnalogAdc"); //обязательный вызов хотяб один
} }