]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/ir_rc5/pd.py
Various PDs: Minor consistency fixes.
[libsigrokdecode.git] / decoders / ir_rc5 / pd.py
index dddf93715900768961aedcb6e9ada3ef15102f23..bd99826da56670719751425539cca947659d9c0e 100644 (file)
 import sigrokdecode as srd
 from .lists import *
 
+class SamplerateError(Exception):
+    pass
+
 class Decoder(srd.Decoder):
-    api_version = 1
+    api_version = 2
     id = 'ir_rc5'
     name = 'IR RC-5'
     longname = 'IR RC-5'
@@ -30,7 +33,7 @@ class Decoder(srd.Decoder):
     license = 'gplv2+'
     inputs = ['logic']
     outputs = ['ir_rc5']
-    probes = (
+    channels = (
         {'id': 'ir', 'name': 'IR', 'desc': 'IR data line'},
     )
     options = (
@@ -133,8 +136,8 @@ class Decoder(srd.Decoder):
         self.state = 'IDLE'
 
     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, pins) in data:
 
             self.ir = pins[0]
@@ -168,8 +171,6 @@ class Decoder(srd.Decoder):
                 if edge == 's':
                     self.state = 'MID0'
                 bit = 0 if edge == 's' else None
-            else:
-                raise Exception('Invalid state: %s' % self.state)
 
             self.edges.append(self.samplenum)
             if bit != None: