diff options
author | 2015-10-27 12:42:30 -0400 | |
---|---|---|
committer | 2015-10-27 12:42:30 -0400 | |
commit | 547da78335298df6666200c6063ac6f1aba312fd (patch) | |
tree | 47df0252ee24b1ecc27b9dd0458c51f20bf088c3 /tmk_core/protocol/vusb/usbdrv/oddebug.c | |
parent | a766918d5c48204375f4c207b30bbbf1389df14f (diff) | |
parent | fa33719adab1393753312d298b8c365e04e844b9 (diff) | |
download | qmk_firmware-547da78335298df6666200c6063ac6f1aba312fd.tar.gz |
merging tmk
Diffstat (limited to 'tmk_core/protocol/vusb/usbdrv/oddebug.c')
-rw-r--r-- | tmk_core/protocol/vusb/usbdrv/oddebug.c | 50 |
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 000000000..945457c1f --- /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 |