mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 14:12:16 +03:00
optimize memory, upd AnalogADC
This commit is contained in:
@@ -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 // не используется
|
||||||
|
|||||||
@@ -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; // экономим память, используется в одном месте
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ unsigned long IoTItem::getRtcUnixTime()
|
|||||||
|
|
||||||
//=========================================================================================================================================
|
//=========================================================================================================================================
|
||||||
|
|
||||||
IoTItem* myIoTItem;
|
// IoTItem* myIoTItem; // экономим память, используется в одном месте
|
||||||
|
|
||||||
// поиск элемента модуля в существующей конфигурации
|
// поиск элемента модуля в существующей конфигурации
|
||||||
IoTItem* findIoTItem(const String& name) {
|
IoTItem* findIoTItem(const String& name) {
|
||||||
|
|||||||
@@ -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"); //обязательный вызов хотяб один
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user