* Tabsize: 4
* Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH
* License: Proprietary, free under certain conditions. See Documentation.
- * This Revision: $Id: oddebug.c 52 2005-04-12 16:57:29Z cs $
+ * This Revision: $Id: oddebug.c 215 2006-07-10 21:54:51Z cs $
*/
-#include <avr/io.h>
#include "oddebug.h"
-#if DEBUG_LEVEL > 0
+#if DEBUG_LEVEL > 0
-static void uartPutc(char c)
+static uchar Warning__Never_compile_production_devices_with_debugging;
+/* The "#warning" preprocessor directive is non-standard. The unused static
+ * variable above should give a compiler warning on all compilers.
+ */
+
+static void uartPutc(char c)
{
- while(!(ODDBG_USR & (1 << UDRE))); /* wait for data register empty */
- ODDBG_UDR = c;
+ while(!(ODDBG_USR & (1 << ODDBG_UDRE))); /* wait for data register empty */
+ ODDBG_UDR = c;
}
-static uchar hexAscii(uchar h)
+static uchar hexAscii(uchar h)
{
- h &= 0xf;
- if(h < 10){
- h += '0';
- }else{
- h += 'a' - (uchar)10;
- }
- return h;
+ h &= 0xf;
+ if(h >= 10)
+ h += 'a' - (uchar)10 - '0';
+ h += '0';
+ return h;
}
-static void printHex(uchar c)
+static void printHex(uchar c)
{
- uartPutc(hexAscii(c >> 4));
- uartPutc(hexAscii(c));
+ uartPutc(hexAscii(c >> 4));
+ uartPutc(hexAscii(c));
}
-void odDebug(uchar prefix, uchar *data, uchar len)
+void odDebug(uchar prefix, uchar *data, uchar len)
{
- printHex(prefix);
- uartPutc(':');
- while(len--){
- uartPutc(' ');
- printHex(*data++);
- }
- uartPutc('\r');
- uartPutc('\n');
+ printHex(prefix);
+ uartPutc(':');
+ while(len--){
+ uartPutc(' ');
+ printHex(*data++);
+ }
+ uartPutc('\r');
+ uartPutc('\n');
}
#endif