X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fi2c%2Fpd.py;h=2b8b302e086184f1952c58cf0fef44d6dba8fab2;hb=2824e81140d3a8e37464f758cf67f50f2f7afca7;hp=ced58cde5d093278b93f8af7328be135e7482729;hpb=d2bdb1303679b97c3de5ce2d2d1f2b62c9828a3a;p=libsigrokdecode.git diff --git a/decoders/i2c/pd.py b/decoders/i2c/pd.py index ced58cd..2b8b302 100644 --- a/decoders/i2c/pd.py +++ b/decoders/i2c/pd.py @@ -110,7 +110,7 @@ class Decoder(srd.Decoder): def __init__(self, **kwargs): self.samplerate = None - self.ss = self.es = self.byte_ss = -1 + self.ss = self.es = self.ss_byte = -1 self.samplenum = None self.bitcount = 0 self.databyte = 0 @@ -182,7 +182,7 @@ class Decoder(srd.Decoder): # Remember the start of the first data/address bit. if self.bitcount == 0: - self.byte_ss = self.samplenum + self.ss_byte = self.samplenum # Store individual bits and their start/end samplenumbers. # In the list, index 0 represents the LSB (I²C transmits MSB-first). @@ -219,12 +219,12 @@ class Decoder(srd.Decoder): cmd = 'DATA READ' bin_class = 2 - self.ss, self.es = self.byte_ss, self.samplenum + self.bitwidth + self.ss, self.es = self.ss_byte, self.samplenum + self.bitwidth self.putp(['BITS', self.bits]) self.putp([cmd, d]) - self.putb((bin_class, bytes([d]))) + self.putb([bin_class, bytes([d])]) for bit in self.bits: self.put(bit[1], bit[2], self.out_ann, [5, ['%d' % bit[0]]]) @@ -233,7 +233,7 @@ class Decoder(srd.Decoder): self.ss, self.es = self.samplenum, self.samplenum + self.bitwidth w = ['Write', 'Wr', 'W'] if self.wr else ['Read', 'Rd', 'R'] self.putx([proto[cmd][0], w]) - self.ss, self.es = self.byte_ss, self.samplenum + self.ss, self.es = self.ss_byte, self.samplenum self.putx([proto[cmd][0], ['%s: %02X' % (proto[cmd][1], d), '%s: %02X' % (proto[cmd][2], d), '%02X' % d]]) @@ -256,7 +256,7 @@ class Decoder(srd.Decoder): # Meta bitrate elapsed = 1 / float(self.samplerate) * (self.samplenum - self.pdu_start + 1) bitrate = int(1 / elapsed * self.pdu_bits) - self.put(self.byte_ss, self.samplenum, self.out_bitrate, bitrate) + self.put(self.ss_byte, self.samplenum, self.out_bitrate, bitrate) cmd = 'STOP' self.ss, self.es = self.samplenum, self.samplenum @@ -269,7 +269,7 @@ class Decoder(srd.Decoder): def decode(self, ss, es, data): if not self.samplerate: - raise SamplerateError("Cannot decode without samplerate.") + raise SamplerateError('Cannot decode without samplerate.') for (self.samplenum, pins) in data: # Ignore identical samples early on (for performance reasons). @@ -299,4 +299,3 @@ class Decoder(srd.Decoder): # Save current SDA/SCL values for the next round. self.oldscl, self.oldsda = scl, sda -