mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
39 lines
1.6 KiB
C++
39 lines
1.6 KiB
C++
#include "PeriodicTasks.h"
|
|
|
|
void periodicTasksInit() {
|
|
//задачи редкого выполнения
|
|
ts.add(
|
|
PTASK, 1000 * 30, [&](void*) {
|
|
// heap
|
|
String heap = prettyBytes(ESP.getFreeHeap());
|
|
SerialPrint(F("i"), F("HEAP"), heap);
|
|
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);
|
|
}
|
|
|
|
void printGlobalVarSize() {
|
|
size_t settingsFlashJsonSize = settingsFlashJson.length();
|
|
SerialPrint(F("i"), F("settingsFlashJson"), String(settingsFlashJsonSize));
|
|
size_t errorsHeapJsonSize = errorsHeapJson.length();
|
|
SerialPrint(F("i"), F("settingsFlashJson"), String(errorsHeapJsonSize));
|
|
size_t paramsFlashJsonSize = paramsFlashJson.length();
|
|
SerialPrint(F("i"), F("settingsFlashJson"), String(paramsFlashJsonSize));
|
|
size_t paramsHeapJsonSize = paramsHeapJson.length();
|
|
SerialPrint(F("i"), F("settingsFlashJson"), String(paramsHeapJsonSize));
|
|
|
|
size_t halfBuffer = JSON_BUFFER_SIZE / 2;
|
|
|
|
if (settingsFlashJsonSize > halfBuffer || errorsHeapJsonSize > halfBuffer || paramsFlashJsonSize > halfBuffer || paramsHeapJsonSize > halfBuffer) {
|
|
SerialPrint(F("EE"), F("Json"), "Insufficient buffer size!!!");
|
|
jsonWriteInt(errorsHeapJson, "jsbuf", 1);
|
|
}
|
|
} |