Could the sigrok i2c decoder have an issue, when ACK is saught but STOP is seen instead on the wire? Does the (essence of the) recent dslab commit c6bdd0e5ed65 apply to the sigrok code base? Unfortunately the commit message is short on details, no data how to reproduce. Just this message:
Fix decoder issues (stop of i2c, break of dmx512) and this change: elif self.state == 'FIND ACK': - # Wait for a data/ack bit: SCL = rising. - (scl, sda) = self.wait({0: 'r'}) - self.get_ack(scl, sda) + # Wait for any of the following conditions (or combinations): + # a) a data/ack bit: SCL = rising. + # b) STOP condition (P): SCL = high, SDA = rising + (scl, sda) = self.wait([{0: 'r'}, {0: 'h', 1: 'r'}]) + if (self.matched & (0b1 << 0)): + self.get_ack(scl, sda) + elif (self.matched & (0b1 << 1)): + self.handle_stop() virtually yours Gerhard Sittig -- If you don't understand or are scared by any of the above ask your parents or an adult to help you. _______________________________________________ sigrok-devel mailing list sigrok-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sigrok-devel