From: Gerhard Sittig Date: Tue, 28 Jul 2020 15:38:45 +0000 (+0200) Subject: sle44xx: don't assume RESET at the start of the capture X-Git-Url: http://sigrok.org/gitweb/?a=commitdiff_plain;h=d25293e6e4bf8126223c885e2bdccde9118800e7;hp=80c76d2092814d2cd7d0f9fc6ddd6c0c937106dc;p=libsigrokdecode.git sle44xx: don't assume RESET at the start of the capture The decoder cannot know the state of the input signal before the start of the capture. Assuming the RESET state results in incorrect output for data bits which we don't know the context of. Start from unknown state instead until a reliable condition is seen to synchronize to. --- diff --git a/decoders/sle44xx/pd.py b/decoders/sle44xx/pd.py index a53a1ea..f84bea6 100644 --- a/decoders/sle44xx/pd.py +++ b/decoders/sle44xx/pd.py @@ -83,7 +83,7 @@ class Decoder(srd.Decoder): def reset(self): self.ss = self.es = self.ss_byte = -1 self.bits = [] - self.cmd = 'RESET' + self.cmd = None def metadata(self, key, value): if key == srd.SRD_CONF_SAMPLERATE: @@ -153,7 +153,8 @@ class Decoder(srd.Decoder): self.put(bit_ss, bit_es, self.out_ann, [cls, texts]) cls, texts = lookup_proto_ann_txt(self.cmd, {'data': databyte}) - self.putx([cls, texts]) + if cls: + self.putx([cls, texts]) # Done with this packet. self.bits = []