X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Fser.h;h=dfab067e14dbb08066e46689acbb0851247aeb7d;hb=3110ae0831fa4ba081c9206663390e21c7a4f78a;hp=c3488d5b206585cc756f793582f1999df5bb99c8;hpb=77c1d6ba65a199f60faa0e0a68e63ef0eb87677c;p=bertos.git diff --git a/drv/ser.h b/drv/ser.h index c3488d5b..dfab067e 100644 --- a/drv/ser.h +++ b/drv/ser.h @@ -28,7 +28,7 @@ * * Copyright 2003,2004 Develer S.r.l. (http://www.develer.com/) * Copyright 2000 Bernardo Innocenti - * This file is part of DevLib - See README.devlib for information. + * * --> * * \brief High level serial I/O API @@ -148,15 +148,34 @@ #ifndef DRV_SER_H #define DRV_SER_H +#include #include #include #include /* BV() */ #include + #include /** \name Serial Error/status flags. */ /*\{*/ -#if CPU_AVR +#if CPU_ARM_AT91 + typedef uint32_t serstatus_t; + + /* Software errors */ + #define SERRF_RXFIFOOVERRUN BV(0) /**< Rx FIFO buffer overrun */ + #define SERRF_RXTIMEOUT BV(1) /**< Receive timeout */ + #define SERRF_TXTIMEOUT BV(2) /**< Transmit timeout */ + + /* + * Hardware errors. + * These flags map directly to the ARM USART Channel Status Register (US_CSR). + */ + #define SERRF_RXSROVERRUN BV(5) /**< Rx shift register overrun */ + #define SERRF_FRAMEERROR BV(6) /**< Stop bit missing */ + #define SERRF_PARITYERROR BV(7) /**< Parity error */ + #define SERRF_NOISEERROR 0 /**< Unsupported */ + +#elif CPU_AVR typedef uint8_t serstatus_t; /* Software errors */ @@ -249,7 +268,11 @@ */ enum { -#if CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 +#if CPU_ARM_AT91 + SER_UART0, + SER_UART1, + SER_SPI, +#elif CPU_AVR_ATMEGA64 || CPU_AVR_ATMEGA128 || CPU_AVR_ATMEGA1281 SER_UART0, SER_UART1, SER_SPI,