aboutsummaryrefslogtreecommitdiffstats
path: root/os/kernel/src/chqueues.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-16 19:36:21 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-16 19:36:21 +0000
commitad3d21e81592481539a56e93234f5bf1fa2c0504 (patch)
tree0e78278235ac7c8324aa3c3a7e7b0193bbd30dc6 /os/kernel/src/chqueues.c
parent0eed163a696d4b6daab19fd8daf05b980058f5f3 (diff)
downloadChibiOS-ad3d21e81592481539a56e93234f5bf1fa2c0504.tar.gz
ChibiOS-ad3d21e81592481539a56e93234f5bf1fa2c0504.tar.bz2
ChibiOS-ad3d21e81592481539a56e93234f5bf1fa2c0504.zip
Documentation reorganization. Moved the description from kernel.dox into the source code for ease of editing and reference.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1746 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/kernel/src/chqueues.c')
-rw-r--r--os/kernel/src/chqueues.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/os/kernel/src/chqueues.c b/os/kernel/src/chqueues.c
index 2f8d1b569..acc7494c2 100644
--- a/os/kernel/src/chqueues.c
+++ b/os/kernel/src/chqueues.c
@@ -22,6 +22,23 @@
* @brief I/O Queues code.
*
* @addtogroup io_queues
+ * @details ChibiOS/RT queues are mostly used in serial-like device drivers.
+ * The device drivers are usually designed to have a lower side
+ * (lower driver, it is usually an interrupt service routine) and an
+ * upper side (upper driver, accessed by the application threads).<br>
+ * There are several kind of queues:<br>
+ * - <b>Input queue</b>, unidirectional queue where the writer is the
+ * lower side and the reader is the upper side.
+ * - <b>Output queue</b>, unidirectional queue where the writer is the
+ * upper side and the reader is the lower side.
+ * - <b>Full duplex queue</b>, bidirectional queue. Full duplex queues
+ * are implemented by pairing an input queue and an output queue
+ * together.
+ * .
+ * In order to use the I/O queues the @p CH_USE_QUEUES option must
+ * be enabled in @p chconf.h.<br>
+ * I/O queues are usually used as an implementation layer for the I/O
+ * channels interface, also see @ref io_channels.
* @{
*/