X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Flm75%2Fpd.py;h=6b2bfa8105f32bc18f5752be2cb31addc33c4f38;hb=46fe9a4ab1327b03809fe3e5e288773f3f93e5ea;hp=84cc26a01b952fe91aa1944510c8ef53babb9612;hpb=84c1c0b52820af2418186ac3ecf93a5c6373a22e;p=libsigrokdecode.git diff --git a/decoders/lm75/pd.py b/decoders/lm75/pd.py index 84cc26a..6b2bfa8 100644 --- a/decoders/lm75/pd.py +++ b/decoders/lm75/pd.py @@ -40,7 +40,7 @@ ft = { } class Decoder(srd.Decoder): - api_version = 1 + api_version = 2 id = 'lm75' name = 'LM75' longname = 'National LM75' @@ -48,25 +48,19 @@ class Decoder(srd.Decoder): license = 'gplv2+' inputs = ['i2c'] outputs = ['lm75'] - probes = [] - optional_probes = [ - {'id': 'os', 'name': 'OS', 'desc': 'Overtemperature shutdown'}, - {'id': 'a0', 'name': 'A0', 'desc': 'I²C slave address input 0'}, - {'id': 'a1', 'name': 'A1', 'desc': 'I²C slave address input 1'}, - {'id': 'a2', 'name': 'A2', 'desc': 'I²C slave address input 2'}, - ] options = ( - {'id': 'sensor', 'desc': 'Sensor type', 'default': 'lm75'}, - {'id': 'resolution', 'desc': 'Resolution', 'default': 9, + {'id': 'sensor', 'desc': 'Sensor type', 'default': 'lm75', + 'values': ('lm75',)}, + {'id': 'resolution', 'desc': 'Resolution (bits)', 'default': 9, 'values': (9, 10, 11, 12)}, ) - annotations = [ - ['celsius', 'Temperature in degrees Celsius'], - ['kelvin', 'Temperature in Kelvin'], - ['text-verbose', 'Human-readable text (verbose)'], - ['text', 'Human-readable text'], - ['warnings', 'Human-readable warnings'], - ] + annotations = ( + ('celsius', 'Temperature in degrees Celsius'), + ('kelvin', 'Temperature in Kelvin'), + ('text-verbose', 'Human-readable text (verbose)'), + ('text', 'Human-readable text'), + ('warnings', 'Human-readable warnings'), + ) def __init__(self, **kwargs): self.state = 'IDLE' @@ -74,7 +68,6 @@ class Decoder(srd.Decoder): self.databytes = [] def start(self): - # self.out_python = self.register(srd.OUTPUT_PYTHON) self.out_ann = self.register(srd.OUTPUT_ANN) def putx(self, data): @@ -83,7 +76,7 @@ class Decoder(srd.Decoder): def putb(self, data): # Helper for annotations which span a block of I²C packets. - self.put(self.block_start, self.block_end, self.out_ann, data) + self.put(self.ss_block, self.es_block, self.out_ann, data) def warn_upon_invalid_slave(self, addr): # LM75 and compatible devices have a 7-bit I²C slave address where @@ -109,11 +102,11 @@ class Decoder(srd.Decoder): def handle_temperature_reg(self, b, s, rw): # Common helper for the temperature/T_HYST/T_OS registers. if len(self.databytes) == 0: - self.block_start = self.ss + self.ss_block = self.ss self.databytes.append(b) return self.databytes.append(b) - self.block_end = self.es + self.es_block = self.es self.output_temperature(s, rw) self.databytes = [] @@ -188,6 +181,3 @@ class Decoder(srd.Decoder): else: # self.putx([0, ['Ignoring: %s (data=%s)' % (cmd, databyte)]]) pass - else: - raise Exception('Invalid state: %s' % self.state) -