]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/i2cfilter/i2cfilter.py
srd: I2C: change format to have ACK/NACK bits as separate events
[libsigrokdecode.git] / decoders / i2cfilter / i2cfilter.py
index 4b88befbcfa147ec9ed838daa8ac1190073d0a24..939e667b77b94195083c99bd063f7d44a54871d7 100644 (file)
@@ -17,8 +17,9 @@
 ## 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
@@ -44,7 +45,7 @@ class Decoder(srd.Decoder):
 
     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
 
@@ -56,6 +57,9 @@ class Decoder(srd.Decoder):
         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.
@@ -73,4 +77,3 @@ class Decoder(srd.Decoder):
         else:
             raise Exception('Invalid state: %s' % self.state)
 
-