diff options
-rw-r--r-- | decoders/ddc.py | 6 | ||||
-rw-r--r-- | decoders/i2c.py | 38 | ||||
-rw-r--r-- | decoders/nunchuk.py | 12 | ||||
-rw-r--r-- | decoders/uart.py | 7 |
4 files changed, 28 insertions, 35 deletions
diff --git a/decoders/ddc.py b/decoders/ddc.py index 9b5bc5f..395f72f 100644 --- a/decoders/ddc.py +++ b/decoders/ddc.py @@ -60,10 +60,10 @@ class Decoder(srd.Decoder): if self.state is None: # Wait for the DDC session to start. - if cmd in ('START', 'START_REPEAT'): + if cmd in ('START', 'START REPEAT'): self.state = 'start' elif self.state == 'start': - if cmd == 'ADDRESS_READ' and data == 80: + if cmd == 'ADDRESS READ' and data == 80: # 80 is the I2C slave address of a connected display, # so this marks the start of the DDC data transfer. self.state = 'transfer' @@ -71,7 +71,7 @@ class Decoder(srd.Decoder): # Got back to the idle state. self.state = None elif self.state == 'transfer': - if cmd == 'DATA_READ': + if cmd == 'DATA READ': # There shouldn't be anything but data reads on this # address, so ignore everything else. self.put(ss, es, self.out_ann, [0, ['0x%.2x' % data]]) diff --git a/decoders/i2c.py b/decoders/i2c.py index b0273c0..5d616db 100644 --- a/decoders/i2c.py +++ b/decoders/i2c.py @@ -70,23 +70,21 @@ # -> we need to decode multiple protocols at the same time. # -# I2C protocol output format: +# 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 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) +# - '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_* +# <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. @@ -102,14 +100,14 @@ ANN_RAW = 2 # Values are verbose and short annotation, respectively. protocol = { 'START': ['START', 'S'], - 'START_REPEAT': ['START REPEAT', 'Sr'], + 'START REPEAT': ['START REPEAT', 'Sr'], 'STOP': ['STOP', 'P'], 'ACK': ['ACK', 'A'], 'NACK': ['NACK', 'N'], - 'ADDRESS_READ': ['ADDRESS READ', 'AR'], - 'ADDRESS_WRITE': ['ADDRESS WRITE', 'AW'], - 'DATA_READ': ['DATA READ', 'DR'], - 'DATA_WRITE': ['DATA WRITE', 'DW'], + 'ADDRESS READ': ['ADDRESS READ', 'AR'], + 'ADDRESS WRITE': ['ADDRESS WRITE', 'AW'], + 'DATA READ': ['DATA READ', 'DR'], + 'DATA WRITE': ['DATA WRITE', 'DW'], } # States @@ -234,13 +232,13 @@ class Decoder(srd.Decoder): ack_bit = 'NACK' if (sda == 1) else 'ACK' if self.state == FIND_ADDRESS and self.wr == 1: - cmd = 'ADDRESS_WRITE' + cmd = 'ADDRESS WRITE' elif self.state == FIND_ADDRESS and self.wr == 0: - cmd = 'ADDRESS_READ' + cmd = 'ADDRESS READ' elif self.state == FIND_DATA and self.wr == 1: - cmd = 'DATA_WRITE' + cmd = 'DATA WRITE' elif self.state == FIND_DATA and self.wr == 0: - cmd = 'DATA_READ' + cmd = 'DATA READ' self.put(self.out_proto, [cmd, d, ack_bit]) self.put(self.out_ann, [ANN_SHIFTED, diff --git a/decoders/nunchuk.py b/decoders/nunchuk.py index 0a1a24c..4a5b7a0 100644 --- a/decoders/nunchuk.py +++ b/decoders/nunchuk.py @@ -75,14 +75,14 @@ class Decoder(srd.Decoder): if cmd == 'START': # TODO: Handle 'Sr' here, too? self.state = START - elif cmd == 'START_REPEAT': + elif cmd == 'START REPEAT': pass # FIXME - elif cmd == 'ADDRESS_READ': + elif cmd == 'ADDRESS READ': # TODO: Error/Warning, not supported, I think. pass - elif cmd == 'ADDRESS_WRITE': + elif cmd == 'ADDRESS WRITE': # The Wii Nunchuk always has slave address 0x54. # TODO: Handle this stuff more correctly. if databyte == 0x54: @@ -90,7 +90,7 @@ class Decoder(srd.Decoder): else: pass # TODO: What to do here? Ignore? Error? - elif cmd == 'DATA_READ' and self.state == INITIALIZED: + elif cmd == 'DATA READ' and self.state == INITIALIZED: if self.databytecount == 0: self.sx = databyte elif self.databytecount == 1: @@ -124,10 +124,10 @@ class Decoder(srd.Decoder): # TODO: If 6 bytes read -> save and reset # TODO - elif cmd == 'DATA_READ' and self.state != INITIALIZED: + elif cmd == 'DATA READ' and self.state != INITIALIZED: pass - elif cmd == 'DATA_WRITE': + elif cmd == 'DATA WRITE': if self.state == IDLE: self.state = INITIALIZED return diff --git a/decoders/uart.py b/decoders/uart.py index a72578f..760a590 100644 --- a/decoders/uart.py +++ b/decoders/uart.py @@ -411,7 +411,7 @@ class Decoder(srd.Decoder): def decode(self, ss, es, data): # TODO # for (samplenum, (rx, tx)) in data: - for (samplenum, (rx,)) in data: + for (samplenum, (rx)) in data: # TODO: Start counting at 0 or 1? Increase before or after? self.samplenum += 1 @@ -441,8 +441,3 @@ class Decoder(srd.Decoder): self.oldrx = rx # self.oldtx = tx - # if proto != []: - # self.put(0, 0, self.out_proto, proto) - # if ann != []: - # self.put(0, 0, self.out_ann, ann) - |