From 831d893d4b9e4f76b5e645ee5e6fcfd4962ffa6a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Stefan=20Br=C3=BCns?= Date: Mon, 30 Nov 2015 00:35:11 +0100 Subject: [PATCH] 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 --- decoders/usb_signalling/pd.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)] -- 2.30.2