From 831d893d4b9e4f76b5e645ee5e6fcfd4962ffa6a Mon Sep 17 00:00:00 2001 From: Stefan BrĂ¼ns Date: Mon, 30 Nov 2015 00:35:11 +0100 Subject: 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(-) (limited to 'decoders/usb_signalling/pd.py') 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)] -- cgit v1.2.3-70-g09d2