From 46c4dc8925b2833a1f19c686b213aeff30613447 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 31 Mar 2024 15:22:18 +0200 Subject: [PATCH] decrease sync time for log - Fix missing log entries in web #1652 --- pio_local.ini_example | 10 ++++++---- src/system.cpp | 5 +++++ src/system.h | 6 +++++- src/web/WebLogService.h | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/pio_local.ini_example b/pio_local.ini_example index 451ef3d5d..d111668b4 100644 --- a/pio_local.ini_example +++ b/pio_local.ini_example @@ -10,11 +10,13 @@ ; -DEMSESP_TEST ; enable the tests. EN language only ; -DEMSESP_DE_ONLY ; only DE translated entity names ; -DEMSESP_EN_ONLY ; only EN translated entity names +; -DEMSESP_PINGTEST ; send log message every 1/2 second ; my_build_flags = -DEMSESP_TEST ; my_build_flags = -DEMSESP_DEBUG -DEMSESP_TEST +; my_build_flags = -DEMSESP_DEBUG -DEMSESP_TEST -DEMSESP_PINGTEST [platformio] -; default_envs = esp32_4M +default_envs = esp32_4M ; default_envs = esp32_16M ; default_envs = lolin_s3 ; default_envs = standalone @@ -32,13 +34,13 @@ ; upload_port = /dev/ttyUSB* ; upload_port = COM5 extra_scripts = -; pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time + pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time scripts/rename_fw.py [env:esp32_16M] [env:custom] -; use for baisc ESP boards with 4MB flash +; use for basic ESP boards with 4MB flash ; make sure -D TASMOTA_SDK is also enabled platform = https://github.com/tasmota/platform-espressif32/releases/download/2024.01.00/platform-espressif32.zip ; use for S3 boards: @@ -76,7 +78,7 @@ build_flags = [env:lolin_s3] upload_port = /dev/ttyUSB0 extra_scripts = -; pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time + pre:scripts/build_interface.py ; comment out if you don't want to re-build the WebUI each time scripts/rename_fw.py ; pio run -e debug diff --git a/src/system.cpp b/src/system.cpp index a60364103..b30a64293 100644 --- a/src/system.cpp +++ b/src/system.cpp @@ -752,6 +752,11 @@ void System::system_check() { if (!last_system_check_ || ((uint32_t)(uuid::get_uptime() - last_system_check_) >= SYSTEM_CHECK_FREQUENCY)) { last_system_check_ = uuid::get_uptime(); +#ifdef EMSESP_PINGTEST + static uint64_t ping_count = 0; + LOG_NOTICE("Ping test, #%d", ping_count++); +#endif + // check if we have a valid network connection if (!ethernet_connected() && (WiFi.status() != WL_CONNECTED)) { healthcheck_ |= HEALTHCHECK_NO_NETWORK; diff --git a/src/system.h b/src/system.h index 99f90bd04..8ccbd4ee9 100644 --- a/src/system.h +++ b/src/system.h @@ -281,7 +281,11 @@ class System { static constexpr uint32_t BUTTON_VLongPressDelay = 9000; // Hold period for a very long press event (in ms) // healthcheck - static constexpr uint32_t SYSTEM_CHECK_FREQUENCY = 5000; // do a system check every 5 seconds +#ifdef EMSESP_PINGTEST + static constexpr uint32_t SYSTEM_CHECK_FREQUENCY = 500; // do a system check every 1/2 second +#else + static constexpr uint32_t SYSTEM_CHECK_FREQUENCY = 5000; // do a system check every 5 seconds +#endif static constexpr uint32_t HEALTHCHECK_LED_LONG_DUARATION = 1500; static constexpr uint32_t HEALTHCHECK_LED_FLASH_DUARATION = 150; static constexpr uint8_t HEALTHCHECK_NO_BUS = (1 << 0); // 1 diff --git a/src/web/WebLogService.h b/src/web/WebLogService.h index c08e1b249..68f77c3cf 100644 --- a/src/web/WebLogService.h +++ b/src/web/WebLogService.h @@ -28,7 +28,7 @@ namespace emsesp { class WebLogService : public uuid::log::Handler { public: static constexpr size_t MAX_LOG_MESSAGES = 50; - static constexpr size_t REFRESH_SYNC = 80; + static constexpr size_t REFRESH_SYNC = 30; WebLogService(AsyncWebServer * server, SecurityManager * securityManager);