diff options
Diffstat (limited to 'tmk_core/common/debug.h')
-rw-r--r-- | tmk_core/common/debug.h | 173 |
1 files changed, 114 insertions, 59 deletions
diff --git a/tmk_core/common/debug.h b/tmk_core/common/debug.h index 3cbe2092d..f9d611bb0 100644 --- a/tmk_core/common/debug.h +++ b/tmk_core/common/debug.h | |||
@@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
21 | #include <stdbool.h> | 21 | #include <stdbool.h> |
22 | #include "print.h" | 22 | #include "print.h" |
23 | 23 | ||
24 | |||
25 | #ifdef __cplusplus | 24 | #ifdef __cplusplus |
26 | extern "C" { | 25 | extern "C" { |
27 | #endif | 26 | #endif |
@@ -31,11 +30,11 @@ extern "C" { | |||
31 | */ | 30 | */ |
32 | typedef union { | 31 | typedef union { |
33 | struct { | 32 | struct { |
34 | bool enable:1; | 33 | bool enable : 1; |
35 | bool matrix:1; | 34 | bool matrix : 1; |
36 | bool keyboard:1; | 35 | bool keyboard : 1; |
37 | bool mouse:1; | 36 | bool mouse : 1; |
38 | uint8_t reserved:4; | 37 | uint8_t reserved : 4; |
39 | }; | 38 | }; |
40 | uint8_t raw; | 39 | uint8_t raw; |
41 | } debug_config_t; | 40 | } debug_config_t; |
@@ -47,70 +46,126 @@ extern debug_config_t debug_config; | |||
47 | #endif | 46 | #endif |
48 | 47 | ||
49 | /* for backward compatibility */ | 48 | /* for backward compatibility */ |
50 | #define debug_enable (debug_config.enable) | 49 | #define debug_enable (debug_config.enable) |
51 | #define debug_matrix (debug_config.matrix) | 50 | #define debug_matrix (debug_config.matrix) |
52 | #define debug_keyboard (debug_config.keyboard) | 51 | #define debug_keyboard (debug_config.keyboard) |
53 | #define debug_mouse (debug_config.mouse) | 52 | #define debug_mouse (debug_config.mouse) |
54 | |||
55 | 53 | ||
56 | /* | 54 | /* |
57 | * Debug print utils | 55 | * Debug print utils |
58 | */ | 56 | */ |
59 | #ifndef NO_DEBUG | 57 | #ifndef NO_DEBUG |
60 | 58 | ||
61 | #define dprint(s) do { if (debug_enable) print(s); } while (0) | 59 | # define dprint(s) \ |
62 | #define dprintln(s) do { if (debug_enable) println(s); } while (0) | 60 | do { \ |
63 | #define dprintf(fmt, ...) do { if (debug_enable) xprintf(fmt, ##__VA_ARGS__); } while (0) | 61 | if (debug_enable) print(s); \ |
64 | #define dmsg(s) dprintf("%s at %s: %S\n", __FILE__, __LINE__, PSTR(s)) | 62 | } while (0) |
63 | # define dprintln(s) \ | ||
64 | do { \ | ||
65 | if (debug_enable) println(s); \ | ||
66 | } while (0) | ||
67 | # define dprintf(fmt, ...) \ | ||
68 | do { \ | ||
69 | if (debug_enable) xprintf(fmt, ##__VA_ARGS__); \ | ||
70 | } while (0) | ||
71 | # define dmsg(s) dprintf("%s at %s: %S\n", __FILE__, __LINE__, PSTR(s)) | ||
65 | 72 | ||
66 | /* Deprecated. DO NOT USE these anymore, use dprintf instead. */ | 73 | /* Deprecated. DO NOT USE these anymore, use dprintf instead. */ |
67 | #define debug(s) do { if (debug_enable) print(s); } while (0) | 74 | # define debug(s) \ |
68 | #define debugln(s) do { if (debug_enable) println(s); } while (0) | 75 | do { \ |
69 | #define debug_msg(s) do { \ | 76 | if (debug_enable) print(s); \ |
70 | if (debug_enable) { \ | 77 | } while (0) |
71 | print(__FILE__); print(" at "); print_dec(__LINE__); print(" in "); print(": "); print(s); \ | 78 | # define debugln(s) \ |
72 | } \ | 79 | do { \ |
73 | } while (0) | 80 | if (debug_enable) println(s); \ |
74 | #define debug_dec(data) do { if (debug_enable) print_dec(data); } while (0) | 81 | } while (0) |
75 | #define debug_decs(data) do { if (debug_enable) print_decs(data); } while (0) | 82 | # define debug_msg(s) \ |
76 | #define debug_hex4(data) do { if (debug_enable) print_hex4(data); } while (0) | 83 | do { \ |
77 | #define debug_hex8(data) do { if (debug_enable) print_hex8(data); } while (0) | 84 | if (debug_enable) { \ |
78 | #define debug_hex16(data) do { if (debug_enable) print_hex16(data); } while (0) | 85 | print(__FILE__); \ |
79 | #define debug_hex32(data) do { if (debug_enable) print_hex32(data); } while (0) | 86 | print(" at "); \ |
80 | #define debug_bin8(data) do { if (debug_enable) print_bin8(data); } while (0) | 87 | print_dec(__LINE__); \ |
81 | #define debug_bin16(data) do { if (debug_enable) print_bin16(data); } while (0) | 88 | print(" in "); \ |
82 | #define debug_bin32(data) do { if (debug_enable) print_bin32(data); } while (0) | 89 | print(": "); \ |
83 | #define debug_bin_reverse8(data) do { if (debug_enable) print_bin_reverse8(data); } while (0) | 90 | print(s); \ |
84 | #define debug_bin_reverse16(data) do { if (debug_enable) print_bin_reverse16(data); } while (0) | 91 | } \ |
85 | #define debug_bin_reverse32(data) do { if (debug_enable) print_bin_reverse32(data); } while (0) | 92 | } while (0) |
86 | #define debug_hex(data) debug_hex8(data) | 93 | # define debug_dec(data) \ |
87 | #define debug_bin(data) debug_bin8(data) | 94 | do { \ |
88 | #define debug_bin_reverse(data) debug_bin8(data) | 95 | if (debug_enable) print_dec(data); \ |
96 | } while (0) | ||
97 | # define debug_decs(data) \ | ||
98 | do { \ | ||
99 | if (debug_enable) print_decs(data); \ | ||
100 | } while (0) | ||
101 | # define debug_hex4(data) \ | ||
102 | do { \ | ||
103 | if (debug_enable) print_hex4(data); \ | ||
104 | } while (0) | ||
105 | # define debug_hex8(data) \ | ||
106 | do { \ | ||
107 | if (debug_enable) print_hex8(data); \ | ||
108 | } while (0) | ||
109 | # define debug_hex16(data) \ | ||
110 | do { \ | ||
111 | if (debug_enable) print_hex16(data); \ | ||
112 | } while (0) | ||
113 | # define debug_hex32(data) \ | ||
114 | do { \ | ||
115 | if (debug_enable) print_hex32(data); \ | ||
116 | } while (0) | ||
117 | # define debug_bin8(data) \ | ||
118 | do { \ | ||
119 | if (debug_enable) print_bin8(data); \ | ||
120 | } while (0) | ||
121 | # define debug_bin16(data) \ | ||
122 | do { \ | ||
123 | if (debug_enable) print_bin16(data); \ | ||
124 | } while (0) | ||
125 | # define debug_bin32(data) \ | ||
126 | do { \ | ||
127 | if (debug_enable) print_bin32(data); \ | ||
128 | } while (0) | ||
129 | # define debug_bin_reverse8(data) \ | ||
130 | do { \ | ||
131 | if (debug_enable) print_bin_reverse8(data); \ | ||
132 | } while (0) | ||
133 | # define debug_bin_reverse16(data) \ | ||
134 | do { \ | ||
135 | if (debug_enable) print_bin_reverse16(data); \ | ||
136 | } while (0) | ||
137 | # define debug_bin_reverse32(data) \ | ||
138 | do { \ | ||
139 | if (debug_enable) print_bin_reverse32(data); \ | ||
140 | } while (0) | ||
141 | # define debug_hex(data) debug_hex8(data) | ||
142 | # define debug_bin(data) debug_bin8(data) | ||
143 | # define debug_bin_reverse(data) debug_bin8(data) | ||
89 | 144 | ||
90 | #else /* NO_DEBUG */ | 145 | #else /* NO_DEBUG */ |
91 | 146 | ||
92 | #define dprint(s) | 147 | # define dprint(s) |
93 | #define dprintln(s) | 148 | # define dprintln(s) |
94 | #define dprintf(fmt, ...) | 149 | # define dprintf(fmt, ...) |
95 | #define dmsg(s) | 150 | # define dmsg(s) |
96 | #define debug(s) | 151 | # define debug(s) |
97 | #define debugln(s) | 152 | # define debugln(s) |
98 | #define debug_msg(s) | 153 | # define debug_msg(s) |
99 | #define debug_dec(data) | 154 | # define debug_dec(data) |
100 | #define debug_decs(data) | 155 | # define debug_decs(data) |
101 | #define debug_hex4(data) | 156 | # define debug_hex4(data) |
102 | #define debug_hex8(data) | 157 | # define debug_hex8(data) |
103 | #define debug_hex16(data) | 158 | # define debug_hex16(data) |
104 | #define debug_hex32(data) | 159 | # define debug_hex32(data) |
105 | #define debug_bin8(data) | 160 | # define debug_bin8(data) |
106 | #define debug_bin16(data) | 161 | # define debug_bin16(data) |
107 | #define debug_bin32(data) | 162 | # define debug_bin32(data) |
108 | #define debug_bin_reverse8(data) | 163 | # define debug_bin_reverse8(data) |
109 | #define debug_bin_reverse16(data) | 164 | # define debug_bin_reverse16(data) |
110 | #define debug_bin_reverse32(data) | 165 | # define debug_bin_reverse32(data) |
111 | #define debug_hex(data) | 166 | # define debug_hex(data) |
112 | #define debug_bin(data) | 167 | # define debug_bin(data) |
113 | #define debug_bin_reverse(data) | 168 | # define debug_bin_reverse(data) |
114 | 169 | ||
115 | #endif /* NO_DEBUG */ | 170 | #endif /* NO_DEBUG */ |
116 | 171 | ||