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_MQTT_CONNECTION_CHECK,
TIME,
TIME_SYNC,
UPTIME,
// TIME_SYNC, // не используется
// UPTIME, // не используется
UDPt, // UDPP
TIMES, // периодические секундные проверки
PTASK,
@@ -119,12 +119,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 };
@@ -132,7 +132,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 // не используется

View File

@@ -6,4 +6,4 @@ extern std::list<IoTItem*> IoTItems; // вектор ссылок базово
extern void configure(String path);
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 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);

View File

@@ -23,6 +23,7 @@ void configure(String path) {
jsonArrayElement = "";
}
if (jsonArrayElement != "") {
IoTItem* myIoTItem;
String subtype;
if (!jsonRead(jsonArrayElement, F("subtype"), subtype)) { //если нет такого ключа в представленном json или он не валидный
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;
PubSubClient mqtt(espClient);

View File

@@ -343,14 +343,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);

View File

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

View File

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