-#
-# I2C input format:
-#
-# signals:
-# [[id, channel, description], ...] # TODO
-#
-# Example:
-# {'id': 'SCL', 'ch': 5, 'desc': 'Serial clock line'}
-# {'id': 'SDA', 'ch': 7, 'desc': 'Serial data line'}
-# ...
-#
-# {'inbuf': [...],
-# 'signals': [{'SCL': }]}
-#
+'''
+Protocol output format:
+
+I2C packet:
+[<i2c_command>, <data>, <ack_bit>]
+
+<i2c_command> is one of:
+ - 'START' (START condition)
+ - 'START REPEAT' (Repeated START)
+ - 'ADDRESS READ' (Address, read)
+ - 'ADDRESS WRITE' (Address, write)
+ - 'DATA READ' (Data, read)
+ - 'DATA WRITE' (Data, write)
+ - 'STOP' (STOP condition)
+
+<data> is the data or address byte associated with the 'ADDRESS*' and 'DATA*'
+command. For 'START', 'START REPEAT' and 'STOP', this is None.
+
+<ack_bit> is either 'ACK' or 'NACK', but may also be None.
+'''