diff options
| -rw-r--r-- | common/debug.h | 112 | ||||
| -rw-r--r-- | common/debug_config.h | 52 | ||||
| -rw-r--r-- | common/nodebug.h | 28 |
3 files changed, 87 insertions, 105 deletions
diff --git a/common/debug.h b/common/debug.h index 8ca2569a4..26472c8fa 100644 --- a/common/debug.h +++ b/common/debug.h | |||
| @@ -19,44 +19,100 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 19 | #define DEBUG_H 1 | 19 | #define DEBUG_H 1 |
| 20 | 20 | ||
| 21 | #include "print.h" | 21 | #include "print.h" |
| 22 | #include "debug_config.h" | ||
| 23 | 22 | ||
| 24 | 23 | ||
| 24 | /* | ||
| 25 | * Debug output control | ||
| 26 | */ | ||
| 27 | #ifdef __cplusplus | ||
| 28 | extern "C" { | ||
| 29 | #endif | ||
| 30 | |||
| 31 | typedef union { | ||
| 32 | uint8_t raw; | ||
| 33 | struct { | ||
| 34 | bool enable:1; | ||
| 35 | bool matrix:1; | ||
| 36 | bool keyboard:1; | ||
| 37 | bool mouse:1; | ||
| 38 | uint8_t reserved:4; | ||
| 39 | }; | ||
| 40 | } debug_config_t; | ||
| 41 | |||
| 42 | extern debug_config_t debug_config; | ||
| 43 | debug_config_t debug_config __attribute__ ((weak)) = {}; | ||
| 44 | |||
| 45 | #ifdef __cplusplus | ||
| 46 | } | ||
| 47 | #endif | ||
| 48 | |||
| 49 | #define debug_enable (debug_config.enable) | ||
| 50 | #define debug_matrix (debug_config.matrix) | ||
| 51 | #define debug_keyboard (debug_config.keyboard) | ||
| 52 | #define debug_mouse (debug_config.mouse) | ||
| 53 | |||
| 54 | |||
| 55 | |||
| 56 | /* | ||
| 57 | * Debug print utils | ||
| 58 | */ | ||
| 25 | #ifndef NO_DEBUG | 59 | #ifndef NO_DEBUG |
| 26 | 60 | ||
| 27 | #define dprint(s) do { if (debug_enable) print(s); } while (0) | 61 | #define dprint(s) do { if (debug_enable) print(s); } while (0) |
| 28 | #define dprintln(s) do { if (debug_enable) println(s); } while (0) | 62 | #define dprintln(s) do { if (debug_enable) println(s); } while (0) |
| 29 | #define dprintf(fmt, ...) do { if (debug_enable) xprintf(fmt, ##__VA_ARGS__); } while (0) | 63 | #define dprintf(fmt, ...) do { if (debug_enable) xprintf(fmt, ##__VA_ARGS__); } while (0) |
| 30 | #define dmsg(s) dprintf("%s at %s: %S\n", __FILE__, __LINE__, PSTR(s)) | 64 | #define dmsg(s) dprintf("%s at %s: %S\n", __FILE__, __LINE__, PSTR(s)) |
| 31 | 65 | ||
| 32 | /* DO NOT USE these anymore */ | 66 | /* Deprecated. DO NOT USE these anymore, use dprintf instead. */ |
| 33 | #define debug(s) do { if (debug_enable) print(s); } while (0) | 67 | #define debug(s) do { if (debug_enable) print(s); } while (0) |
| 34 | #define debugln(s) do { if (debug_enable) println(s); } while (0) | 68 | #define debugln(s) do { if (debug_enable) println(s); } while (0) |
| 35 | #define debug_S(s) do { if (debug_enable) print_S(s); } while (0) | 69 | #define debug_msg(s) do { \ |
| 36 | #define debug_P(s) do { if (debug_enable) print_P(s); } while (0) | ||
| 37 | #define debug_msg(s) do { \ | ||
| 38 | if (debug_enable) { \ | 70 | if (debug_enable) { \ |
| 39 | print(__FILE__); print(" at "); print_dec(__LINE__); print(" in "); print(": "); print(s); \ | 71 | print(__FILE__); print(" at "); print_dec(__LINE__); print(" in "); print(": "); print(s); \ |
| 40 | } \ | 72 | } \ |
| 41 | } while (0) | 73 | } while (0) |
| 42 | #define debug_dec(data) do { if (debug_enable) print_dec(data); } while (0) | 74 | #define debug_dec(data) do { if (debug_enable) print_dec(data); } while (0) |
| 43 | #define debug_decs(data) do { if (debug_enable) print_decs(data); } while (0) | 75 | #define debug_decs(data) do { if (debug_enable) print_decs(data); } while (0) |
| 44 | #define debug_hex4(data) do { if (debug_enable) print_hex4(data); } while (0) | 76 | #define debug_hex4(data) do { if (debug_enable) print_hex4(data); } while (0) |
| 45 | #define debug_hex8(data) do { if (debug_enable) print_hex8(data); } while (0) | 77 | #define debug_hex8(data) do { if (debug_enable) print_hex8(data); } while (0) |
| 46 | #define debug_hex16(data) do { if (debug_enable) print_hex16(data); } while (0) | 78 | #define debug_hex16(data) do { if (debug_enable) print_hex16(data); } while (0) |
| 47 | #define debug_hex32(data) do { if (debug_enable) print_hex32(data); } while (0) | 79 | #define debug_hex32(data) do { if (debug_enable) print_hex32(data); } while (0) |
| 48 | #define debug_bin8(data) do { if (debug_enable) print_bin8(data); } while (0) | 80 | #define debug_bin8(data) do { if (debug_enable) print_bin8(data); } while (0) |
| 49 | #define debug_bin16(data) do { if (debug_enable) print_bin16(data); } while (0) | 81 | #define debug_bin16(data) do { if (debug_enable) print_bin16(data); } while (0) |
| 50 | #define debug_bin32(data) do { if (debug_enable) print_bin32(data); } while (0) | 82 | #define debug_bin32(data) do { if (debug_enable) print_bin32(data); } while (0) |
| 51 | #define debug_bin_reverse8(data) do { if (debug_enable) print_bin_reverse8(data); } while (0) | 83 | #define debug_bin_reverse8(data) do { if (debug_enable) print_bin_reverse8(data); } while (0) |
| 52 | #define debug_bin_reverse16(data) do { if (debug_enable) print_bin_reverse16(data); } while (0) | 84 | #define debug_bin_reverse16(data) do { if (debug_enable) print_bin_reverse16(data); } while (0) |
| 53 | #define debug_bin_reverse32(data) do { if (debug_enable) print_bin_reverse32(data); } while (0) | 85 | #define debug_bin_reverse32(data) do { if (debug_enable) print_bin_reverse32(data); } while (0) |
| 54 | #define debug_hex(data) debug_hex8(data) | 86 | #define debug_hex(data) debug_hex8(data) |
| 55 | #define debug_bin(data) debug_bin8(data) | 87 | #define debug_bin(data) debug_bin8(data) |
| 56 | #define debug_bin_reverse(data) debug_bin8(data) | 88 | #define debug_bin_reverse(data) debug_bin8(data) |
| 57 | 89 | ||
| 58 | #else | 90 | #else |
| 59 | #include "nodebug.h" | 91 | |
| 92 | /* NO_DEBUG */ | ||
| 93 | #define dprint(s) | ||
| 94 | #define dprintln(s) | ||
| 95 | #define dprintf(fmt, ...) | ||
| 96 | #define dmsg(s) | ||
| 97 | #define debug(s) | ||
| 98 | #define debugln(s) | ||
| 99 | #define debug_msg(s) | ||
| 100 | #define debug_dec(data) | ||
| 101 | #define debug_decs(data) | ||
| 102 | #define debug_hex4(data) | ||
| 103 | #define debug_hex8(data) | ||
| 104 | #define debug_hex16(data) | ||
| 105 | #define debug_hex32(data) | ||
| 106 | #define debug_bin8(data) | ||
| 107 | #define debug_bin16(data) | ||
| 108 | #define debug_bin32(data) | ||
| 109 | #define debug_bin_reverse8(data) | ||
| 110 | #define debug_bin_reverse16(data) | ||
| 111 | #define debug_bin_reverse32(data) | ||
| 112 | #define debug_hex(data) | ||
| 113 | #define debug_bin(data) | ||
| 114 | #define debug_bin_reverse(data) | ||
| 115 | |||
| 60 | #endif | 116 | #endif |
| 61 | 117 | ||
| 62 | #endif | 118 | #endif |
diff --git a/common/debug_config.h b/common/debug_config.h deleted file mode 100644 index 0e67ee49f..000000000 --- a/common/debug_config.h +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2013 Jun Wako <wakojun@gmail.com> | ||
| 3 | |||
| 4 | This program is free software: you can redistribute it and/or modify | ||
| 5 | it under the terms of the GNU General Public License as published by | ||
| 6 | the Free Software Foundation, either version 2 of the License, or | ||
| 7 | (at your option) any later version. | ||
| 8 | |||
| 9 | This program is distributed in the hope that it will be useful, | ||
| 10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | GNU General Public License for more details. | ||
| 13 | |||
| 14 | You should have received a copy of the GNU General Public License | ||
| 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 16 | */ | ||
| 17 | |||
| 18 | #ifndef DEBUG_CONFIG_H | ||
| 19 | #define DEBUG_CONFIG_H 1 | ||
| 20 | |||
| 21 | #include <stdbool.h> | ||
| 22 | |||
| 23 | |||
| 24 | #ifdef __cplusplus | ||
| 25 | extern "C" { | ||
| 26 | #endif | ||
| 27 | |||
| 28 | /* NOTE: Not portable. Bit field order depends on implementation */ | ||
| 29 | typedef union { | ||
| 30 | uint8_t raw; | ||
| 31 | struct { | ||
| 32 | bool enable:1; | ||
| 33 | bool matrix:1; | ||
| 34 | bool keyboard:1; | ||
| 35 | bool mouse:1; | ||
| 36 | uint8_t reserved:4; | ||
| 37 | }; | ||
| 38 | } debug_config_t; | ||
| 39 | debug_config_t debug_config; | ||
| 40 | |||
| 41 | #ifdef __cplusplus | ||
| 42 | } | ||
| 43 | #endif | ||
| 44 | |||
| 45 | |||
| 46 | /* for backward compatibility */ | ||
| 47 | #define debug_enable (debug_config.enable) | ||
| 48 | #define debug_matrix (debug_config.matrix) | ||
| 49 | #define debug_keyboard (debug_config.keyboard) | ||
| 50 | #define debug_mouse (debug_config.mouse) | ||
| 51 | |||
| 52 | #endif | ||
diff --git a/common/nodebug.h b/common/nodebug.h index 8ef123f9f..93309ada4 100644 --- a/common/nodebug.h +++ b/common/nodebug.h | |||
| @@ -18,30 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 18 | #ifndef NODEBUG_H | 18 | #ifndef NODEBUG_H |
| 19 | #define NODEBUG_H 1 | 19 | #define NODEBUG_H 1 |
| 20 | 20 | ||
| 21 | #define dprint(s) | 21 | #define NO_DEBUG |
| 22 | #define dprintln(s) | 22 | #include "debug.h" |
| 23 | #define dprintf(fmt, ...) | 23 | #undef NO_DEBUG |
| 24 | #define dmsg(s) | ||
| 25 | |||
| 26 | #define debug(s) | ||
| 27 | #define debugln(s) | ||
| 28 | #define debug_S(s) | ||
| 29 | #define debug_P(s) | ||
| 30 | #define debug_msg(s) | ||
| 31 | #define debug_dec(data) | ||
| 32 | #define debug_decs(data) | ||
| 33 | #define debug_hex4(data) | ||
| 34 | #define debug_hex8(data) | ||
| 35 | #define debug_hex16(data) | ||
| 36 | #define debug_hex32(data) | ||
| 37 | #define debug_bin8(data) | ||
| 38 | #define debug_bin16(data) | ||
| 39 | #define debug_bin32(data) | ||
| 40 | #define debug_bin_reverse8(data) | ||
| 41 | #define debug_bin_reverse16(data) | ||
| 42 | #define debug_bin_reverse32(data) | ||
| 43 | #define debug_hex(data) | ||
| 44 | #define debug_bin(data) | ||
| 45 | #define debug_bin_reverse(data) | ||
| 46 | 24 | ||
| 47 | #endif | 25 | #endif |
