aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/dox/i2c.dox
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/dox/i2c.dox')
-rw-r--r--os/hal/dox/i2c.dox102
1 files changed, 0 insertions, 102 deletions
diff --git a/os/hal/dox/i2c.dox b/os/hal/dox/i2c.dox
deleted file mode 100644
index 4b2342e5d..000000000
--- a/os/hal/dox/i2c.dox
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012,2013 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @defgroup I2C I2C Driver
- * @brief Generic I2C Driver.
- * @details This module implements a generic I2C (Inter-Integrated Circuit)
- * driver.
- * @pre In order to use the I2C driver the @p HAL_USE_I2C option
- * must be enabled in @p halconf.h.
- *
- * @section i2c_1 Driver State Machine
- * The driver implements a state machine internally, not all the driver
- * functionalities can be used in any moment, any transition not explicitly
- * shown in the following diagram has to be considered an error and shall
- * be captured by an assertion (if enabled).
- * @if LATEX_PDF
- * @dot
- digraph example {
- size="5, 7";
- rankdir="LR";
-
- node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
- width="0.9", height="0.9"];
- edge [fontname=Helvetica, fontsize=8];
-
- stop [label="I2C_STOP\nLow Power"];
- uninit [label="I2C_UNINIT", style="bold"];
- ready [label="I2C_READY\nClock Enabled"];
- active_tx [label="I2C_ACTIVE_TX\nBus TX Active"];
- active_rx [label="I2C_ACTIVE_RX\nBus RX Active"];
- locked [label="I2C_LOCKED\nBus Locked"];
-
- uninit -> stop [label="i2cInit()", constraint=false];
- stop -> stop [label="i2cStop()"];
- stop -> ready [label="i2cStart()"];
- ready -> ready [label="i2cStart()"];
- ready -> stop [label="i2cStop()"];
- ready -> active_tx [label="i2cMasterTransmit()"];
- ready -> active_rx [label="i2cMasterReceive()"];
- active_tx -> ready [label="completed"];
- active_rx -> ready [label="completed"];
- active_tx -> locked [label="RDY_TIMEOUT"];
- active_rx -> locked [label="RDY_TIMEOUT"];
- locked -> stop [label="i2cStop()"];
- locked -> ready [label="i2cStart()"];
- }
- * @else
- * @dot
- digraph example {
- rankdir="LR";
-
- node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true",
- width="0.9", height="0.9"];
- edge [fontname=Helvetica, fontsize=8];
-
- stop [label="I2C_STOP\nLow Power"];
- uninit [label="I2C_UNINIT", style="bold"];
- ready [label="I2C_READY\nClock Enabled"];
- active_tx [label="I2C_ACTIVE_TX\nBus TX Active"];
- active_rx [label="I2C_ACTIVE_RX\nBus RX Active"];
- locked [label="I2C_LOCKED\nBus Locked"];
-
- uninit -> stop [label="i2cInit()", constraint=false];
- stop -> stop [label="i2cStop()"];
- stop -> ready [label="i2cStart()"];
- ready -> ready [label="i2cStart()"];
- ready -> stop [label="i2cStop()"];
- ready -> active_tx [label="i2cMasterTransmit()"];
- ready -> active_rx [label="i2cMasterReceive()"];
- active_tx -> ready [label="completed"];
- active_rx -> ready [label="completed"];
- active_tx -> locked [label="RDY_TIMEOUT"];
- active_rx -> locked [label="RDY_TIMEOUT"];
- locked -> stop [label="i2cStop()"];
- locked -> ready [label="i2cStart()"];
- }
- * @enddot
- * @endif
- * The driver is not thread safe for performance reasons, if you need to access
- * the I2C bus from multiple threads then use the @p i2cAcquireBus() and
- * @p i2cReleaseBus() APIs in order to gain exclusive access.
- *
- * @ingroup IO
- */