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_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 // не используется
|
||||
|
||||
@@ -6,4 +6,4 @@ extern std::list<IoTItem*> IoTItems; // вектор ссылок базово
|
||||
|
||||
extern void configure(String path);
|
||||
void clearConfigure();
|
||||
extern IoTItem* myIoTItem;
|
||||
// extern IoTItem* myIoTItem; // экономим память, используется в одном месте
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
*****************************************глобальные объекты классов***************************************************
|
||||
**********************************************************************************************************************/
|
||||
|
||||
TickerScheduler ts(END + 1);
|
||||
// TickerScheduler ts(END + 1); // зачем на 1 больше?
|
||||
TickerScheduler ts(END);
|
||||
WiFiClient espClient;
|
||||
PubSubClient mqtt(espClient);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -289,7 +289,7 @@ unsigned long IoTItem::getRtcUnixTime()
|
||||
|
||||
//=========================================================================================================================================
|
||||
|
||||
IoTItem* myIoTItem;
|
||||
// IoTItem* myIoTItem; // экономим память, используется в одном месте
|
||||
|
||||
// поиск элемента модуля в существующей конфигурации
|
||||
IoTItem* findIoTItem(const String& name) {
|
||||
|
||||
@@ -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"); //обязательный вызов хотяб один
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user