From 0462fbc56ce40e129ba015bab4a46c0fa396437a Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Wed, 24 Aug 2022 14:44:40 +0800 Subject: [PATCH] update: parallel and usb_signalling decoder --- libsigrokdecode4DSL/decoders/parallel/pd.py | 11 ++++++----- libsigrokdecode4DSL/decoders/usb_signalling/pd.py | 10 +++++----- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/libsigrokdecode4DSL/decoders/parallel/pd.py b/libsigrokdecode4DSL/decoders/parallel/pd.py index e1d477cc..dba46e12 100644 --- a/libsigrokdecode4DSL/decoders/parallel/pd.py +++ b/libsigrokdecode4DSL/decoders/parallel/pd.py @@ -184,9 +184,10 @@ class Decoder(srd.Decoder): def end(self): cur_dex = self.last_samplenum #the last annotation - self.put_py(self.prv_dex, cur_dex, ['ITEM', self.saved_item]) - self.put_ann(self.prv_dex, cur_dex, [0, [self.fmt_item.format(self.saved_item)]]) - self.handel_word(None, cur_dex) + if self.saved_item != None: + self.put_py(self.prv_dex, cur_dex, ['ITEM', self.saved_item]) + self.put_ann(self.prv_dex, cur_dex, [0, [self.fmt_item.format(self.saved_item)]]) + self.handel_word(None, cur_dex) def decode(self): # Determine which (optional) channels have input data. Insist in @@ -227,9 +228,9 @@ class Decoder(srd.Decoder): num_word_items = self.options['wordsize'] num_word_bits = num_item_bits * num_word_items num_digits = (num_item_bits + 3) // 4 - self.fmt_item = "{{:0{}X}}".format(num_digits) + self.fmt_item = "@{{:0{}X}}".format(num_digits) num_digits = (num_word_bits + 3) // 4 - self.fmt_word = "{{:0{}X}}".format(num_digits) + self.fmt_word = "@{{:0{}X}}".format(num_digits) self.num_item_bits = num_item_bits # Keep processing the input stream. Assume "always zero" for diff --git a/libsigrokdecode4DSL/decoders/usb_signalling/pd.py b/libsigrokdecode4DSL/decoders/usb_signalling/pd.py index 65a2b35c..60571f2d 100644 --- a/libsigrokdecode4DSL/decoders/usb_signalling/pd.py +++ b/libsigrokdecode4DSL/decoders/usb_signalling/pd.py @@ -163,12 +163,12 @@ class Decoder(srd.Decoder): if key == srd.SRD_CONF_SAMPLERATE: self.samplerate = value self.signalling = self.options['signalling'] - if self.signalling != 'automatic': - self.update_bitrate() + self.update_bitrate() - def update_bitrate(self): - self.bitrate = bitrates[self.signalling] - self.bitwidth = float(self.samplerate) / float(self.bitrate) + def update_bitrate(self): + if self.signalling != 'automatic': + self.bitrate = bitrates[self.signalling] + self.bitwidth = float(self.samplerate) / float(self.bitrate) def putpx(self, data): s = self.samplenum_edge