]>
Commit | Line | Data |
---|---|---|
ec1bef8e | 1 | /* Name: oddebug.c |
2 | * Project: AVR library | |
3 | * Author: Christian Starkjohann | |
4 | * Creation Date: 2005-01-16 | |
5 | * Tabsize: 4 | |
6 | * Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH | |
7 | * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt) | |
8 | * This Revision: $Id: oddebug.c 692 2008-11-07 15:07:40Z cs $ | |
9 | */ | |
10 | ||
11 | #include "oddebug.h" | |
12 | ||
13 | #if DEBUG_LEVEL > 0 | |
14 | ||
15 | #warning "Never compile production devices with debugging enabled" | |
16 | ||
17 | static void uartPutc(char c) | |
18 | { | |
19 | while(!(ODDBG_USR & (1 << ODDBG_UDRE))); /* wait for data register empty */ | |
20 | ODDBG_UDR = c; | |
21 | } | |
22 | ||
23 | static uchar hexAscii(uchar h) | |
24 | { | |
25 | h &= 0xf; | |
26 | if(h >= 10) | |
27 | h += 'a' - (uchar)10 - '0'; | |
28 | h += '0'; | |
29 | return h; | |
30 | } | |
31 | ||
32 | static void printHex(uchar c) | |
33 | { | |
34 | uartPutc(hexAscii(c >> 4)); | |
35 | uartPutc(hexAscii(c)); | |
36 | } | |
37 | ||
38 | void odDebug(uchar prefix, uchar *data, uchar len) | |
39 | { | |
40 | printHex(prefix); | |
41 | uartPutc(':'); | |
42 | while(len--){ | |
43 | uartPutc(' '); | |
44 | printHex(*data++); | |
45 | } | |
46 | uartPutc('\r'); | |
47 | uartPutc('\n'); | |
48 | } | |
49 | ||
50 | #endif |