From aecf43fe4a26773060451de5d81530962256f5b3 Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Mon, 8 Dec 2025 10:40:43 -0600 Subject: [PATCH 1/3] feat(logger): Update to use `esp_log_timestamp` so that timestamp value matches ESP_LOG timestamps --- components/logger/CMakeLists.txt | 2 +- components/logger/example/CMakeLists.txt | 2 +- components/logger/include/logger.hpp | 14 +++++++++----- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/components/logger/CMakeLists.txt b/components/logger/CMakeLists.txt index 38b158bf5..124c2b2cc 100644 --- a/components/logger/CMakeLists.txt +++ b/components/logger/CMakeLists.txt @@ -1,6 +1,6 @@ if (ESP_PLATFORM) # set component requirements for ESP32 - set(COMPONENT_REQUIRES "format esp_timer") + set(COMPONENT_REQUIRES "format esp_timer log") else() # set component requirements for generic set(COMPONENT_REQUIRES "format") diff --git a/components/logger/example/CMakeLists.txt b/components/logger/example/CMakeLists.txt index 6e185082c..3ee70482f 100644 --- a/components/logger/example/CMakeLists.txt +++ b/components/logger/example/CMakeLists.txt @@ -12,7 +12,7 @@ set(EXTRA_COMPONENT_DIRS set( COMPONENTS - "main esptool_py logger" + "main esptool_py logger esp_vfs_console" CACHE STRING "List of components to include" ) diff --git a/components/logger/include/logger.hpp b/components/logger/include/logger.hpp index 0b3ed48e7..5ae4b94df 100644 --- a/components/logger/include/logger.hpp +++ b/components/logger/include/logger.hpp @@ -7,8 +7,12 @@ #include #if defined(ESP_PLATFORM) -#include +// include sdkconfig before the rest #include + +// esp-idf includes +#include +#include #endif #include "format.hpp" @@ -419,10 +423,10 @@ rate limit. @note Only calls that have _rate_limited suffixed will be rate limit */ static std::string get_time() { #if defined(ESP_PLATFORM) - // use esp_timer_get_time to get the time in microseconds - uint64_t time = esp_timer_get_time(); - uint64_t seconds = time / 1e6f; - uint64_t milliseconds = (time % 1000000) / 1e3f; + // use esp_log_timestamp to get the time in milliseconds + uint64_t time = esp_log_timestamp(); + uint64_t seconds = time / 1e3f; + uint64_t milliseconds = (time % 1'000); return fmt::format("{}.{:03}", seconds, milliseconds); #else // get the elapsed time since the start of the logging system as floating From 345c483d9b3dec3d410240bc9e3053bb5046516f Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Mon, 8 Dec 2025 10:47:48 -0600 Subject: [PATCH 2/3] add note about esp32s2 --- components/logger/example/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/logger/example/CMakeLists.txt b/components/logger/example/CMakeLists.txt index 3ee70482f..02b5e6cde 100644 --- a/components/logger/example/CMakeLists.txt +++ b/components/logger/example/CMakeLists.txt @@ -12,6 +12,8 @@ set(EXTRA_COMPONENT_DIRS set( COMPONENTS + # NOTE: we add esp_vfs_console to be able to see the log output on the console + # if we are running on ESP32-S2 and have enabled USB-CDC console output "main esptool_py logger esp_vfs_console" CACHE STRING "List of components to include" From 6c4e63252838f2d6f7dea5d0d8630096b9de7042 Mon Sep 17 00:00:00 2001 From: William Emfinger Date: Mon, 8 Dec 2025 10:48:19 -0600 Subject: [PATCH 3/3] switch fp to int div --- components/logger/include/logger.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/logger/include/logger.hpp b/components/logger/include/logger.hpp index 5ae4b94df..05a338f00 100644 --- a/components/logger/include/logger.hpp +++ b/components/logger/include/logger.hpp @@ -425,7 +425,7 @@ rate limit. @note Only calls that have _rate_limited suffixed will be rate limit #if defined(ESP_PLATFORM) // use esp_log_timestamp to get the time in milliseconds uint64_t time = esp_log_timestamp(); - uint64_t seconds = time / 1e3f; + uint64_t seconds = time / 1'000; uint64_t milliseconds = (time % 1'000); return fmt::format("{}.{:03}", seconds, milliseconds); #else