From d86cc50caf90bc157e85f775ebe3470b772d8cce Mon Sep 17 00:00:00 2001 From: Kilian Bracher Date: Tue, 20 May 2025 01:14:57 +0200 Subject: [PATCH] hopefully fix log messages --- AMS_Master_Code/Core/Lib/logger/isotp_log_backend.c | 8 +++++--- AMS_Master_Code/Core/Lib/logger/log.h | 2 +- AMS_Master_Code/Core/Src/main.c | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/AMS_Master_Code/Core/Lib/logger/isotp_log_backend.c b/AMS_Master_Code/Core/Lib/logger/isotp_log_backend.c index 3913c84..1431175 100644 --- a/AMS_Master_Code/Core/Lib/logger/isotp_log_backend.c +++ b/AMS_Master_Code/Core/Lib/logger/isotp_log_backend.c @@ -28,7 +28,7 @@ static bool buffer_message(const log_message_t* message) { if (message == NULL || message->message_length == 0) { return false; } - + /* Check if we have enough space - select the appropriate buffer */ uint32_t* write_pos = using_buffer_2 ? &message_buffer.write_pos_2 : &message_buffer.write_pos; @@ -145,8 +145,10 @@ static void isotp_backend_write(const log_message_t *message) { /* Process buffered log messages and send them via ISO-TP */ void isotp_log_process(void) { - /* Process ISO-TP updates to send any pending messages */ - isotp_update(); + /* Check if we have data to send */ + if (message_buffer.write_pos > 0 || message_buffer.write_pos_2 > 0) { + isotp_backend_flush(); + } } /* Flush the ISO-TP backend */ diff --git a/AMS_Master_Code/Core/Lib/logger/log.h b/AMS_Master_Code/Core/Lib/logger/log.h index 0e2c2ef..a1c0818 100644 --- a/AMS_Master_Code/Core/Lib/logger/log.h +++ b/AMS_Master_Code/Core/Lib/logger/log.h @@ -17,7 +17,7 @@ /* Configuration */ #define MAX_MESSAGE_LENGTH 384 -#define USE_ANSI_ESCAPE_CODES true // if true, log messages will be colored according to their log level +#define USE_ANSI_ESCAPE_CODES false // if true, log messages will be colored according to their log level #define PRINT_TIMESTAMP false // if true, timestamp (from HAL_GetTick) is printed before each log message /* Maximum number of backends that can be registered */ diff --git a/AMS_Master_Code/Core/Src/main.c b/AMS_Master_Code/Core/Src/main.c index 94c9025..fa62822 100644 --- a/AMS_Master_Code/Core/Src/main.c +++ b/AMS_Master_Code/Core/Src/main.c @@ -217,6 +217,7 @@ int main(void) int error_count = 0; while (1) { + isotp_log_process(); isotp_update(); //left over from slave communication test, could be nicer and in an additional function !! if (error_count > 25) {