logging: Added timestamp and function to logging.

This commit is contained in:
RedHawk 2023-05-13 01:40:31 +03:00
parent ccce95abcd
commit c193de14a9
2 changed files with 14 additions and 9 deletions

View File

@ -37,8 +37,9 @@ extern "C"
{ {
Chip_SCT_Init (LPC_SCT1); Chip_SCT_Init (LPC_SCT1);
LPC_SCT1->CONFIG = SCT_CONFIG_32BIT_COUNTER; LPC_SCT1->CONFIG = SCT_CONFIG_32BIT_COUNTER;
LPC_SCT1->CTRL_U = SCT_CTRL_PRE_L (255) //LPC_SCT1->CTRL_U = SCT_CTRL_PRE_L (255)
| SCT_CTRL_CLRCTR_L; // set prescaler to 256 (255 + // | SCT_CTRL_CLRCTR_L; // set prescaler to 256 (255 +
// 1), and start timer // 1), and start timer
LPC_SCT1->CTRL_U = SCT_CTRL_CLRCTR_L;
} }
} }

View File

@ -46,8 +46,10 @@ extern QueueHandle_t logging_queue;
xQueueSend(logging_queue, (void*)message, portMAX_DELAY); \ xQueueSend(logging_queue, (void*)message, portMAX_DELAY); \
} }
static void create_log_line(const char * _status, static void create_log_line(const size_t _timestamp,
const char * _status,
const char * _location, const char * _location,
const char * _func,
const size_t _line, const size_t _line,
const char * _fmt, ...) const char * _fmt, ...)
{ {
@ -58,9 +60,11 @@ static void create_log_line(const char * _status,
va_end(args); va_end(args);
char buffer [LOG_BUFFER_MAX_CAP] = {0}; char buffer [LOG_BUFFER_MAX_CAP] = {0};
int buffer_len = snprintf(buffer, LOG_BUFFER_MAX_CAP, int buffer_len = snprintf(buffer, LOG_BUFFER_MAX_CAP,
"[%s] [File: %s] [Line: %d] %.*s", "[%zu]:[%s] In [File: %s] [Func: %s] [Line: %zu]\r\n %.*s",
_timestamp,
_status, _status,
_location, _location,
_func,
_line, _line,
message_len, message_len,
message); message);
@ -69,17 +73,17 @@ static void create_log_line(const char * _status,
} }
#define LOG_INFO( fmt, ...) \ #define LOG_INFO( fmt, ...) \
create_log_line(C_INFO, __FILE__, __LINE__, fmt, ##__VA_ARGS__); create_log_line(LPC_SCT1->COUNT_U, C_INFO, __FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__);
#define LOG_WARNING(fmt, ...) \ #define LOG_WARNING(fmt, ...) \
create_log_line(C_WARN, __FILE__, __LINE__, fmt, ##__VA_ARGS__); create_log_line(LPC_SCT1->COUNT_U, C_WARN, __FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__);
#define LOG_ERROR(fmt, ...) \ #define LOG_ERROR(fmt, ...) \
create_log_line(C_ERROR, __FILE__, __LINE__, fmt, ##__VA_ARGS__); create_log_line(LPC_SCT1->COUNT_U, C_ERROR, __FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__);
#if LOG_DEBUG_MESSAGES #if LOG_DEBUG_MESSAGES
#define LOG_DEBUG(fmt, ...) \ #define LOG_DEBUG(fmt, ...) \
create_log_line(C_DEBUG, __FILE__, __LINE__, fmt, ##__VA_ARGS__); create_log_line(LPC_SCT1->COUNT_U, C_DEBUG, __FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__);
#else #else
#define LOG_DEBUG(fmt, ...) #define LOG_DEBUG(fmt, ...)
#endif #endif