AKOS  v1.0.0
Documentation
Loading...
Searching...
No Matches
log.h
Go to the documentation of this file.
1/****************************************************************************/
12
13#ifndef LOG_H
14#define LOG_H
15
16#include <stdio.h>
17#include "config.h"
18
19#define KNRM "\x1B[0m"
20#define KRED "\x1B[31m"
21#define KGRN "\x1B[32m"
22#define KYEL "\x1B[33m"
23#define KBLU "\x1B[34m"
24#define KMAG "\x1B[35m"
25#define KCYN "\x1B[36m"
26#define KWHT "\x1B[37m"
27
28#define LOG_DBG_EN (1u)
29#define LOG_WARN_EN (1u)
30#define LOG_PRINT_EN (1u)
31#define LOG_ERROR_EN (1u)
32#define LOG_ASSERT_EN (1u)
33#define LOG_SIG_EN (1u)
34
35#ifndef USER_PRINT
36#define USER_PRINT(fmt, ...) OS_CFG_USER_PRINT((const char*)fmt, ##__VA_ARGS__)
37#endif
38
39#if ( LOG_DBG_EN & OS_CFG_USE_LOG ) == 1
40#define LOG_DBG(fmt, ...) USER_PRINT(KBLU "[DEBUG: %s:%d] " KYEL fmt KNRM "\r\n", (uint8_t *)__FILE__, __LINE__, ##__VA_ARGS__)
41#else
42#define LOG_DBG(fmt, ...) ((void*)0)
43#endif
44
45#if ( LOG_WARN_EN & OS_CFG_USE_LOG ) == 1
46#define LOG_WARN(fmt, ...) USER_PRINT(KYEL "[WARN: %s:%d] " KNRM fmt KNRM "\r\n", (uint8_t *)__FILE__, __LINE__, ##__VA_ARGS__)
47#else
48#define LOG_WARN(fmt, ...) ((void*)0)
49#endif
50
51#if ( LOG_PRINT_EN & OS_CFG_USE_LOG ) == 1
52#define LOG_PRINT(fmt, ...) USER_PRINT("[PRINTLN] " fmt "\r\n", ##__VA_ARGS__)
53#else
54#define LOG_PRINT(fmt, ...) ((void*)0)
55#endif
56
57#if ( LOG_ERROR_EN & OS_CFG_USE_LOG ) == 1
58#define LOG_ERROR(fmt, ...) USER_PRINT(KRED "[ERROR: %s:%d] " fmt KNRM "\r\n", (uint8_t *)__FILE__, __LINE__, ##__VA_ARGS__)
59#else
60#define LOG_ERROR(fmt, ...) ((void*)0)
61#endif
62
63#if ( LOG_ASSERT_EN & OS_CFG_USE_LOG ) == 1
64#define LOG_ASSERT(fmt, ...) USER_PRINT(KRED "[ASSERT FAILED: %s:%d] " fmt KNRM "\r\n", (uint8_t *)__FILE__, __LINE__, ##__VA_ARGS__)
65#else
66#define LOG_ASSERT(fmt, ...) ((void*)0)
67#endif
68
69#if ( LOG_SIG_EN & OS_CFG_USE_LOG ) == 1
70#define LOG_SIG(fmt, ...) USER_PRINT(KGRN "[SIGNAL: %s:%d] " KMAG fmt KNRM "\r\n", (uint8_t *)__FILE__, __LINE__, ##__VA_ARGS__)
71#else
72#define LOG_SIG(fmt, ...) ((void*)0)
73#endif
74
75#endif /* LOG_H */
Build-time configuration macros for AK-mOS.