]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/usb_signalling/pd.py
all decoders: introduce a reset() method
[libsigrokdecode.git] / decoders / usb_signalling / pd.py
index ae0f651a5de5a2ed384585a58a36b9b8992b65a7..424117dbe2cb5613744f6f54afd88b7022fa892c 100644 (file)
@@ -135,6 +135,9 @@ class Decoder(srd.Decoder):
     )
 
     def __init__(self):
+        self.reset()
+
+    def reset(self):
         self.samplerate = None
         self.oldsym = 'J' # The "idle" state is J.
         self.ss_block = None
@@ -302,7 +305,7 @@ class Decoder(srd.Decoder):
             raise SamplerateError('Cannot decode without samplerate.')
 
         # Seed internal state from the very first sample.
-        pins = self.wait({'skip': 1})
+        pins = self.wait()
         sym = symbols[self.options['signalling']][pins]
         self.handle_idle(sym)
 
@@ -330,7 +333,7 @@ class Decoder(srd.Decoder):
                     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})
+                pins = self.wait()
                 while not pins[0] and not pins[1]:
                     pins = self.wait([{0: 'h'}, {1: 'h'}])
                 if self.samplenum - self.samplenum_lastedge > 1: