From b92527255858bb65a5adebb68b27af9f93286e26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= <83164375+DmitriyTychina@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:39:57 +0300 Subject: [PATCH] economy: flash:-112b; ram in realtime: -200b --- include/Const.h | 20 ++++++++++---------- include/ESPConfiguration.h | 2 +- include/MqttClient.h | 4 ++-- src/ESPConfiguration.cpp | 1 + src/Global.cpp | 3 ++- src/MqttClient.cpp | 15 +++++++++------ src/classes/IoTItem.cpp | 2 +- 7 files changed, 26 insertions(+), 21 deletions(-) diff --git a/include/Const.h b/include/Const.h index e170a3d2..23e9e0d0 100644 --- a/include/Const.h +++ b/include/Const.h @@ -92,8 +92,8 @@ enum TimerTask_t { WIFI_SCAN, WIFI_MQTT_CONNECTION_CHECK, TIME, - TIME_SYNC, - UPTIME, + // TIME_SYNC, // не используется + // UPTIME, // не используется UDP, // UDPP TIMES, // периодические секундные проверки PTASK, @@ -101,12 +101,12 @@ enum TimerTask_t { END }; -// задачи которые надо протащить через loop -enum NotAsyncActions { - do_ZERO, - do_MQTTPARAMSCHANGED, - do_LAST, -}; +// // задачи которые надо протащить через loop // не используется +// enum NotAsyncActions { + // do_ZERO, + // do_MQTTPARAMSCHANGED, + // do_LAST +// }; // состояния обновления enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR }; @@ -114,7 +114,7 @@ enum UpdateStates { UPDATE_COMPLETED, UPDATE_FAILED, PATH_ERROR }; enum distination { TO_MQTT, TO_WS, - TO_MQTT_WS, + TO_MQTT_WS }; -#define WS_BROADCAST -1 +// #define WS_BROADCAST -1 // не используется diff --git a/include/ESPConfiguration.h b/include/ESPConfiguration.h index 1e185219..c795becd 100644 --- a/include/ESPConfiguration.h +++ b/include/ESPConfiguration.h @@ -6,4 +6,4 @@ extern std::list IoTItems; // вектор ссылок базово extern void configure(String path); void clearConfigure(); -extern IoTItem* myIoTItem; +// extern IoTItem* myIoTItem; // экономим память, используется в одном месте diff --git a/include/MqttClient.h b/include/MqttClient.h index f7614f94..ca592599 100644 --- a/include/MqttClient.h +++ b/include/MqttClient.h @@ -29,8 +29,8 @@ bool publishChartFileToMqtt(String path, String id, int maxCount); void publishWidgets(); void mqttCallback(char* topic, uint8_t* payload, size_t length); -void handleMqttStatus(bool send); -void handleMqttStatus(bool send, int state); +// void handleMqttStatus(bool send); +void handleMqttStatus(bool send, int state = -1); const String getStateStr(int e); diff --git a/src/ESPConfiguration.cpp b/src/ESPConfiguration.cpp index d0ee0bc8..3fc7df86 100644 --- a/src/ESPConfiguration.cpp +++ b/src/ESPConfiguration.cpp @@ -23,6 +23,7 @@ void configure(String path) { SerialPrint(F("E"), F("Config"), "json error " + subtype); continue; } else { + IoTItem* myIoTItem; //(IoTItem*) - getAPI вернула ссылку, что бы ее привести к классу IoTItem используем myIoTItem = (IoTItem*)getAPI(subtype, jsonArrayElement); if (myIoTItem) { diff --git a/src/Global.cpp b/src/Global.cpp index 1130691c..09d22f34 100644 --- a/src/Global.cpp +++ b/src/Global.cpp @@ -4,7 +4,8 @@ *****************************************глобальные объекты классов*************************************************** **********************************************************************************************************************/ -TickerScheduler ts(END + 1); +// TickerScheduler ts(END + 1); // зачем на 1 больше? +TickerScheduler ts(END); WiFiClient espClient; PubSubClient mqtt(espClient); diff --git a/src/MqttClient.cpp b/src/MqttClient.cpp index 727473ad..bc083190 100644 --- a/src/MqttClient.cpp +++ b/src/MqttClient.cpp @@ -305,14 +305,17 @@ bool publishChartFileToMqtt(String path, String id, int maxCount) { return true; } -void handleMqttStatus(bool send) { - String stateStr = getStateStr(mqtt.state()); - // Serial.println(stateStr); - jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); - if (!send) sendStringToWs("errors", errorsHeapJson, -1); -} +// void handleMqttStatus(bool send) { + // String stateStr = getStateStr(mqtt.state()); + // // Serial.println(stateStr); + // jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); + // if (!send) sendStringToWs("errors", errorsHeapJson, -1); +// } void handleMqttStatus(bool send, int state) { +if (state == -1) { + state = mqtt.state(); + } String stateStr = getStateStr(state); // Serial.println(stateStr); jsonWriteStr_(errorsHeapJson, F("mqtt"), stateStr); diff --git a/src/classes/IoTItem.cpp b/src/classes/IoTItem.cpp index ee588dc2..0a5e7a20 100644 --- a/src/classes/IoTItem.cpp +++ b/src/classes/IoTItem.cpp @@ -272,7 +272,7 @@ unsigned long IoTItem::getRtcUnixTime() { //========================================================================================================================================= -IoTItem* myIoTItem; +// IoTItem* myIoTItem; // экономим память, используется в одном месте // поиск элемента модуля в существующей конфигурации IoTItem* findIoTItem(const String& name) {