summaryrefslogtreecommitdiff
path: root/avr/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'avr/debug.h')
-rw-r--r--avr/debug.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/avr/debug.h b/avr/debug.h
index ea67a99..1815166 100644
--- a/avr/debug.h
+++ b/avr/debug.h
@@ -2,13 +2,33 @@
#ifndef DEBUG_H_
#define DEBUG_H_
+#include "common.h"
#include <avr/pgmspace.h>
#ifdef DEBUG
+#define _DEBUG 1
+#else
+#define _DEBUG 0
+#endif
+
+#define debug_cond(cond, fmt, args...) \
+ do { \
+ if (cond) \
+ printf_P(PSTR(fmt), ##args); \
+ } while (0)
+
+#define debug(fmt, args...) \
+ debug_cond(_DEBUG, fmt, ##args)
+
+
+#if 1
+#ifdef DEBUG
#define DBG_P(lvl, format, ...) if (DEBUG>=lvl) \
fprintf_P( stdout, PSTR(format), ##__VA_ARGS__ )
#else
#define DBG_P(lvl, ...)
#endif
+#endif /* 0 */
#endif /* DEBUG_H_ */
+