aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-02-17 19:58:46 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-02-17 19:58:46 +0000
commit3d2f2081cebee2936d8073ab6a55177b6549013e (patch)
tree1e57283eece612d213add53d785ab5207b7d21af /docs
parent7fe2bf4789935d592c24dbbe2aaba18c34c021cf (diff)
downloadChibiOS-3d2f2081cebee2936d8073ab6a55177b6549013e.tar.gz
ChibiOS-3d2f2081cebee2936d8073ab6a55177b6549013e.tar.bz2
ChibiOS-3d2f2081cebee2936d8073ab6a55177b6549013e.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@778 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'docs')
-rw-r--r--docs/Doxyfile8
-rw-r--r--docs/ch.txt36
2 files changed, 36 insertions, 8 deletions
diff --git a/docs/Doxyfile b/docs/Doxyfile
index a7d3a256d..71904c177 100644
--- a/docs/Doxyfile
+++ b/docs/Doxyfile
@@ -1308,10 +1308,14 @@ PREDEFINED = __DOXYGEN__ \
CH_USE_HEAP=1 \
CH_USE_MEMPOOLS=1 \
CH_USE_MESSAGES=1 \
+ CH_USE_MAILBOXES=1 \
CH_USE_MESSAGES_EVENT=1 \
- CH_USE_DEBUG=1 \
- CH_USE_TRACE=1 \
CH_USE_DYNAMIC=1 \
+ CH_DBG_ENABLE_ASSERTS=1 \
+ CH_DBG_ENABLE_TRACE=1 \
+ CH_DBG_ENABLE_STACK_CHECK=1 \
+ CH_DBG_FILL_THREADS=1 \
+ CH_DBG_THREADS_PROFILING=1 \
CH_USE_ROUNDROBIN=1
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
diff --git a/docs/ch.txt b/docs/ch.txt
index b62fa38ca..58a96870d 100644
--- a/docs/ch.txt
+++ b/docs/ch.txt
@@ -281,15 +281,15 @@
/** @} */
/**
- * @defgroup Messages Messages
+ * @defgroup Messages Synchronous Messages
* @{
* Synchronous inter-thread messages.
* <h2>Operation Mode</h2>
- * Messages are an easy to use and fast IPC mechanism, threads can both serve
- * messages and send messages to other threads, the mechanism allows data to
- * be carried in both directions. Data is not copied between the client and
- * server threads but just a pointer passed so the exchange is very time
- * efficient.<br>
+ * Synchronoud messages are an easy to use and fast IPC mechanism, threads
+ * can both serve messages and send messages to other threads, the mechanism
+ * allows data to be carried in both directions. Data is not copied between
+ * the client and server threads but just a pointer passed so the exchange
+ * is very time efficient.<br>
* Messages are usually processed in FIFO order but it is possible to process
* them in priority order by specifying CH_USE_MESSAGES_PRIORITY
* in @p chconf.h.<br>
@@ -302,6 +302,30 @@
/** @} */
/**
+ * @defgroup Mailboxes Mailboxes
+ * @{
+ * Asynchronous messages.
+ * <h2>Operation mode</h2>
+ * A mailbox is an asynchronous communication mechanism.<br>
+ * The following operations are possible on a mailbox:
+ * - <b>Post</b>: Posts a message on the mailbox in FIFO order.
+ * - <b>Post Ahead</b>: Posts a message on the mailbox with high priority.
+ * - <b>Fetch</b>: A message is fetched from the mailbox and removed from
+ * the queue.
+ * - <b>Reset</b>: The mailbox is emptied and all the stored messages lost.
+ * .
+ * A message is a variable of type msg_t that is guaranteed to have the
+ * same size of and be compatible with pointers (an explicit cast is needed).
+ * If larger messages need to be exchanged then a pointer to a structure can
+ * be posted in the mailbox but the posting side has no predefined way to
+ * know when the message has been processed. A possible approach is to
+ * allocate memory (from a memory pool as example) from the posting side and
+ * free it on the fetching side. Another approach is to set a "done" flag into
+ * the structure pointed by the message.
+ */
+/** @} */
+
+/**
* @defgroup IOQueues I/O Queues
* @{
* ChibiOS/RT supports several kinds of queues. The queues are mostly used