diff options
Diffstat (limited to 'decoders/usb_signalling/pd.py')
-rw-r--r-- | decoders/usb_signalling/pd.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/decoders/usb_signalling/pd.py b/decoders/usb_signalling/pd.py index c0e0141..ae0f651 100644 --- a/decoders/usb_signalling/pd.py +++ b/decoders/usb_signalling/pd.py @@ -329,9 +329,10 @@ class Decoder(srd.Decoder): elif self.state == 'GET EOP': self.get_eop(sym) elif self.state == 'WAIT IDLE': + # Skip "all-low" input. Wait for high level on either DP or DM. pins = self.wait({'skip': 1}) - if pins == (0, 0): - continue + while not pins[0] and not pins[1]: + pins = self.wait([{0: 'h'}, {1: 'h'}]) if self.samplenum - self.samplenum_lastedge > 1: sym = symbols[self.options['signalling']][pins] self.handle_idle(sym) |