]> sigrok.org Git - libsigrokdecode.git/blobdiff - decoders/jitter/pd.py
jitter, pwm: Avoid Unicode string literals
[libsigrokdecode.git] / decoders / jitter / pd.py
index b5e3a294727c1ff2961709814fee8c92839856d2..d572c365c61423ec6f6278c33c1f3fa4c5ee98b0 100644 (file)
@@ -60,7 +60,7 @@ class Decoder(srd.Decoder):
         ('sig_missed', 'Signal missed', (2,)),
     )
     binary = (
-        ('jitter', 'Raw jitter values'),
+        ('ascii-float', 'Jitter values as newline-separated ASCII floats'),
     )
 
     def __init__(self, **kwargs):
@@ -91,28 +91,28 @@ class Decoder(srd.Decoder):
     def putx(self, delta):
         # Adjust granularity.
         if delta == 0 or delta >= 1:
-            delta_s = u"%us" % (delta)
+            delta_s = "%.1fs" % (delta)
         elif delta <= 1e-12:
-            delta_s = u"%.1ffs" % (delta * 1e15)
+            delta_s = "%.1ffs" % (delta * 1e15)
         elif delta <= 1e-9:
-            delta_s = u"%.1fps" % (delta * 1e12)
+            delta_s = "%.1fps" % (delta * 1e12)
         elif delta <= 1e-6:
-            delta_s = u"%.1fns" % (delta * 1e9)
+            delta_s = "%.1fns" % (delta * 1e9)
         elif delta <= 1e-3:
-            delta_s = u"%.1fμs" % (delta * 1e6)
+            delta_s = "%.1fμs" % (delta * 1e6)
         else:
-            delta_s = u"%.1fms" % (delta * 1e3)
+            delta_s = "%.1fms" % (delta * 1e3)
 
         self.put(self.clk_start, self.sig_start, self.out_ann, [0, [delta_s]])
 
-    # Helper function for raw jitter value which could be useful for statistics.
+    # Helper function for ASCII float jitter values (one value per line).
     def putb(self, delta):
         if delta is None:
             return
-        # format the delta to an ascii output
-        for x in str(delta):
-            self.put(self.clk_start, self.sig_start, self.out_bin, (0, bytes([ord(x)])))
-        self.put(self.clk_start, self.sig_start, self.out_bin, (0, bytes([ord('\n')])))
+        # Format the delta to an ASCII float value terminated by a newline.
+        x = str(delta) + '\n'
+        self.put(self.clk_start, self.sig_start, self.out_bin,
+                 (0, x.encode('UTF-8')))
 
     # Helper function for missed clock and signal annotations.
     def putm(self, data):