From 3d2f2081cebee2936d8073ab6a55177b6549013e Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 17 Feb 2009 19:58:46 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@778 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/Doxyfile | 8 ++++++-- docs/ch.txt | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 36 insertions(+), 8 deletions(-) (limited to 'docs') 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. *

Operation Mode

- * 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.
+ * 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.
* 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.
@@ -301,6 +301,30 @@ */ /** @} */ +/** + * @defgroup Mailboxes Mailboxes + * @{ + * Asynchronous messages. + *

Operation mode

+ * A mailbox is an asynchronous communication mechanism.
+ * The following operations are possible on a mailbox: + * - Post: Posts a message on the mailbox in FIFO order. + * - Post Ahead: Posts a message on the mailbox with high priority. + * - Fetch: A message is fetched from the mailbox and removed from + * the queue. + * - Reset: 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 * @{ -- cgit v1.2.3