From 46e56d73491d9141b7ed3f79f2a26d3d9addc8ef Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 1 May 2009 12:58:05 +0000 Subject: I/O queues improvements, removed half duplex queues. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@926 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- src/include/serial.h | 56 ++-------------------------------------------------- 1 file changed, 2 insertions(+), 54 deletions(-) (limited to 'src/include/serial.h') diff --git a/src/include/serial.h b/src/include/serial.h index ebb3392bb..6530fae0d 100644 --- a/src/include/serial.h +++ b/src/include/serial.h @@ -54,14 +54,14 @@ typedef struct { /** Input queue. Incoming data can be read from this queue by using the * queues APIs.*/ - Queue sd_iqueue; + InputQueue sd_iqueue; /** Data Available @p EventSource. This event is generated when some incoming * data is inserted in the Input @p Queue.*/ EventSource sd_ievent; /** Output queue. Outgoing data can be written to this Output @p Queue by * using the queues APIs.*/ - Queue sd_oqueue; + OutputQueue sd_oqueue; /** Data Transmitted @p EventSource. This event is generated when the * Output @p Queue is empty.*/ EventSource sd_oevent; @@ -110,58 +110,6 @@ extern "C" { #endif /* CH_USE_SERIAL_FULLDUPLEX */ -#if CH_USE_SERIAL_HALFDUPLEX - -/** - * @brief Full Duplex Serial Driver main structure. - */ -typedef struct { - - /** Data queue. Transmit/receive @p HalfDuplexQueue.*/ - HalfDuplexQueue sd_queue; - /** Data Available @p EventSource. This event is generated when some - * incoming data is inserted in the receive queue.*/ - EventSource sd_ievent; - /** Data Transmitted @p EventSource. This event is generated when the - * transmission queue is empty and the driver can either transmit more - * data or enter receive mode.*/ - EventSource sd_oevent; - /** I/O driver status flags. This field should not be read directly but - * the @p chHDDGetAndClearFlags() funtion should be used - * instead.*/ - dflags_t sd_flags; - /** Status Change Event Source. This event is generated when a condition - * flag was changed.*/ - EventSource sd_sevent; -} HalfDuplexDriver; - -#ifdef __cplusplus -extern "C" { -#endif - void chHDDInit(HalfDuplexDriver *sd, uint8_t *b, size_t size, - qnotify_t inotify, qnotify_t onotify); - void chHDDIncomingDataI(HalfDuplexDriver *sd, uint8_t b); - msg_t chHDDRequestDataI(HalfDuplexDriver *sd); - void chHDDAddFlagsI(HalfDuplexDriver *sd, dflags_t mask); - dflags_t chHDDGetAndClearFlags(HalfDuplexDriver *sd); -#ifdef __cplusplus -} -#endif - -/** @see chHDQGetReceive()*/ -#define chHDDGetReceive(sd) \ - chHDQGetReceive(&(sd)->sd_queue) - -/** @see chHDQGetReceiveTimeout()*/ -#define chHDDGetReceiveTimeout(sd, t) \ - chHDQGetReceiveTimeout(&(sd)->sd_queue, t) - -/** @see chHDQPutTransmit()*/ -#define chHDDPutTransmit(sd, b) \ - chHDQPutTransmit(&(sd)->sd_queue, b) - -#endif /* CH_USE_SERIAL_HALFDUPLEX */ - #endif /* _SERIAL_H_ */ /** @} */ -- cgit v1.2.3