-
- # Store individual bits and their start/end samplenumbers.
- # In the list, index 0 represents the LSB (I²C transmits MSB-first).
- self.data_bits.insert(0, [sda, self.samplenum, self.samplenum])
- if self.bitcount > 0:
- self.data_bits[1][2] = self.samplenum
- if self.bitcount == 7:
- self.bitwidth = self.data_bits[1][2] - self.data_bits[2][2]
- self.data_bits[0][2] += self.bitwidth
-
- # Return if we haven't collected all 8 + 1 bits, yet.
- if self.bitcount < 7:
- self.bitcount += 1
+ if self.data_bits:
+ self.data_bits[-1][2] = self.samplenum
+ self.data_bits.append([sda, self.samplenum, self.samplenum])
+ if len(self.data_bits) < 8: