## along with this program; if not, see <http://www.gnu.org/licenses/>.
##
-import sigrokdecode as srd
+# Generic I2C filtering protocol decoder
+import sigrokdecode as srd
class Decoder(srd.Decoder):
api_version = 1
def decode(self, ss, es, data):
try:
- cmd, data, ack_bit = data
+ cmd, data = data
except Exception as e:
raise Exception('Malformed I2C input: %s' % str(e)) from e
if cmd == 'STOP':
self.state = None
return
+ if cmd in ('ACK', 'NACK'):
+ # Don't care, we just want data.
+ return
if self.state == 'start':
# Start of a transfer, see if we want this one.
else:
raise Exception('Invalid state: %s' % self.state)
-