diff options
author | Marti Bolivar <mbolivar@leaflabs.com> | 2011-05-27 22:59:24 -0400 |
---|---|---|
committer | Marti Bolivar <mbolivar@leaflabs.com> | 2011-05-27 22:59:24 -0400 |
commit | ae5d739f430f14886798910966165df5d2be014b (patch) | |
tree | 0c0b13239e4ef31ea36f6fe6b0a8996ffaf657c6 | |
parent | 735e925643458ac51e845b721e76ce7f92c8fd8d (diff) | |
download | librambutan-ae5d739f430f14886798910966165df5d2be014b.tar.gz librambutan-ae5d739f430f14886798910966165df5d2be014b.zip |
Docs: Improve i2c.rst.
Slightly reorganize to keep it consistent with the rest of the docs.
-rw-r--r-- | docs/source/i2c.rst | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/docs/source/i2c.rst b/docs/source/i2c.rst index 8f1b26f..670b91d 100644 --- a/docs/source/i2c.rst +++ b/docs/source/i2c.rst @@ -4,15 +4,25 @@ ===== |i2c| is a crude and easy-to-hack serial protocol that requires only -two wires/channels for communication between many devices. Every -message passed on the bus is between a *master* (who initiates the -message) and a *slave* device. Slaves are addressed using 7-bit -addresses (up to 127 unique devices); 10-bit addressing is also -possible. Every message consists of an arbitrary combination of 8-bit -reads and writes as requested by the master. Higher level -functionality, such as reading a particular register value, is -achieved by writing to set the memory location then reading to pull -out the data. +two wires/channels for communication between Maple and many other +devices. + +.. contents:: Contents + :local: + +Overview +-------- + +Communication via |i2c| is broken up into messages. Every message is +between a *master* device, which initiates the message, and a *slave* +device, which responds. + +Slaves are addressed using 7-bit addresses (up to 127 unique devices); +10-bit addressing is also possible. Every message consists of an +arbitrary combination of 8-bit reads and writes as requested by the +master. Higher level functionality, such as reading a particular +register value, is achieved by writing to set the memory location then +reading to pull out the data. Note that the master/slave designation is on a message-by-message basis. Maple can act as both a master (messages initiated by user @@ -20,9 +30,6 @@ code) and slave device (responding to requests via configurable interrupt handlers) at the same time (though slave mode is currently unimplemented). -.. contents:: Contents - :local: - Hardware/Circuit Design ----------------------- |