]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/i2cdemux/i2cdemux.py
srd: Add usable one-liner descriptions for all PDs.
[libsigrokdecode.git] / decoders / i2cdemux / i2cdemux.py
index a597188fc95b695e3ff8c4de76cdac6723a9c48c..bb47f230a66f0ec834a7381fb87ee4baaf3a5d81 100644 (file)
@@ -26,9 +26,8 @@ class Decoder(srd.Decoder):
     api_version = 1
     id = 'i2cdemux'
     name = 'I2C demux'
-    longname = 'Generic I2C demultiplexer'
-    desc = 'TODO.'
-    longdesc = 'TODO.'
+    longname = 'I2C demultiplexer'
+    desc = 'Demux I2C packets into per-slave-address streams.'
     license = 'gplv2+'
     inputs = ['i2c']
     outputs = [] # TODO: Only known at run-time.
@@ -57,10 +56,10 @@ class Decoder(srd.Decoder):
     # get the whole chunk of packets (from START to STOP).
     def decode(self, ss, es, data):
 
-        cmd, databyte, ack = data
+        cmd, databyte = data
 
         # Add the I2C packet to our local cache.
-        self.packets += [[ss, es, data]]
+        self.packets.append([ss, es, data])
 
         if cmd in ('ADDRESS READ', 'ADDRESS WRITE'):
             if databyte in self.slaves:
@@ -68,9 +67,9 @@ class Decoder(srd.Decoder):
                 return
 
             # We're never seen this slave, add a new stream.
-            self.slaves += [databyte]
-            self.out_proto += [self.add(srd.OUTPUT_PROTO,
-                               'i2c-%s' % hex(databyte))]
+            self.slaves.append(databyte)
+            self.out_proto.append(self.add(srd.OUTPUT_PROTO,
+                                  'i2c-%s' % hex(databyte)))
             self.stream = self.streamcount
             self.streamcount += 1
         elif cmd == 'STOP':