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: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=d25293e6e4bf8126223c885e2bdccde9118800e7 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 = []