From 1b149f561370687ad65e3aa644a402f00dbd16ea Mon Sep 17 00:00:00 2001
From: Martin Braun <martin.braun@ettus.com>
Date: Tue, 7 Oct 2014 11:32:14 +0200
Subject: Initial commit E300 support.

---
 firmware/e300/rev_b/debug.h | 90 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 90 insertions(+)
 create mode 100644 firmware/e300/rev_b/debug.h

(limited to 'firmware/e300/rev_b/debug.h')

diff --git a/firmware/e300/rev_b/debug.h b/firmware/e300/rev_b/debug.h
new file mode 100644
index 000000000..5e6435972
--- /dev/null
+++ b/firmware/e300/rev_b/debug.h
@@ -0,0 +1,90 @@
+/*
+ * debug.h
+ */ 
+
+#ifndef DEBUG_H_
+#define DEBUG_H_
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <avr/pgmspace.h>
+
+#include "io.h"
+
+#ifdef DEBUG
+#define DEBUG_INLINE
+#define DEBUG_NOOP	;
+#define LED_ON		false
+#define LED_OFF		true
+#else
+#define DEBUG_INLINE inline
+#define DEBUG_NOOP	{}
+#define LED_ON		true
+#define LED_OFF		false
+#endif // DEBUG
+
+//#define DEBUG_VOID
+#define DEBUG_SAFETY
+
+#ifdef DEBUG_VOID
+
+//#define debug_init	(void)
+#define debug_set	(void)
+#define debug_blink	(void)
+#define debug_blink_rev	(void)
+#define debug_blink2 (void)
+#define debug_wait	(void)
+
+#else
+
+//DEBUG_INLINE void debug_init(void) DEBUG_NOOP
+DEBUG_INLINE void debug_set(io_pin_t pin, bool enable) DEBUG_NOOP
+DEBUG_INLINE void debug_blink(uint8_t count) DEBUG_NOOP
+//DEBUG_INLINE void debug_blink_rev(uint8_t count) DEBUG_NOOP
+void debug_blink_rev(uint8_t count);
+DEBUG_INLINE void debug_blink2(uint8_t count) DEBUG_NOOP
+DEBUG_INLINE void debug_wait(void) DEBUG_NOOP
+
+#endif // DEBUG_VOID
+
+#if defined(DEBUG) && !defined(ENABLE_SERIAL)
+#define ENABLE_SERIAL
+#endif // DEBUG && !ENABLE_SERIAL
+
+/*DEBUG_INLINE */void debug_init(void)/* DEBUG_NOOP*/;
+
+#ifdef ENABLE_SERIAL
+
+void debug_log_ex_P(const char* message, bool new_line);
+void debug_log_hex_ex(uint8_t n, bool new_line);
+void debug_log_byte_ex(uint8_t n, bool new_line);
+void _debug_log_ex(const char* message, bool new_line);
+
+// Prototypes to silence avr-gcc
+inline void debug_log_P(const char* message);
+inline void debug_log_hex(uint8_t n);
+inline void debug_log_byte(uint8_t n);
+inline void _debug_log(const char* message);
+
+inline void debug_log_P(const char* message) { debug_log_ex_P(message, true); }
+inline void debug_log_hex(uint8_t n) { debug_log_hex_ex(n, true); }
+inline void debug_log_byte(uint8_t n) { debug_log_byte_ex(n, true); }
+inline void _debug_log(const char* message) { _debug_log_ex(message, true); }
+
+#else
+
+inline void debug_log_ex_P		(const char* message, bool new_line) {};
+inline void debug_log_hex_ex	(uint8_t n, bool new_line) {};
+inline void debug_log_byte_ex	(uint8_t n, bool new_line) {};
+inline void _debug_log_ex		(const char* message, bool new_line) {};
+
+#define debug_log_P			(void)
+#define debug_log_hex		(void)
+#define debug_log_byte		(void)
+#define _debug_log			(void)
+#endif // ENABLE_SERIAL
+
+#define debug_log(x)		debug_log_P(PSTR(x))
+#define debug_log_ex(x,nl)	debug_log_ex_P(PSTR(x), nl)
+
+#endif /* DEBUG_H_ */
-- 
cgit v1.2.3