37 #ifndef DEBUG_PRINT_FILENAME_AND_LINE
38 #define DEBUG_PRINT_FILENAME_AND_LINE 0
48 #ifndef DEBUG_VERBOSE_LEVEL
49 #define DEBUG_VERBOSE_LEVEL INFO
53 #define debug_none(fmt, ...) \
62 #define MACROCAT2(x,y,z) x##y##z
63 #define MACROCONCAT(x,y,z) MACROCAT2(x,y,z)
64 #define MACROQUOT(x) #x
65 #define MACROQUOTE(x) MACROQUOT(x)
70 #if DEBUG_PRINT_FILENAME_AND_LINE
71 #define debug_e(fmt, ...) \
73 PSTR_ARRAY(fmtbuf, "[" MACROQUOTE(CUST_FILE_BASE) ":%d] " fmt "\r\n"); \
74 m_printf(fmtbuf, __LINE__, ##__VA_ARGS__); \
77 #define debug_e(fmt, ...) \
79 PSTR_ARRAY(fmtbuf, "%u " fmt "\r\n"); \
80 m_printf(fmtbuf, system_get_time(), ##__VA_ARGS__); \
87 #define debug_hex(_level, _tag, _data, _len, ...) \
89 if(DEBUG_VERBOSE_LEVEL >= _level) \
90 m_printHex(_F(_tag), _data, _len, ##__VA_ARGS__); \
93 #if DEBUG_VERBOSE_LEVEL == DBG
94 #define debug_w debug_e
95 #define debug_i debug_e
96 #define debug_d debug_e
97 #elif DEBUG_VERBOSE_LEVEL == INFO
98 #define debug_w debug_e
99 #define debug_i debug_e
100 #define debug_d debug_none
101 #elif DEBUG_VERBOSE_LEVEL == WARN
102 #define debug_w debug_e
103 #define debug_i debug_none
104 #define debug_d debug_none
106 #define debug_w debug_none
107 #define debug_i debug_none
108 #define debug_d debug_none
113 #define debug_e debug_none
114 #define debug_w debug_none
115 #define debug_i debug_none
116 #define debug_d debug_none
118 #define debug_hex(_level, _tag, _data, _len, ...) \
125 #define debugf(fmt, ...)
127 #define debugf debug_i
uint32_t system_get_time()