]> sigrok.org Git - libsigrokdecode.git/commitdiff
uart: Use same length for data output in all cases.
authorUwe Hermann <redacted>
Thu, 12 Sep 2013 07:32:28 +0000 (09:32 +0200)
committerUwe Hermann <redacted>
Thu, 12 Sep 2013 13:56:06 +0000 (15:56 +0200)
Until now you could get e.g. "d" or "df" as hex output from the UART PD.

This will now be a common-length "0D" and "DF". When all data byte
annotations are of the same lengths the readability in GUI traces is a lot
better. Also, hardcode hex characters to be upper-case (for now).

The same applies to oct ("021" instead of "21") and bin output
("00001001" instead of "1001").

decoders/uart/pd.py

index 5a6dfc00ecb8ee7066c946eb010924eee54b378a..e67da570ebf50e65fb0f75bb2e31e5bfc1edf6df 100644 (file)
@@ -227,11 +227,11 @@ class Decoder(srd.Decoder):
         elif f == 'dec':
             self.putx(rxtx, [0, [s + str(b)]])
         elif f == 'hex':
-            self.putx(rxtx, [0, [s + hex(b)[2:]]])
+            self.putx(rxtx, [0, [s + hex(b)[2:].zfill(2).upper()]])
         elif f == 'oct':
-            self.putx(rxtx, [0, [s + oct(b)[2:]]])
+            self.putx(rxtx, [0, [s + oct(b)[2:].zfill(3)]])
         elif f == 'bin':
-            self.putx(rxtx, [0, [s + bin(b)[2:]]])
+            self.putx(rxtx, [0, [s + bin(b)[2:].zfill(8)]])
         else:
             raise Exception('Invalid data format option: %s' % f)