X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fusb_power_delivery%2Fpd.py;h=ad28d97a3c34c45aaafa5e41572043bfd72fa64e;hb=6e58cefe1056bd17f605e7717c44461d324a953d;hp=034c4a904ccc125ed73a77c334aaf378cbbe4f74;hpb=033e7d4db76f2e2a289d5567e9532f26201cfa74;p=libsigrokdecode.git diff --git a/decoders/usb_power_delivery/pd.py b/decoders/usb_power_delivery/pd.py index 034c4a9..ad28d97 100644 --- a/decoders/usb_power_delivery/pd.py +++ b/decoders/usb_power_delivery/pd.py @@ -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' @@ -469,7 +472,7 @@ class Decoder(srd.Decoder): def us2samples(self, us): if not self.samplerate: - raise Exception('Need the samplerate.') + raise SamplerateError('Need the samplerate.') return int(us * self.samplerate / 1000000) def decode_packet(self): @@ -524,11 +527,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: