]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/usb_power_delivery/pd.py
usb_power_delivery: Drop problematic exception in us2samples().
[libsigrokdecode.git] / decoders / usb_power_delivery / pd.py
index 034c4a904ccc125ed73a77c334aaf378cbbe4f74..48db41b1a2155741b2d13aa662f1039e9d1db568 100644 (file)
@@ -178,6 +178,9 @@ VDM_CMDS = {
 }
 VDM_ACK = ['REQ', 'ACK', 'NAK', 'BSY']
 
+class SamplerateError(Exception):
+    pass
+
 class Decoder(srd.Decoder):
     api_version = 2
     id = 'usb_power_delivery'
@@ -436,7 +439,7 @@ class Decoder(srd.Decoder):
         self.putwarn('No start of packet found', 'XXX')
         return -1   # No Start Of Packet
 
-    def __init__(self, **kwargs):
+    def __init__(self):
         self.samplerate = None
         self.idx = 0
         self.packet_seq = 0
@@ -468,8 +471,6 @@ class Decoder(srd.Decoder):
         )
 
     def us2samples(self, us):
-        if not self.samplerate:
-            raise Exception('Need the samplerate.')
         return int(us * self.samplerate / 1000000)
 
     def decode_packet(self):
@@ -524,11 +525,11 @@ class Decoder(srd.Decoder):
         bitrate = self.samplerate*len(self.bits) / float(es - ss)
         self.put(es, ss, self.out_bitrate, int(bitrate))
         # Raw binary data (BMC decoded)
-        self.put(es, ss, self.out_binary, (0, bytes(self.bits)))
+        self.put(es, ss, self.out_binary, [0, bytes(self.bits)])
 
     def decode(self, ss, es, data):
         if not self.samplerate:
-            raise Exception('Cannot decode without samplerate.')
+            raise SamplerateError('Cannot decode without samplerate.')
         for (self.samplenum, pins) in data:
             # find edges ...
             if self.oldpins == pins: