]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/i2s/pd.py
uart/i2cfilter: Don't check multiple-choice options.
[libsigrokdecode.git] / decoders / i2s / pd.py
index af2af4170f5bc2e72bde7378898c423cc17a5cbb..dc42a4e5d1900a84d892554ed655006fd8b56781 100644 (file)
@@ -33,8 +33,11 @@ Packet:
 <value>: integer
 '''
 
+class SamplerateError(Exception):
+    pass
+
 class Decoder(srd.Decoder):
-    api_version = 1
+    api_version = 2
     id = 'i2s'
     name = 'I²S'
     longname = 'Integrated Interchip Sound'
@@ -42,7 +45,7 @@ class Decoder(srd.Decoder):
     license = 'gplv2+'
     inputs = ['logic']
     outputs = ['i2s']
-    probes = (
+    channels = (
         {'id': 'sck', 'name': 'SCK', 'desc': 'Bit clock line'},
         {'id': 'ws', 'name': 'WS', 'desc': 'Word select line'},
         {'id': 'sd', 'name': 'SD', 'desc': 'Serial data line'},
@@ -128,8 +131,8 @@ class Decoder(srd.Decoder):
         return bytes([lo, hi])
 
     def decode(self, ss, es, data):
-        if self.samplerate is None:
-            raise Exception("Cannot decode without samplerate.")
+        if not self.samplerate:
+            raise SamplerateError('Cannot decode without samplerate.')
         for self.samplenum, (sck, ws, sd) in data:
 
             # Ignore sample if the bit clock hasn't changed.