update logs

pull/21/merge
Miroslav Pivovarsky 2024-05-31 22:28:06 +02:00
parent 583eee9745
commit b639de0dd7
6 changed files with 38 additions and 32 deletions

View File

@ -17,18 +17,17 @@
#include "img_converters.h" #include "img_converters.h"
#include "soc/soc.h" #include "soc/soc.h"
#include "soc/rtc_cntl_reg.h" #include "soc/rtc_cntl_reg.h"
#include "cfg.h" #include "cfg.h"
#include "exif.h" #include "exif.h"
#include "FS.h"
#include "SD_MMC.h"
#include "Camera_cfg.h" #include "Camera_cfg.h"
#include "Arduino.h" #include "Arduino.h"
#include "mcu_cfg.h" #include "mcu_cfg.h"
#include "var.h" #include "var.h"
#include "log.h" #include "log.h"
class Configuration;
struct PhotoExifData_t { struct PhotoExifData_t {
const uint8_t *header; const uint8_t *header;
size_t len; size_t len;

View File

@ -23,6 +23,7 @@ Logs::Logs() {
LogLevel = LogLevel_Verbose; LogLevel = LogLevel_Verbose;
FileMaxSize = 1024; FileMaxSize = 1024;
NtpTimeSynced = false; NtpTimeSynced = false;
LogMsg = "";
} }
/** /**
@ -37,6 +38,7 @@ Logs::Logs(String i_FilePath, String i_FileName) {
LogLevel = LogLevel_Verbose; LogLevel = LogLevel_Verbose;
FileMaxSize = 1024; FileMaxSize = 1024;
NtpTimeSynced = false; NtpTimeSynced = false;
LogMsg = "";
} }
/** /**
@ -52,6 +54,7 @@ Logs::Logs(LogLevel_enum i_LogLevel, String i_FilePath, String i_FileName) {
LogLevel = i_LogLevel; LogLevel = i_LogLevel;
FileMaxSize = 1024; FileMaxSize = 1024;
NtpTimeSynced = false; NtpTimeSynced = false;
LogMsg = "";
} }
/** /**
@ -67,6 +70,7 @@ Logs::Logs(String i_FilePath, String i_FileName, uint16_t i_FileSize) {
LogLevel = LogLevel_Verbose; LogLevel = LogLevel_Verbose;
FileMaxSize = i_FileSize; FileMaxSize = i_FileSize;
NtpTimeSynced = false; NtpTimeSynced = false;
LogMsg = "";
} }
/** /**
@ -83,6 +87,7 @@ Logs::Logs(LogLevel_enum i_LogLevel, String i_FilePath, String i_FileName, uint1
LogLevel = i_LogLevel; LogLevel = i_LogLevel;
FileMaxSize = i_FileSize; FileMaxSize = i_FileSize;
NtpTimeSynced = false; NtpTimeSynced = false;
LogMsg = "";
} }
/** /**
@ -104,19 +109,19 @@ void Logs::Init() {
CheckMaxLogFileSize(); CheckMaxLogFileSize();
/* added first message to log file after start MCU */ /* added first message to log file after start MCU */
String msg = F("----------------------------------------------------------------\n"); LogMsg = F("----------------------------------------------------------------\n");
msg += F("Start MCU!\nSW Version: "); LogMsg += F("Start MCU!\nSW Version: ");
msg += String(SW_VERSION); LogMsg += String(SW_VERSION);
msg += F(" ,Build: "); LogMsg += F(" ,Build: ");
msg += String(SW_BUILD); LogMsg += String(SW_BUILD);
msg += "\n"; LogMsg += "\n";
msg += F("Verbose mode: "); LogMsg += F("Verbose mode: ");
msg += (true == CONSOLE_VERBOSE_DEBUG) ? "true" : "false"; LogMsg += (true == CONSOLE_VERBOSE_DEBUG) ? "true" : "false";
msg += "\n"; LogMsg += "\n";
msg += F("Log level: "); LogMsg += F("Log level: ");
msg += String(LogLevel); LogMsg += String(LogLevel);
msg += "\n"; LogMsg += "\n";
AppendFile(SD_MMC, FilePath + FileName, msg); AppendFile(SD_MMC, FilePath + FileName, LogMsg);
} else { } else {
Serial.println(F("Micro-SD card not found! Disable logs")); Serial.println(F("Micro-SD card not found! Disable logs"));
@ -142,7 +147,7 @@ void Logs::SetLogLevel(LogLevel_enum level) {
*/ */
void Logs::AddEvent(LogLevel_enum level, String msg, bool newLine, bool date) { void Logs::AddEvent(LogLevel_enum level, String msg, bool newLine, bool date) {
if (LogLevel >= level) { if (LogLevel >= level) {
String LogMsg = ""; LogMsg = "";
if (true == date) { if (true == date) {
LogMsg += GetSystemTime(); LogMsg += GetSystemTime();
@ -174,7 +179,7 @@ void Logs::AddEvent(LogLevel_enum level, String msg, bool newLine, bool date) {
*/ */
void Logs::AddEvent(LogLevel_enum level, const __FlashStringHelper *msg, String parameters, bool newLine, bool date) { void Logs::AddEvent(LogLevel_enum level, const __FlashStringHelper *msg, String parameters, bool newLine, bool date) {
if (LogLevel >= level) { if (LogLevel >= level) {
String LogMsg = ""; LogMsg = "";
if (true == date) { if (true == date) {
LogMsg += GetSystemTime(); LogMsg += GetSystemTime();

View File

@ -32,6 +32,7 @@ private:
String FilePath; ///< log file patch String FilePath; ///< log file patch
uint16_t FileMaxSize; ///< log file max size uint16_t FileMaxSize; ///< log file max size
bool NtpTimeSynced; ///< status NTP time sync bool NtpTimeSynced; ///< status NTP time sync
String LogMsg; ///< log message
public: public:
Logs(); Logs();

View File

@ -44,10 +44,10 @@
#define STATUS_LED_ERROR 100 ///< time for blink status LED when is module in the error state [ms] #define STATUS_LED_ERROR 100 ///< time for blink status LED when is module in the error state [ms]
/* ------------------- TASKS --------------------*/ /* ------------------- TASKS --------------------*/
#define TASK_SYSTEM 1000 ///< system task interval [ms] #define TASK_SYSTEM 2000 ///< system task interval [ms]
#define TASK_SDCARD 30000 ///< sd card task interval [ms] #define TASK_SDCARD 30000 ///< sd card task interval [ms]
#define TASK_WIFI 30000 ///< wifi reconnect interval. Checking when is signal lost [ms] #define TASK_WIFI 30000 ///< wifi reconnect interval. Checking when is signal lost [ms]
#define TASK_SERIAL_CFG 1000 ///< serial cfg task interval [ms] #define TASK_SERIAL_CFG 2000 ///< serial cfg task interval [ms]
#define TASK_STREAM_TELEMETRY 30000 ///< stream telemetry task interval [ms] #define TASK_STREAM_TELEMETRY 30000 ///< stream telemetry task interval [ms]
#define TASK_WIFI_WATCHDOG 20000 ///< wifi watchdog task interval [ms] #define TASK_WIFI_WATCHDOG 20000 ///< wifi watchdog task interval [ms]
#define TASK_PHOTO_SEND 1000 ///< photo send task interval [ms] #define TASK_PHOTO_SEND 1000 ///< photo send task interval [ms]

View File

@ -41,6 +41,7 @@ private:
uint32_t CardFreeMB; ///< Card free size uint32_t CardFreeMB; ///< Card free size
uint8_t FreeSpacePercent; ///< Free space in percent uint8_t FreeSpacePercent; ///< Free space in percent
uint8_t UsedSpacePercent; ///< Used space in percent uint8_t UsedSpacePercent; ///< Used space in percent
File file; ///< File object
public: public:
MicroSd(); MicroSd();

View File

@ -448,10 +448,10 @@ void System_TaskWifiManagement(void *pvParameters) {
/* wifi reconnect after signal lost */ /* wifi reconnect after signal lost */
SystemWifiMngt.WiFiReconnect(); SystemWifiMngt.WiFiReconnect();
SystemLog.AddEvent(LogLevel_Info, "Free RAM: " + String(ESP.getFreeHeap()) + " bytes"); SystemLog.AddEvent(LogLevel_Info, "Free RAM: " + String(ESP.getFreeHeap()) + " B");
SystemLog.AddEvent(LogLevel_Info, "Free SPIRAM: " + String(ESP.getFreePsram()) + " bytes"); SystemLog.AddEvent(LogLevel_Info, "Free SPIRAM: " + String(ESP.getFreePsram()) + " B");
SystemLog.AddEvent(LogLevel_Info, "Temperature: " + String(temperatureRead()) + " *C"); SystemLog.AddEvent(LogLevel_Info, "Temperature: " + String(temperatureRead()) + " *C");
SystemLog.AddEvent(LogLevel_Verbose, F("WiFiManagement task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("WiFiManagement task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
SystemLog.AddEvent(LogLevel_Verbose, F("WiFi status: "), String(WiFi.status())); SystemLog.AddEvent(LogLevel_Verbose, F("WiFi status: "), String(WiFi.status()));
/* reset wdg */ /* reset wdg */
@ -476,7 +476,7 @@ void System_TaskMain(void *pvParameters) {
/* for ota update */ /* for ota update */
esp_task_wdt_reset(); esp_task_wdt_reset();
System_Main(); System_Main();
SystemLog.AddEvent(LogLevel_Verbose, F("System task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("System task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
@ -518,7 +518,7 @@ void System_TaskCaptureAndSendPhoto(void *pvParameters) {
Connect.IncreaseSendingIntervalCounter(); Connect.IncreaseSendingIntervalCounter();
} }
SystemLog.AddEvent(LogLevel_Verbose, F("Photo processing task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("Photo processing task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
@ -558,7 +558,7 @@ void System_TaskSdCardCheck(void *pvParameters) {
SystemLog.CheckMaxLogFileSize(); SystemLog.CheckMaxLogFileSize();
} }
SystemLog.AddEvent(LogLevel_Verbose, F("MicroSdCard task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("MicroSdCard task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
@ -581,7 +581,7 @@ void System_TaskSerialCfg(void *pvParameters) {
while (1) { while (1) {
esp_task_wdt_reset(); esp_task_wdt_reset();
SystemSerialCfg.ProcessIncommingData(); SystemSerialCfg.ProcessIncommingData();
SystemLog.AddEvent(LogLevel_Verbose, F("SerialCfg task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("SerialCfg task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
@ -603,7 +603,7 @@ void System_TaskStreamTelemetry(void *pvParameters) {
while (1) { while (1) {
esp_task_wdt_reset(); esp_task_wdt_reset();
SystemLog.AddEvent(LogLevel_Verbose, F("StreamTelemetry task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("StreamTelemetry task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
if (SystemCamera.GetStreamStatus()) { if (SystemCamera.GetStreamStatus()) {
char buf[80] = { '\0' }; char buf[80] = { '\0' };
sprintf(buf, "Stream, average data in %dsec. FPS: %.1f, Size: %uKB", (TASK_STREAM_TELEMETRY / SECOND_TO_MILISECOND), SystemCamera.StreamGetFrameAverageFps(), SystemCamera.StreamGetFrameAverageSize()); sprintf(buf, "Stream, average data in %dsec. FPS: %.1f, Size: %uKB", (TASK_STREAM_TELEMETRY / SECOND_TO_MILISECOND), SystemCamera.StreamGetFrameAverageFps(), SystemCamera.StreamGetFrameAverageSize());
@ -633,7 +633,7 @@ void System_TaskSysLed(void *pvParameters) {
system_led.toggle(); system_led.toggle();
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
SystemLog.AddEvent(LogLevel_Verbose, F("SystemLed task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("SystemLed task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* next start task */ /* next start task */
vTaskDelayUntil(&xLastWakeTime, system_led.getTimer() / portTICK_PERIOD_MS); vTaskDelayUntil(&xLastWakeTime, system_led.getTimer() / portTICK_PERIOD_MS);
@ -653,7 +653,7 @@ void System_TaskWiFiWatchdog(void *pvParameters) {
while (1) { while (1) {
esp_task_wdt_reset(); esp_task_wdt_reset();
SystemWifiMngt.WiFiWatchdog(); SystemWifiMngt.WiFiWatchdog();
SystemLog.AddEvent(LogLevel_Verbose, F("WiFiWatchdog task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("WiFiWatchdog task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();
@ -693,7 +693,7 @@ void System_TaskSdCardRemove(void *pvParameters) {
} }
} }
SystemLog.AddEvent(LogLevel_Verbose, F("MicroSdCard task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + " bytes"); SystemLog.AddEvent(LogLevel_Verbose, F("MicroSdCard task. Stack free size: "), String(uxTaskGetStackHighWaterMark(NULL)) + "B");
/* reset wdg */ /* reset wdg */
esp_task_wdt_reset(); esp_task_wdt_reset();