From: Stefan BrĂ¼ns Date: Sun, 29 Nov 2015 23:35:11 +0000 (+0100) Subject: usb_signalling: fix SOP detection after an error condition X-Git-Tag: libsigrokdecode-0.4.0~22 X-Git-Url: http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=831d893d4b9e4f76b5e645ee5e6fcfd4962ffa6a usb_signalling: fix SOP detection after an error condition If the oldsym is not set to 'J' before entering IDLE state, the SOP detection will never trigger --- diff --git a/decoders/usb_signalling/pd.py b/decoders/usb_signalling/pd.py index 6233c3e..4dfde83 100644 --- a/decoders/usb_signalling/pd.py +++ b/decoders/usb_signalling/pd.py @@ -272,6 +272,7 @@ class Decoder(srd.Decoder): elif sym == 'LS_J': self.signalling = 'low-speed' self.update_bitrate() + self.oldsym = 'J' self.state = 'IDLE' def decode(self, ss, es, data): @@ -302,8 +303,9 @@ class Decoder(srd.Decoder): self.get_bit(sym) elif self.state == 'GET EOP': self.get_eop(sym) + self.oldpins = pins elif self.state == 'WAIT IDLE': - if self.oldpins == pins: + if tuple(pins) == (0, 0): continue if self.samplenum - self.samplenum_lastedge > 1: sym = symbols[self.options['signalling']][tuple(pins)]