* Tabsize: 4
* Copyright: (c) 2005 by OBJECTIVE DEVELOPMENT Software GmbH
* License: Proprietary, free under certain conditions. See Documentation.
- * This Revision: $Id: oddebug.h 52 2005-04-12 16:57:29Z cs $
+ * This Revision: $Id: oddebug.h 215 2006-07-10 21:54:51Z cs $
*/
#ifndef __oddebug_h_included__
#define __oddebug_h_included__
-#include <avr/io.h>
-
/*
General Description:
This module implements a function for debug logs on the serial line of the
#ifndef F_CPU
-# define F_CPU 12000000 /* 12 MHz */
+# define F_CPU 12000000 /* 12 MHz */
+#endif
+
+/* make sure we have the UART defines: */
+#include "iarcompat.h"
+#ifndef __IAR_SYSTEMS_ICC__
+# include <avr/io.h>
#endif
#ifndef uchar
-# define uchar unsigned char
+# define uchar unsigned char
#endif
-#if DEBUG_LEVEL > 0 && !defined TXEN /* no UART in device */
-# warning "Debugging disabled because device has no UART"
-# undef DEBUG_LEVEL
+#if DEBUG_LEVEL > 0 && !(defined TXEN || defined TXEN0) /* no UART in device */
+# warning "Debugging disabled because device has no UART"
+# undef DEBUG_LEVEL
#endif
#ifndef DEBUG_LEVEL
-# define DEBUG_LEVEL 0
+# define DEBUG_LEVEL 0
#endif
/* ------------------------------------------------------------------------- */
#if DEBUG_LEVEL > 0
-# define DBG1(prefix, data, len) odDebug(prefix, data, len)
+# define DBG1(prefix, data, len) odDebug(prefix, data, len)
#else
-# define DBG1(prefix, data, len)
+# define DBG1(prefix, data, len)
#endif
#if DEBUG_LEVEL > 1
-# define DBG2(prefix, data, len) odDebug(prefix, data, len)
+# define DBG2(prefix, data, len) odDebug(prefix, data, len)
#else
-# define DBG2(prefix, data, len)
+# define DBG2(prefix, data, len)
#endif
/* ------------------------------------------------------------------------- */
-#if DEBUG_LEVEL > 0
-extern void odDebug(uchar prefix, uchar *data, uchar len);
+#if DEBUG_LEVEL > 0
+extern void odDebug(uchar prefix, uchar *data, uchar len);
/* Try to find our control registers; ATMEL likes to rename these */
#if defined UBRR
-# define ODDBG_UBRR UBRR
+# define ODDBG_UBRR UBRR
#elif defined UBRRL
-# define ODDBG_UBRR UBRRL
-#elif defined UBRR1
-# define ODDBG_UBRR UBRR1
-#elif defined UBRR1L
-# define ODDBG_UBRR UBRR1L
+# define ODDBG_UBRR UBRRL
+#elif defined UBRR0
+# define ODDBG_UBRR UBRR0
+#elif defined UBRR0L
+# define ODDBG_UBRR UBRR0L
#endif
#if defined UCR
-# define ODDBG_UCR UCR
+# define ODDBG_UCR UCR
#elif defined UCSRB
-# define ODDBG_UCR UCSRB
-#elif defined UCSR1B
-# define ODDBG_UCR UCSR1B
+# define ODDBG_UCR UCSRB
+#elif defined UCSR0B
+# define ODDBG_UCR UCSR0B
+#endif
+
+#if defined TXEN
+# define ODDBG_TXEN TXEN
+#else
+# define ODDBG_TXEN TXEN0
#endif
-#if defined USR
-# define ODDBG_USR USR
+#if defined USR
+# define ODDBG_USR USR
#elif defined UCSRA
-# define ODDBG_USR UCSRA
-#elif defined UCSR1A
-# define ODDBG_USR UCSR1A
+# define ODDBG_USR UCSRA
+#elif defined UCSR0A
+# define ODDBG_USR UCSR0A
+#endif
+
+#if defined UDRE
+# define ODDBG_UDRE UDRE
+#else
+# define ODDBG_UDRE UDRE0
#endif
#if defined UDR
-# define ODDBG_UDR UDR
-#elif defined UDR1
-# define ODDBG_UDR UDR1
+# define ODDBG_UDR UDR
+#elif defined UDR0
+# define ODDBG_UDR UDR0
#endif
-static inline void odDebugInit(void)
+static inline void odDebugInit(void)
{
- ODDBG_UCR |= (1<<TXEN);
- ODDBG_UBRR = F_CPU / (19200 * 16L) - 1;
+ ODDBG_UCR |= (1<<ODDBG_TXEN);
+ ODDBG_UBRR = F_CPU / (19200 * 16L) - 1;
}
#else
-# define odDebugInit()
+# define odDebugInit()
#endif
/* ------------------------------------------------------------------------- */