uart: fix compilation on atmega328p
authorOlivier Matz <zer0@droids-corp.org>
Tue, 6 Aug 2013 19:56:19 +0000 (21:56 +0200)
committerOlivier Matz <zer0@droids-corp.org>
Thu, 8 Aug 2013 17:59:13 +0000 (19:59 +0200)
modules/comm/uart/uart.c
modules/comm/uart/uart_defs.h
modules/comm/uart/uart_dev_io.c

index 25aa9e8..231d599 100644 (file)
@@ -85,8 +85,14 @@ const struct regs uart_regs[UART_HW_NUM] = {
  */
 #ifdef UART0_COMPILE
 #ifndef SIG_UART0_DATA
+#if defined(USART_UDRE_vect)
+#define SIG_UART0_DATA USART_UDRE_vect
+#elif defined(USART0_UDRE_vect)
+#define SIG_UART0_DATA USART0_UDRE_vect
+#elif defined(SIG_USART0_DATA)
 #define SIG_UART0_DATA SIG_USART0_DATA
 #endif
+#endif
 SIGNAL(SIG_UART0_DATA)
 {
        uart_send_next_char(0);
@@ -94,8 +100,12 @@ SIGNAL(SIG_UART0_DATA)
 #endif
 #ifdef UART1_COMPILE
 #ifndef SIG_UART1_DATA
+#if defined(USART1_UDRE_vect)
+#define SIG_UART1_DATA USART1_UDRE_vect
+#elif defined(SIG_USART1_DATA)
 #define SIG_UART1_DATA SIG_USART1_DATA
 #endif
+#endif
 SIGNAL(SIG_UART1_DATA)
 {
        uart_send_next_char(1);
@@ -103,8 +113,12 @@ SIGNAL(SIG_UART1_DATA)
 #endif
 #ifdef UART2_COMPILE
 #ifndef SIG_UART2_DATA
+#if defined(USART2_UDRE_vect)
+#define SIG_UART2_DATA USART2_UDRE_vect
+#elif defined(SIG_USART2_DATA)
 #define SIG_UART2_DATA SIG_USART2_DATA
 #endif
+#endif
 SIGNAL(SIG_UART2_DATA)
 {
        uart_send_next_char(2);
@@ -112,8 +126,12 @@ SIGNAL(SIG_UART2_DATA)
 #endif
 #ifdef UART3_COMPILE
 #ifndef SIG_UART3_DATA
+#if defined(USART3_UDRE_vect)
+#define SIG_UART3_DATA USART3_UDRE_vect
+#elif defined(SIG_USART3_DATA)
 #define SIG_UART3_DATA SIG_USART3_DATA
 #endif
+#endif
 SIGNAL(SIG_UART3_DATA)
 {
        uart_send_next_char(3);
@@ -128,8 +146,14 @@ static void uart_recv_next_char(uint8_t num);
  */
 #ifdef UART0_COMPILE
 #ifndef SIG_UART0_RECV
+#if defined(USART_RX_vect)
+#define SIG_UART0_RECV USART_RX_vect
+#elif defined(USART0_RX_vect)
+#define SIG_UART0_RECV USART0_RX_vect
+#elif defined(SIG_USART0_RECV)
 #define SIG_UART0_RECV SIG_USART0_RECV
 #endif
+#endif
 SIGNAL(SIG_UART0_RECV)
 {
        uart_recv_next_char(0);
@@ -137,8 +161,12 @@ SIGNAL(SIG_UART0_RECV)
 #endif
 #ifdef UART1_COMPILE
 #ifndef SIG_UART1_RECV
+#if defined(USART1_RX_vect)
+#define SIG_UART1_RECV USART1_RX_vect
+#elif defined(SIG_USART1_RECV)
 #define SIG_UART1_RECV SIG_USART1_RECV
 #endif
+#endif
 SIGNAL(SIG_UART1_RECV)
 {
        uart_recv_next_char(1);
@@ -146,8 +174,12 @@ SIGNAL(SIG_UART1_RECV)
 #endif
 #ifdef UART2_COMPILE
 #ifndef SIG_UART2_RECV
+#if defined(USART2_RX_vect)
+#define SIG_UART2_RECV USART2_RX_vect
+#elif defined(SIG_USART2_RECV)
 #define SIG_UART2_RECV SIG_USART2_RECV
 #endif
+#endif
 SIGNAL(SIG_UART2_RECV)
 {
        uart_recv_next_char(2);
@@ -155,8 +187,12 @@ SIGNAL(SIG_UART2_RECV)
 #endif
 #ifdef UART3_COMPILE
 #ifndef SIG_UART3_RECV
+#if defined(USART3_RX_vect)
+#define SIG_UART3_RECV USART3_RX_vect
+#elif defined(SIG_USART3_RECV)
 #define SIG_UART3_RECV SIG_USART3_RECV
 #endif
+#endif
 SIGNAL(SIG_UART3_RECV)
 {
        uart_recv_next_char(3);
index 7d872a1..e8d6171 100644 (file)
@@ -61,7 +61,7 @@
 #endif\r
 #endif\r
 \r
-#ifndef UDR0\r
+#if !defined(UDR0) && defined(UDR)\r
 #define UDR0 UDR\r
 #endif\r
 #ifndef UCSR0A\r
 #ifndef UBRR0H\r
 #define UBRR0H UBRRH\r
 #endif\r
-#ifndef U2X \r
+#if !defined(U2X) && defined(U2X0)\r
 #define U2X U2X0\r
 #endif\r
-#ifndef UCSZ0 \r
+#if !defined(UCSZ0) && defined(UCSZ00)\r
 #define UCSZ0 UCSZ00\r
 #endif\r
-#ifndef UCSZ1 \r
+#if !defined(UCSZ1) && defined(UCSZ01)\r
 #define UCSZ1 UCSZ01\r
 #endif\r
-#ifndef UCSZ2 \r
+#if !defined(UCSZ2) && defined(UCSZ02)\r
 #define UCSZ2 UCSZ02\r
 #endif\r
-#ifndef UPM0 \r
+#if !defined(UPM0) && defined(UPM00)\r
 #define UPM0 UPM00\r
 #endif\r
-#ifndef UPM1 \r
+#if !defined(UPM1) && defined(UPM01)\r
 #define UPM1 UPM01\r
 #endif\r
-#ifndef USBS \r
+#if !defined(USBS) && defined(USBS0)\r
 #define USBS USBS0\r
 #endif\r
-#ifndef TXEN \r
+#if !defined(TXEN) && defined(TXEN0)\r
 #define TXEN TXEN0\r
 #endif\r
-#ifndef TXCIE \r
+#if !defined(TXCIE) && defined(TXCIE0)\r
 #define TXCIE TXCIE0\r
 #endif\r
-#ifndef RXEN \r
+#if !defined(RXEN) && defined(RXEN0)\r
 #define RXEN RXEN0\r
 #endif\r
-#ifndef RXCIE \r
+#if !defined(RXCIE) && defined(RXCIE0)\r
 #define RXCIE RXCIE0\r
 #endif\r
-#ifndef TXC \r
+#if !defined(TXC) && defined(TXC0)\r
 #define TXC TXC0\r
 #endif\r
-#ifndef RXC \r
+#if !defined(RXC) && defined(RXC0)\r
 #define RXC RXC0\r
 #endif\r
-#ifndef RXB8\r
+#if !defined(RXB8) && defined(RXB80)\r
 #define RXB8 RXB80\r
 #endif\r
-#ifndef UDRIE\r
+#if !defined(UDRIE) && defined(UDRIE0)\r
 #define UDRIE UDRIE0\r
 #endif\r
-#ifndef UDRE\r
+#if !defined(UDRE) && defined(UDRE0)\r
 #define UDRE UDRE0\r
 #endif\r
+#if !defined(U2X) && defined(U2X1)\r
+#define U2X U2X1\r
+#endif\r
+#if !defined(UCSZ1) && defined(UCSZ10)\r
+#define UCSZ0 UCSZ10\r
+#endif\r
+#if !defined(UCSZ1) && defined(UCSZ11)\r
+#define UCSZ1 UCSZ11\r
+#endif\r
+#if !defined(UCSZ2) && defined(UCSZ12)\r
+#define UCSZ2 UCSZ12\r
+#endif\r
+#if !defined(UPM1) && defined(UPM10)\r
+#define UPM0 UPM10\r
+#endif\r
+#if !defined(UPM1) && defined(UPM11)\r
+#define UPM1 UPM11\r
+#endif\r
+#if !defined(USBS) && defined(USBS1)\r
+#define USBS USBS1\r
+#endif\r
+#if !defined(TXEN) && defined(TXEN1)\r
+#define TXEN TXEN1\r
+#endif\r
+#if !defined(TXCIE) && defined(TXCIE1)\r
+#define TXCIE TXCIE1\r
+#endif\r
+#if !defined(RXEN) && defined(RXEN1)\r
+#define RXEN RXEN1\r
+#endif\r
+#if !defined(RXCIE) && defined(RXCIE1)\r
+#define RXCIE RXCIE1\r
+#endif\r
+#if !defined(TXC) && defined(TXC1)\r
+#define TXC TXC1\r
+#endif\r
+#if !defined(RXC) && defined(RXC1)\r
+#define RXC RXC1\r
+#endif\r
+#if !defined(RXB8) && defined(RXB81)\r
+#define RXB8 RXB81\r
+#endif\r
+#if !defined(UDRIE) && defined(UDRIE1)\r
+#define UDRIE UDRIE1\r
+#endif\r
+#if !defined(UDRIE) && defined(UDRIE1)\r
+#define UDRIE UDRIE1\r
+#endif\r
+#if !defined(UDRE) && defined(UDRE1)\r
+#define UDRE UDRE1\r
+#endif\r
 \r
 /* makes functions more generic, we associate USR and UCR with UCSRA\r
  * and UCSRB, respectively */\r
 \r
 \r
 /* if the signal USART is defined, the uC has a USART. */\r
-#if ( defined SIG_USART0_RECV ) || ( defined SIG_USART_RECV ) \r
+#if ( defined SIG_USART0_RECV ) || ( defined SIG_USART_RECV )\r
 #define UART_IS_USART 1\r
 #elif (defined USART_UDRE_vect) || (defined USART_TXC_vect) || (defined USART_RXC_vect)\r
 #define UART_IS_USART 1\r
+#elif (defined USART1_UDRE_vect) || (defined USART1_TXC_vect) || (defined USART1_RXC_vect)\r
+#define UART_IS_USART 1\r
 #else\r
 #define UART_IS_USART 0\r
 #endif\r
index 8ffb89e..51d0ed1 100644 (file)
@@ -1,6 +1,6 @@
-/*  
+/*
  *  Copyright Droids Corporation, Microb Technology, Eirbot (2005)
- * 
+ *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
  *  the Free Software Foundation; either version 2 of the License, or
@@ -44,7 +44,7 @@ int uart0_dev_recv_nowait(__attribute__((unused)) FILE *f)
 int uart0_dev_recv(__attribute__((unused)) FILE *f)
 {
        return uart_recv(0);
-}                                                                            
+}
 #endif
 
 #ifdef UART1_COMPILE
@@ -66,7 +66,7 @@ int uart1_dev_recv_nowait(__attribute__((unused)) FILE *f)
 int uart1_dev_recv(__attribute__((unused)) FILE *f)
 {
        return uart_recv(1);
-}                                                                            
+}
 #endif
 
 #ifdef UART2_COMPILE
@@ -88,7 +88,7 @@ int uart2_dev_recv_nowait(__attribute__((unused)) FILE *f)
 int uart2_dev_recv(__attribute__((unused)) FILE *f)
 {
        return uart_recv(2);
-}                                                                            
+}
 #endif
 
 #ifdef UART3_COMPILE
@@ -110,5 +110,5 @@ int uart3_dev_recv_nowait(__attribute__((unused)) FILE *f)
 int uart3_dev_recv(__attribute__((unused)) FILE *f)
 {
        return uart_recv(3);
-}                                                                            
+}
 #endif