]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/maxim_ds28ea00/pd.py
All PDs: Only import the 'Decoder' object.
[libsigrokdecode.git] / decoders / maxim_ds28ea00 / pd.py
index 026457e5783a7cc66c8bf54951e0ce311d003373..229331fd393d0e917ab5bc0624df7218f9d6a3ce 100644 (file)
@@ -1,5 +1,5 @@
 ##
-## This file is part of the sigrok project.
+## This file is part of the libsigrokdecode project.
 ##
 ## Copyright (C) 2012 Iztok Jeras <iztok.jeras@gmail.com>
 ##
@@ -18,8 +18,6 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-# Maxim DS28EA00 protocol decoder
-
 import sigrokdecode as srd
 
 # Dictionary of FUNCTION commands and their names.
@@ -38,25 +36,17 @@ command = {
 }
 
 class Decoder(srd.Decoder):
-    api_version = 1
+    api_version = 2
     id = 'maxim_ds28ea00'
-    name = 'Maxim DS28EA00'
+    name = 'DS28EA00'
     longname = 'Maxim DS28EA00 1-Wire digital thermometer'
-    desc = '1-Wire digital thermometer with Sequence Detect and PIO'
+    desc = '1-Wire digital thermometer with Sequence Detect and PIO.'
     license = 'gplv2+'
     inputs = ['onewire_network']
     outputs = ['maxim_ds28ea00']
-    probes = []
-    optional_probes = [
-        {'id': 'pioa', 'name': 'PIOA/DONE#',
-         'desc': 'PIOA channel and chain output'},
-        {'id': 'piob', 'name': 'PIOB/EN#',
-         'desc': 'PIOB channel and chain output'},
-    ]
-    options = {}
-    annotations = [
-        ['Text', 'Human-readable text'],
-    ]
+    annotations = (
+        ('text', 'Human-readable text'),
+    )
 
     def __init__(self, **kwargs):
         self.trn_beg = 0
@@ -64,11 +54,8 @@ class Decoder(srd.Decoder):
         self.state = 'ROM'
         self.rom = 0x0000000000000000
 
-    def start(self, metadata):
-        self.out_ann = self.add(srd.OUTPUT_ANN, 'maxim_ds28ea00')
-
-    def report(self):
-        pass
+    def start(self):
+        self.out_ann = self.register(srd.OUTPUT_ANN)
 
     def putx(self, data):
         self.put(self.ss, self.es, self.out_ann, data)
@@ -101,6 +88,3 @@ class Decoder(srd.Decoder):
                 self.putx([0, ['Temperature conversion status: 0x%02x' % val]])
             elif self.state in [s.upper() for s in command.values()]:
                 self.putx([0, ['TODO \'%s\': 0x%02x' % (self.state, val)]])
-            else:
-                raise Exception('Invalid state: %s' % self.state)
-