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, ...) \ 60 #define MACROCAT2(x,y,z) x##y##z 61 #define MACROCONCAT(x,y,z) MACROCAT2(x,y,z) 62 #define MACROQUOT(x) #x 63 #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()