diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-01-09 10:10:39 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2011-01-09 10:10:39 +0000 |
commit | ff333430f1317247299863b592293faa7799e0a4 (patch) | |
tree | e7fbb1acfc6125c96b83b1f1097517d6f6f4ec9d /os/hal/platforms/AT91SAM7 | |
parent | ab5dc4cae1ee3d7ab47afb58ee9f52056c507d3a (diff) | |
download | ChibiOS-ff333430f1317247299863b592293faa7799e0a4.tar.gz ChibiOS-ff333430f1317247299863b592293faa7799e0a4.tar.bz2 ChibiOS-ff333430f1317247299863b592293faa7799e0a4.zip |
Serial driver changes, bug 3153550 fixed.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2625 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/AT91SAM7')
-rw-r--r-- | os/hal/platforms/AT91SAM7/serial_lld.c | 6 | ||||
-rw-r--r-- | os/hal/platforms/AT91SAM7/serial_lld.h | 9 |
2 files changed, 3 insertions, 12 deletions
diff --git a/os/hal/platforms/AT91SAM7/serial_lld.c b/os/hal/platforms/AT91SAM7/serial_lld.c index 04e72a795..f34f2b6d8 100644 --- a/os/hal/platforms/AT91SAM7/serial_lld.c +++ b/os/hal/platforms/AT91SAM7/serial_lld.c @@ -136,7 +136,7 @@ static void usart_deinit(AT91PS_USART u) { * @param[in] sdp communication channel associated to the USART
*/
static void set_error(SerialDriver *sdp, AT91_REG csr) {
- sdflags_t sts = 0;
+ ioflags_t sts = 0;
if (csr & AT91C_US_OVRE)
sts |= SD_OVERRUN_ERROR;
@@ -147,7 +147,7 @@ static void set_error(SerialDriver *sdp, AT91_REG csr) { if (csr & AT91C_US_RXBRK)
sts |= SD_BREAK_DETECTED;
chSysLockFromIsr();
- sdAddFlagsI(sdp, sts);
+ chIOAddFlagsI(sdp, sts);
chSysUnlockFromIsr();
}
@@ -178,7 +178,7 @@ void sd_lld_serve_interrupt(SerialDriver *sdp) { chSysLockFromIsr();
b = chOQGetI(&sdp->oqueue);
if (b < Q_OK) {
- chEvtBroadcastI(&sdp->oevent);
+ chIOAddFlagsI(sdp, IO_OUTPUT_EMPTY);
u->US_IDR = AT91C_US_TXRDY;
}
else
diff --git a/os/hal/platforms/AT91SAM7/serial_lld.h b/os/hal/platforms/AT91SAM7/serial_lld.h index 027cf90cd..94aca128b 100644 --- a/os/hal/platforms/AT91SAM7/serial_lld.h +++ b/os/hal/platforms/AT91SAM7/serial_lld.h @@ -95,11 +95,6 @@ /*===========================================================================*/
/**
- * @brief Serial Driver condition flags type.
- */
-typedef uint32_t sdflags_t;
-
-/**
* @brief AT91SAM7 Serial Driver configuration structure.
* @details An instance of this structure must be passed to @p sdStart()
* in order to configure and start a serial driver operations.
@@ -128,10 +123,6 @@ typedef struct { InputQueue iqueue; \
/* Output queue.*/ \
OutputQueue oqueue; \
- /* Status Change @p EventSource.*/ \
- EventSource sevent; \
- /* I/O driver status flags.*/ \
- sdflags_t flags; \
/* Input circular buffer.*/ \
uint8_t ib[SERIAL_BUFFERS_SIZE]; \
/* Output circular buffer.*/ \
|