/** * \file * * * \brief High level serial I/O API * * \author Daniele Basile */ #ifndef SER_AT91_H #define SER_AT91_H #include /* BV() */ #include /* uint32_t */ #include /* CPU_* */ /** \name Serial Error/status flags. */ /*\{*/ 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 */ /*\}*/ /** * \name Serial hw numbers * * \{ */ enum { SER_UART0, SER_UART1, SER_SPI0, #if CPU_ARM_SAM7X SER_SPI1, #endif SER_CNT /**< Number of serial ports */ }; /*\}*/ #endif /* SER_AT91_H */