Files
IoTManager/src/PeriodicTasks.cpp

39 lines
1.6 KiB
C++
Raw Normal View History

#include "PeriodicTasks.h"
void periodicTasksInit() {
//задачи редкого выполнения
ts.add(
PTASK, 1000 * 30, [&](void*) {
// heap
String heap = prettyBytes(ESP.getFreeHeap());
SerialPrint(F("i"), F("HEAP"), heap);
2022-02-09 21:55:17 +01:00
printGlobalVarSize();
jsonWriteStr_(errorsHeapJson, F("heap"), heap);
// rssi
jsonWriteInt_(errorsHeapJson, F("rssi"), RSSIquality());
// uptime
jsonWriteStr_(errorsHeapJson, F("upt"), prettyMillis(millis()));
// build ver
jsonWriteStr_(errorsHeapJson, F("bver"), String(FIRMWARE_VERSION));
periodicWsSend();
},
nullptr, true);
2022-02-09 21:55:17 +01:00
}
void printGlobalVarSize() {
size_t settingsFlashJsonSize = settingsFlashJson.length();
2022-02-11 00:22:59 +01:00
// SerialPrint(F("i"), F("settingsFlashJson"), String(settingsFlashJsonSize));
2022-02-09 21:55:17 +01:00
size_t errorsHeapJsonSize = errorsHeapJson.length();
2022-02-11 00:22:59 +01:00
// SerialPrint(F("i"), F("settingsFlashJson"), String(errorsHeapJsonSize));
2022-02-09 21:55:17 +01:00
size_t paramsFlashJsonSize = paramsFlashJson.length();
2022-02-11 00:22:59 +01:00
// SerialPrint(F("i"), F("settingsFlashJson"), String(paramsFlashJsonSize));
2022-02-09 21:55:17 +01:00
size_t paramsHeapJsonSize = paramsHeapJson.length();
2022-02-11 00:22:59 +01:00
// SerialPrint(F("i"), F("settingsFlashJson"), String(paramsHeapJsonSize));
2022-02-09 21:55:17 +01:00
size_t halfBuffer = JSON_BUFFER_SIZE / 2;
if (settingsFlashJsonSize > halfBuffer || errorsHeapJsonSize > halfBuffer || paramsFlashJsonSize > halfBuffer || paramsHeapJsonSize > halfBuffer) {
2022-02-11 00:22:59 +01:00
SerialPrint(F("EE"), F("Json"), F("Insufficient buffer size!!!"));
2022-02-09 21:55:17 +01:00
jsonWriteInt(errorsHeapJson, "jsbuf", 1);
}
}