This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Log to serial port

Hello,

I'm using zephyr logging APIs to print to serial port. If I log too quickly the output is not correct. Running the code below I get

[00:00:00.626,464] <inf>[00:00:00.652,008] <inf> main: IMEI: 123456789012345

instead of 3 lines. If I add the sleeps the output is correct. What am I missing?

Fullscreen
1
2
3
4
5
6
7
8
9
10
// k_sleep(K_MSEC(50)); LOG_INF("FW Version: %s", log_strdup(fw_version));
char modem_version[MODEM_INFO_MAX_RESPONSE_SIZE] = {0};
modem_info_string_get(MODEM_INFO_FW_VERSION, modem_version);
// k_sleep(K_MSEC(50));
LOG_INF("Modem Version: %s", log_strdup(modem_version));
char imei[MODEM_INFO_MAX_RESPONSE_SIZE] = {0};
modem_info_string_get(MODEM_INFO_IMEI, imei);
// k_sleep(K_MSEC(50));
LOG_INF("IMEI: %s", log_strdup(imei));
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

prj.conf

CONFIG_LOG=y
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LOG_BACKEND_FORMAT_TIMESTAMP=y
CONFIG_LOG_BACKEND_SHOW_COLOR=y
CONFIG_LOG_STRDUP_BUF_COUNT=32
CONFIG_LOG_IMMEDIATE=y
CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD=1
CONFIG_LOG_BUFFER_SIZE=32768

Thanks,

Andrea