Исправляем ошибку с выполнением периодичных секундных операций

This commit is contained in:
2022-10-30 20:20:57 +03:00
parent fb427751f2
commit 898af53970
2 changed files with 18 additions and 15 deletions

View File

@@ -54,10 +54,10 @@ enum TimerTask_t { WIFI_SCAN,
TIME_SYNC, TIME_SYNC,
UPTIME, UPTIME,
UDP, // UDPP UDP, // UDPP
TIMES, TIMES, // периодические секундные проверки
PTASK, PTASK,
ST, ST,
END }; END};
//задачи которые надо протащить через loop //задачи которые надо протащить через loop
enum NotAsyncActions { enum NotAsyncActions {

View File

@@ -94,6 +94,22 @@ void setup() {
stInit(); stInit();
// настраиваем секундные обслуживания системы
ts.add(
TIMES, 1000, [&](void*) {
// сохраняем значения IoTItems в файл каждую секунду, если были изменения (установлены маркеры на сохранение)
if (needSaveValues) {
syncValuesFlashJson();
needSaveValues = false;
}
// проверяем все элементы на тухлость
for (std::list<IoTItem *>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
(*it)->checkIntFromNet();
}
},
nullptr, true);
// test // test
Serial.println("-------test start--------"); Serial.println("-------test start--------");
Serial.println("--------test end---------"); Serial.println("--------test end---------");
@@ -149,19 +165,6 @@ void loop() {
loopPeriod = millis() - st; loopPeriod = millis() - st;
if (loopPeriod > 2) Serial.println(loopPeriod); if (loopPeriod > 2) Serial.println(loopPeriod);
#endif #endif
if (millis()%1000 == 0) {
// сохраняем значения IoTItems в файл каждую секунду, если были изменения (установлены маркеры на сохранение)
if (needSaveValues) {
syncValuesFlashJson();
needSaveValues = false;
}
// проверяем все элементы на тухлость
for (std::list<IoTItem *>::iterator it = IoTItems.begin(); it != IoTItems.end(); ++it) {
(*it)->checkIntFromNet();
}
}
} }
//отправка json //отправка json