Hi,
> 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()This change makes much sense to me. I would even go one step further and add it to FIND_ADDRESS as well. The latter is called a void message and declared illegal in the specs. But most devices can handle this, so we can surely see this in the wild. Regards, Wolfram
signature.asc
Description: PGP signature
_______________________________________________ sigrok-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/sigrok-devel

