aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/i2c.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-03-30 00:55:51 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-03-30 07:19:13 -0400
commitb13926073f47012d6654b0236f195c4356831fc2 (patch)
tree6b7e2a0f98ad0dd469855012cd9a10add8c8def4 /docs/source/i2c.rst
parentefbc87c64d89bbb367b6d8face6c50edf0eb5e5c (diff)
downloadlibrambutan-b13926073f47012d6654b0236f195c4356831fc2.tar.gz
librambutan-b13926073f47012d6654b0236f195c4356831fc2.zip
Board-specific values; corresponding QA test generalizations.
Various board-specific #defines and arrays of pins added. For the changelog (some of this information predates this commit): * wirish/boards.h now declares the following arrays of pin numbers: * boardPWMPins - PWM-capable pins * boardADCPins - ADC-capable pins * boardUsedPins - pins already in use, e.g. BOARD_BUTTON_PIN It also declares a bool boardUsesPin(uint8 pin) function for convenient testing of whether a pin is in use. * wirish/boards/*.h now define: * BOARD_USART1_TX_PIN * BOARD_USART1_RX_PIN * BOARD_USART2_TX_PIN * BOARD_USART2_RX_PIN * BOARD_USART3_TX_PIN * BOARD_USART3_RX_PIN * BOARD_NR_GPIO_PINS (renamed from NR_GPIO_PINS) * BOARD_NR_USARTS (renamed from NR_USARTS) * BOARD_NR_PWM_PINS * BOARD_NR_ADC_PINS * BOARD_NR_USED_PINS * wirish/boards/maple_native.h now defines: * BOARD_UART4_TX_PIN * BOARD_UART4_RX_PIN * BOARD_UART5_TX_PIN * BOARD_UART5_RX_PIN (Unfortunately, wirish/boards/maple_RET6.h cannot, since at least one of the UART4/UART5 pins are used already; this will require layout changes for a wide-release Maple form factor RET6 board). * wirish/boards/*.cpp all include the corresponding array definitions. They all live in flash by default, thanks to the new __FLASH__ macro in wirish/wirish_types.h, which is a synonym for the existing __attr_flash #define in libmaple/libmaple_types.h. The documentation was updated to include this information. It also gained various FIXME/TODO comments related to its generalization across boards. The quality assurance-related examples (examples/qa-slave-shield.cpp and examples/test-session.cpp) now make heavy use of board-specific values to ensure portability.
Diffstat (limited to 'docs/source/i2c.rst')
-rw-r--r--docs/source/i2c.rst19
1 files changed, 10 insertions, 9 deletions
diff --git a/docs/source/i2c.rst b/docs/source/i2c.rst
index b4a996b..e2a7a04 100644
--- a/docs/source/i2c.rst
+++ b/docs/source/i2c.rst
@@ -4,11 +4,16 @@
|i2c|
=====
+.. FIXME update this documentation once you write the Wire library on
+.. top of libmaple i2c.
+
+.. FIXME generalize Maple-specific documentation
+
.. note::
- The |i2c| interface is currently only available from the 'i2c' branch
- of the github `libmaple <http://github.com/leaflabs/libmaple>`_
- repository.
+ The |i2c| interface is currently only available from the 'refactor'
+ branch of the github `libmaple
+ <http://github.com/leaflabs/libmaple>`_ repository.
|i2c| is a crude and easy-to-hack serial protocol that requires only
two wires/channels for communication between many devices. Every
@@ -56,10 +61,8 @@ Function Reference
------------------
The function API for |i2c| is not finished! See the `source code
-<http://github.com/leaflabs/libmaple/blob/i2c/libmaple/i2c.h>`_ for
-now.
-
-.. TODO link to libmaple I2C docs once (1) finished, (2) in master
+<https://github.com/leaflabs/libmaple/blob/refactor/libmaple/i2c.h>`_
+for now.
SMBus
-----
@@ -68,8 +71,6 @@ The STM32 microcontroller has hardware support for SMBus; we simply
have not written software for it. The SMBAL line for i2c1 is on header
D4 and for i2c2 is on D31.
-.. TODO link to libmaple SMBus docs once (1) finished, (2) in master
-
.. _i2c-recommended-reading:
Recommended Reading