From f193f788999cbbca0ef343df0e0cf56ac616fb04 Mon Sep 17 00:00:00 2001 From: Arun Padakanti Date: Wed, 21 Feb 2024 22:35:04 +0530 Subject: [PATCH] Made changes to get logs on uart port --- examples/platform/silabs/SiWx917/BUILD.gn | 4 ++++ src/platform/silabs/Logging.cpp | 11 +++++++++-- third_party/silabs/SiWx917_sdk.gni | 7 +++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/examples/platform/silabs/SiWx917/BUILD.gn b/examples/platform/silabs/SiWx917/BUILD.gn index bbfeee1fa679e1..61d5c349119a55 100644 --- a/examples/platform/silabs/SiWx917/BUILD.gn +++ b/examples/platform/silabs/SiWx917/BUILD.gn @@ -241,6 +241,10 @@ source_set("siwx917-common") { public_deps += [ "${chip_root}/examples/common/QRCode" ] } + if (sl_uart_log_output) { + sources += [ "${silabs_common_plat_dir}/SiWx917/uart.cpp" ] + } + if (enable_heap_monitoring) { sources += [ "${silabs_common_plat_dir}/MemMonitoring.cpp" ] } diff --git a/src/platform/silabs/Logging.cpp b/src/platform/silabs/Logging.cpp index 353c6473cc58a9..7b47d14ea26a08 100644 --- a/src/platform/silabs/Logging.cpp +++ b/src/platform/silabs/Logging.cpp @@ -55,6 +55,7 @@ #endif #if SILABS_LOG_OUT_UART +#include "rsi_debug.h" #include "uart.h" #endif @@ -135,12 +136,18 @@ static void PrintLog(const char * msg) sz = strlen(msg); #if SILABS_LOG_OUT_UART - uartLogWrite(msg, sz); + for (/* Empty */; sz != 0; --sz) + { + Board_UARTPutChar(*msg++); + } + // To print next log in new line with proper formatting + Board_UARTPutChar('\r'); + Board_UARTPutChar('\n'); #elif PW_RPC_ENABLED PigweedLogger::putString(msg, sz); #else SEGGER_RTT_WriteNoLock(LOG_RTT_BUFFER_INDEX, msg, sz); -#endif +#endif // SILABS_LOG_OUT_UART #if SILABS_LOG_OUT_RTT || PW_RPC_ENABLED const char * newline = "\r\n"; diff --git a/third_party/silabs/SiWx917_sdk.gni b/third_party/silabs/SiWx917_sdk.gni index f3bf92d768d543..0853c0304a8b61 100644 --- a/third_party/silabs/SiWx917_sdk.gni +++ b/third_party/silabs/SiWx917_sdk.gni @@ -282,6 +282,13 @@ template("siwx917_sdk") { } } + if (sl_uart_log_output) { + defines += [ + "SILABS_LOG_OUT_UART=1", + "SILABS_LOG_OUT_RTT=0", + ] + } + if (chip_build_libshell) { # matter shell defines += [ "ENABLE_CHIP_SHELL" ] }