diff options
Diffstat (limited to 'decoders')
-rw-r--r-- | decoders/ddc.py | 15 | ||||
-rw-r--r-- | decoders/i2c.py | 43 |
2 files changed, 28 insertions, 30 deletions
diff --git a/decoders/ddc.py b/decoders/ddc.py index 123881f..2336159 100644 --- a/decoders/ddc.py +++ b/decoders/ddc.py @@ -16,16 +16,13 @@ ## You should have received a copy of the GNU General Public License ## along with this program; if not, If not, see <http://www.gnu.org/licenses/>. ## +""" +This decoder extracts a DDC stream from an I2C session between a computer +and a display device. The stream is output as plain bytes. -# -# DDC protocol decoder -# -# This decoder extracts a DDC stream from an I2C session between a computer -# and a display device. The stream is output as plain bytes. -# -# Details: -# https://en.wikipedia.org/wiki/Display_Data_Channel -# +Details: +https://en.wikipedia.org/wiki/Display_Data_Channel +""" import sigrokdecode as srd diff --git a/decoders/i2c.py b/decoders/i2c.py index 0044190..e63ab85 100644 --- a/decoders/i2c.py +++ b/decoders/i2c.py @@ -22,7 +22,6 @@ # I2C protocol decoder # -# # The Inter-Integrated Circuit (I2C) bus is a bidirectional, multi-master # bus using two signals (SCL = serial clock line, SDA = serial data line). # @@ -69,26 +68,28 @@ # TODO: Handle multiple different I2C devices on same bus # -> we need to decode multiple protocols at the same time. -# -# Protocol output format: -# -# I2C packet: -# [<i2c_command>, <data>, <ack_bit>] -# -# <i2c_command> is one of: -# - 'START' (START condition) -# - 'START REPEAT' (Repeated START) -# - 'ADDRESS READ' (Slave address, read) -# - 'ADDRESS WRITE' (Slave 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. -# +""" +I2C protocol output format: + +The protocol output consists of a (Python) list of I2C "packets", each of +which is of the form + + [ _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. +""" import sigrokdecode as srd |