summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/vusb/usbdrv/oddebug.c
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2015-10-27 14:52:18 -0400
committerJack Humbert <jack.humb@gmail.com>2015-10-27 14:52:18 -0400
commitd311fd8d1a0af3b767d26b520d399bf0db22f058 (patch)
treeb9de5704143ac205b4e26222f9d7551e9b161924 /tmk_core/protocol/vusb/usbdrv/oddebug.c
parenta766918d5c48204375f4c207b30bbbf1389df14f (diff)
parent6f3141965e88c4ee0ebf7c18a243e4c2d9c5021b (diff)
Merge pull request #34 from jackhumbert/tmk-master
merging from tmk, new_project script and template
Diffstat (limited to 'tmk_core/protocol/vusb/usbdrv/oddebug.c')
-rw-r--r--tmk_core/protocol/vusb/usbdrv/oddebug.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/tmk_core/protocol/vusb/usbdrv/oddebug.c b/tmk_core/protocol/vusb/usbdrv/oddebug.c
new file mode 100644
index 0000000000..945457c1f4
--- /dev/null
+++ b/tmk_core/protocol/vusb/usbdrv/oddebug.c
@@ -0,0 +1,50 @@
+/* Name: oddebug.c
+ * Project: AVR library
+ * Author: Christian Starkjohann
+ * Creation Date: 2005-01-16
+ * Tabsize: 4
+ * Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH
+ * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt)
+ * This Revision: $Id: oddebug.c 692 2008-11-07 15:07:40Z cs $
+ */
+
+#include "oddebug.h"
+
+#if DEBUG_LEVEL > 0
+
+#warning "Never compile production devices with debugging enabled"
+
+static void uartPutc(char c)
+{
+ while(!(ODDBG_USR & (1 << ODDBG_UDRE))); /* wait for data register empty */
+ ODDBG_UDR = c;
+}
+
+static uchar hexAscii(uchar h)
+{
+ h &= 0xf;
+ if(h >= 10)
+ h += 'a' - (uchar)10 - '0';
+ h += '0';
+ return h;
+}
+
+static void printHex(uchar c)
+{
+ uartPutc(hexAscii(c >> 4));
+ uartPutc(hexAscii(c));
+}
+
+void odDebug(uchar prefix, uchar *data, uchar len)
+{
+ printHex(prefix);
+ uartPutc(':');
+ while(len--){
+ uartPutc(' ');
+ printHex(*data++);
+ }
+ uartPutc('\r');
+ uartPutc('\n');
+}
+
+#endif