diff --git a/include/Const.h b/include/Const.h index a4e065b4..4581349c 100644 --- a/include/Const.h +++ b/include/Const.h @@ -54,10 +54,10 @@ enum TimerTask_t { WIFI_SCAN, TIME_SYNC, UPTIME, UDP, // UDPP - TIMES, + TIMES, // периодические секундные проверки PTASK, ST, - END }; + END}; //задачи которые надо протащить через loop enum NotAsyncActions { diff --git a/src/Main.cpp b/src/Main.cpp index 31cda3b5..fa14d76e 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -94,6 +94,22 @@ void setup() { stInit(); + // настраиваем секундные обслуживания системы + ts.add( + TIMES, 1000, [&](void*) { + // сохраняем значения IoTItems в файл каждую секунду, если были изменения (установлены маркеры на сохранение) + if (needSaveValues) { + syncValuesFlashJson(); + needSaveValues = false; + } + + // проверяем все элементы на тухлость + for (std::list::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) { + (*it)->checkIntFromNet(); + } + }, + nullptr, true); + // test Serial.println("-------test start--------"); Serial.println("--------test end---------"); @@ -149,19 +165,6 @@ void loop() { loopPeriod = millis() - st; if (loopPeriod > 2) Serial.println(loopPeriod); #endif - - if (millis()%1000 == 0) { - // сохраняем значения IoTItems в файл каждую секунду, если были изменения (установлены маркеры на сохранение) - if (needSaveValues) { - syncValuesFlashJson(); - needSaveValues = false; - } - - // проверяем все элементы на тухлость - for (std::list::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) { - (*it)->checkIntFromNet(); - } - } } //отправка json