]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/timing/pd.py
spiflash: Add Winbond W25Q80DV metadata.
[libsigrokdecode.git] / decoders / timing / pd.py
index b694c1ddfdb75d53407d08d132355cd9bfc877cb..61eab1ea104c03b1a45b8f646f2b16df697cf4eb 100644 (file)
@@ -25,19 +25,19 @@ class SamplerateError(Exception):
     pass
 
 def normalize_time(t):
-    if t >= 1.0:
+    if abs(t) >= 1.0:
         return '%.3f s  (%.3f Hz)' % (t, (1/t))
-    elif t >= 0.001:
+    elif abs(t) >= 0.001:
         if 1/t/1000 < 1:
             return '%.3f ms (%.3f Hz)' % (t * 1000.0, (1/t))
         else:
             return '%.3f ms (%.3f kHz)' % (t * 1000.0, (1/t)/1000)
-    elif t >= 0.000001:
+    elif abs(t) >= 0.000001:
         if 1/t/1000/1000 < 1:
             return '%.3f μs (%.3f kHz)' % (t * 1000.0 * 1000.0, (1/t)/1000)
         else:
             return '%.3f μs (%.3f MHz)' % (t * 1000.0 * 1000.0, (1/t)/1000/1000)
-    elif t >= 0.000000001:
+    elif abs(t) >= 0.000000001:
         if 1/t/1000/1000/1000:
             return '%.3f ns (%.3f MHz)' % (t * 1000.0 * 1000.0 * 1000.0, (1/t)/1000/1000)
         else:
@@ -74,8 +74,10 @@ class Decoder(srd.Decoder):
     )
 
     def __init__(self):
+        self.reset()
+
+    def reset(self):
         self.samplerate = None
-        self.oldpin = None
         self.last_samplenum = None
         self.last_n = deque()
         self.chunks = 0
@@ -89,7 +91,6 @@ class Decoder(srd.Decoder):
     def start(self):
         self.out_ann = self.register(srd.OUTPUT_ANN)
         self.edge = self.options['edge']
-        self.initial_pins = [0]
 
     def decode(self):
         if not self.samplerate: