aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/hal.dox
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-08-17 08:50:00 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-08-17 08:50:00 +0000
commit8b45c58317683148179c9964e67c8f7d0683257b (patch)
treec28a9ca8f403945561465d09d77fe8975378e461 /os/hal/hal.dox
parentae70bb24cc5cd5b1d6a298ea298fe7c25b690dc8 (diff)
downloadChibiOS-8b45c58317683148179c9964e67c8f7d0683257b.tar.gz
ChibiOS-8b45c58317683148179c9964e67c8f7d0683257b.tar.bz2
ChibiOS-8b45c58317683148179c9964e67c8f7d0683257b.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2132 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/hal.dox')
-rw-r--r--os/hal/hal.dox43
1 files changed, 43 insertions, 0 deletions
diff --git a/os/hal/hal.dox b/os/hal/hal.dox
index 2d8a54dc9..20315087b 100644
--- a/os/hal/hal.dox
+++ b/os/hal/hal.dox
@@ -178,6 +178,49 @@
*/
/**
+ * @defgroup I2C I2C Driver
+ * @brief Generic I2C Driver.
+ * @details This module implements a generic I2C driver. The driver implements
+ * a state machine internally:
+ * @dot
+ digraph example {
+ rankdir="LR";
+ node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.8", height="0.8"];
+ edge [fontname=Helvetica, fontsize=8];
+ uninit [label="SPI_UNINIT", style="bold"];
+ stop [label="SPI_STOP\nLow Power"];
+ ready [label="SPI_READY\nClock Enabled"];
+ active [label="SPI_ACTIVE\nBus Active"];
+ uninit -> stop [label="spiInit()"];
+ stop -> ready [label="spiStart()"];
+ ready -> ready [label="spiStart()"];
+ ready -> ready [label="spiIgnore()"];
+ ready -> stop [label="spiStop()"];
+ stop -> stop [label="spiStop()"];
+ ready -> active [label="spiSelect()"];
+ active -> active [label="spiSelect()"];
+ active -> ready [label="spiUnselect()"];
+ ready -> ready [label="spiUnselect()"];
+ active -> active [label="spiIgnore()\nspiExchange()\nspiSend()\nspiReceive()"];
+ }
+ * @enddot
+ *
+ * The driver is not thread safe for performance reasons, if you need to access
+ * the I2C bus from multiple thread then use the @p i2cAcquireBus() and
+ * @p i2cReleaseBus() APIs in order to gain exclusive access.
+ *
+ * @ingroup IO
+ */
+
+/**
+ * @defgroup I2C_LLD I2C Low Level Driver
+ * @brief @ref I2C low level driver template.
+ * @details This file is a template for an I2C low level driver.
+ *
+ * @ingroup I2C
+ */
+
+/**
* @defgroup SPI SPI Driver
* @brief Generic SPI Driver.
* @details This module implements a generic SPI driver. The driver implements