import sigrokdecode as srd
from .lists import *
+class SamplerateError(Exception):
+ pass
+
class Decoder(srd.Decoder):
- api_version = 1
+ api_version = 2
id = 'ir_nec'
name = 'IR NEC'
longname = 'IR NEC'
self.addr = self.cmd = None
def start(self):
- # self.out_python = self.register(srd.OUTPUT_PYTHON)
self.out_ann = self.register(srd.OUTPUT_ANN)
self.active = 0 if self.options['polarity'] == 'active-low' else 1
self.old_ir = 1 if self.active == 0 else 0
return ret == 0
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]
self.putremote()
self.ss_bit = self.ss_start = self.samplenum
self.state = 'IDLE'
- else:
- raise Exception('Invalid state: %s' % self.state)
self.old_ir = self.ir
-