aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-05-27 22:59:24 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-05-27 22:59:24 -0400
commitae5d739f430f14886798910966165df5d2be014b (patch)
tree0c0b13239e4ef31ea36f6fe6b0a8996ffaf657c6 /docs
parent735e925643458ac51e845b721e76ce7f92c8fd8d (diff)
downloadlibrambutan-ae5d739f430f14886798910966165df5d2be014b.tar.gz
librambutan-ae5d739f430f14886798910966165df5d2be014b.zip
Docs: Improve i2c.rst.
Slightly reorganize to keep it consistent with the rest of the docs.
Diffstat (limited to 'docs')
-rw-r--r--docs/source/i2c.rst31
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
-----------------------