I2C Application

This application allows for communication by I2C, the Inter-IC Bus. Use the following pinout, which is similar to the JTAG pinout.

NamePinName
SCL 12 Vcc
SDA 34 Vcc
56
78
GND 910
1112
1314

TODO, image goes here.

Clients

A Python client, goodfet.i2ceeprom is currently in a alpha stage and needs more testing

Development

Prior to any transaction, the SETUP (0x10) verb should be sent to the I2C application to properly set the I/O directions and values. The START (0x20), STOP (0x21), READ (0x00), and WRITE (0x01) verbs are used for transactions, with WRITE returning the acknowledge bit.

Please note that I2C application has yet to be tested. This should be completed by June 17 at the latest.

Verbs

The following verbs are supported.

Hex#defineDescription
0x00READRead bytes.
0x01WRITEWrite bytes.
0x10SETUPConfigure I/O pins.
0x20STARTStart a transaction.
0x21STOPStop a transaction.
0x80SCANScan 8 bit addresses on the bus.