From b639de0dd78086966bafdb2d75b199280ced027e Mon Sep 17 00:00:00 2001 From: Miroslav Pivovarsky Date: Fri, 31 May 2024 22:28:06 +0200 Subject: [PATCH] update logs --- ESP32_PrusaConnectCam/camera.h | 7 +++---- ESP32_PrusaConnectCam/log.cpp | 35 ++++++++++++++++++-------------- ESP32_PrusaConnectCam/log.h | 1 + ESP32_PrusaConnectCam/mcu_cfg.h | 4 ++-- ESP32_PrusaConnectCam/micro_sd.h | 1 + ESP32_PrusaConnectCam/system.cpp | 22 ++++++++++---------- 6 files changed, 38 insertions(+), 32 deletions(-) diff --git a/ESP32_PrusaConnectCam/camera.h b/ESP32_PrusaConnectCam/camera.h index 3e17baf..4e36f1a 100644 --- a/ESP32_PrusaConnectCam/camera.h +++ b/ESP32_PrusaConnectCam/camera.h @@ -17,18 +17,17 @@ #include "img_converters.h" #include "soc/soc.h" #include "soc/rtc_cntl_reg.h" + #include "cfg.h" - #include "exif.h" -#include "FS.h" -#include "SD_MMC.h" - #include "Camera_cfg.h" #include "Arduino.h" #include "mcu_cfg.h" #include "var.h" #include "log.h" +class Configuration; + struct PhotoExifData_t { const uint8_t *header; size_t len; diff --git a/ESP32_PrusaConnectCam/log.cpp b/ESP32_PrusaConnectCam/log.cpp index de8ea36..adcd98d 100644 --- a/ESP32_PrusaConnectCam/log.cpp +++ b/ESP32_PrusaConnectCam/log.cpp @@ -23,6 +23,7 @@ Logs::Logs() { LogLevel = LogLevel_Verbose; FileMaxSize = 1024; NtpTimeSynced = false; + LogMsg = ""; } /** @@ -37,6 +38,7 @@ Logs::Logs(String i_FilePath, String i_FileName) { LogLevel = LogLevel_Verbose; FileMaxSize = 1024; NtpTimeSynced = false; + LogMsg = ""; } /** @@ -52,6 +54,7 @@ Logs::Logs(LogLevel_enum i_LogLevel, String i_FilePath, String i_FileName) { LogLevel = i_LogLevel; FileMaxSize = 1024; NtpTimeSynced = false; + LogMsg = ""; } /** @@ -67,6 +70,7 @@ Logs::Logs(String i_FilePath, String i_FileName, uint16_t i_FileSize) { LogLevel = LogLevel_Verbose; FileMaxSize = i_FileSize; NtpTimeSynced = false; + LogMsg = ""; } /** @@ -83,6 +87,7 @@ Logs::Logs(LogLevel_enum i_LogLevel, String i_FilePath, String i_FileName, uint1 LogLevel = i_LogLevel; FileMaxSize = i_FileSize; NtpTimeSynced = false; + LogMsg = ""; } /** @@ -104,19 +109,19 @@ void Logs::Init() { CheckMaxLogFileSize(); /* added first message to log file after start MCU */ - String msg = F("----------------------------------------------------------------\n"); - msg += F("Start MCU!\nSW Version: "); - msg += String(SW_VERSION); - msg += F(" ,Build: "); - msg += String(SW_BUILD); - msg += "\n"; - msg += F("Verbose mode: "); - msg += (true == CONSOLE_VERBOSE_DEBUG) ? "true" : "false"; - msg += "\n"; - msg += F("Log level: "); - msg += String(LogLevel); - msg += "\n"; - AppendFile(SD_MMC, FilePath + FileName, msg); + LogMsg = F("----------------------------------------------------------------\n"); + LogMsg += F("Start MCU!\nSW Version: "); + LogMsg += String(SW_VERSION); + LogMsg += F(" ,Build: "); + LogMsg += String(SW_BUILD); + LogMsg += "\n"; + LogMsg += F("Verbose mode: "); + LogMsg += (true == CONSOLE_VERBOSE_DEBUG) ? "true" : "false"; + LogMsg += "\n"; + LogMsg += F("Log level: "); + LogMsg += String(LogLevel); + LogMsg += "\n"; + AppendFile(SD_MMC, FilePath + FileName, LogMsg); } else { 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) { if (LogLevel >= level) { - String LogMsg = ""; + LogMsg = ""; if (true == date) { 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) { if (LogLevel >= level) { - String LogMsg = ""; + LogMsg = ""; if (true == date) { LogMsg += GetSystemTime(); diff --git a/ESP32_PrusaConnectCam/log.h b/ESP32_PrusaConnectCam/log.h index 014eb9d..edc95ea 100644 --- a/ESP32_PrusaConnectCam/log.h +++ b/ESP32_PrusaConnectCam/log.h @@ -32,6 +32,7 @@ private: String FilePath; ///< log file patch uint16_t FileMaxSize; ///< log file max size bool NtpTimeSynced; ///< status NTP time sync + String LogMsg; ///< log message public: Logs(); diff --git a/ESP32_PrusaConnectCam/mcu_cfg.h b/ESP32_PrusaConnectCam/mcu_cfg.h index 1f8cce0..a473cf3 100644 --- a/ESP32_PrusaConnectCam/mcu_cfg.h +++ b/ESP32_PrusaConnectCam/mcu_cfg.h @@ -44,10 +44,10 @@ #define STATUS_LED_ERROR 100 ///< time for blink status LED when is module in the error state [ms] /* ------------------- 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_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_WIFI_WATCHDOG 20000 ///< wifi watchdog task interval [ms] #define TASK_PHOTO_SEND 1000 ///< photo send task interval [ms] diff --git a/ESP32_PrusaConnectCam/micro_sd.h b/ESP32_PrusaConnectCam/micro_sd.h index a5e9705..49aad4d 100644 --- a/ESP32_PrusaConnectCam/micro_sd.h +++ b/ESP32_PrusaConnectCam/micro_sd.h @@ -41,6 +41,7 @@ private: uint32_t CardFreeMB; ///< Card free size uint8_t FreeSpacePercent; ///< Free space in percent uint8_t UsedSpacePercent; ///< Used space in percent + File file; ///< File object public: MicroSd(); diff --git a/ESP32_PrusaConnectCam/system.cpp b/ESP32_PrusaConnectCam/system.cpp index f5eca2e..1c79f2d 100644 --- a/ESP32_PrusaConnectCam/system.cpp +++ b/ESP32_PrusaConnectCam/system.cpp @@ -448,10 +448,10 @@ void System_TaskWifiManagement(void *pvParameters) { /* wifi reconnect after signal lost */ SystemWifiMngt.WiFiReconnect(); - SystemLog.AddEvent(LogLevel_Info, "Free RAM: " + String(ESP.getFreeHeap()) + " bytes"); - SystemLog.AddEvent(LogLevel_Info, "Free SPIRAM: " + String(ESP.getFreePsram()) + " bytes"); + SystemLog.AddEvent(LogLevel_Info, "Free RAM: " + String(ESP.getFreeHeap()) + " B"); + SystemLog.AddEvent(LogLevel_Info, "Free SPIRAM: " + String(ESP.getFreePsram()) + " B"); 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())); /* reset wdg */ @@ -476,7 +476,7 @@ void System_TaskMain(void *pvParameters) { /* for ota update */ esp_task_wdt_reset(); 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 */ esp_task_wdt_reset(); @@ -518,7 +518,7 @@ void System_TaskCaptureAndSendPhoto(void *pvParameters) { 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 */ esp_task_wdt_reset(); @@ -558,7 +558,7 @@ void System_TaskSdCardCheck(void *pvParameters) { 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 */ esp_task_wdt_reset(); @@ -581,7 +581,7 @@ void System_TaskSerialCfg(void *pvParameters) { while (1) { esp_task_wdt_reset(); 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 */ esp_task_wdt_reset(); @@ -603,7 +603,7 @@ void System_TaskStreamTelemetry(void *pvParameters) { while (1) { 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()) { 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()); @@ -633,7 +633,7 @@ void System_TaskSysLed(void *pvParameters) { system_led.toggle(); /* reset wdg */ 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 */ vTaskDelayUntil(&xLastWakeTime, system_led.getTimer() / portTICK_PERIOD_MS); @@ -653,7 +653,7 @@ void System_TaskWiFiWatchdog(void *pvParameters) { while (1) { esp_task_wdt_reset(); 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 */ 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 */ esp_task_wdt_reset();