]> sigrok.org Git - libsigrokdecode.git/commitdiff
uart: Display non-ASCII characters properly.
authorUwe Hermann <redacted>
Tue, 3 Dec 2013 13:46:23 +0000 (14:46 +0100)
committerUwe Hermann <redacted>
Tue, 3 Dec 2013 13:54:28 +0000 (14:54 +0100)
We use the [XX] notation for non-printable characters, which is what
various other logic analyzer software packages do too, e.g. the
CWAV USBee Suite.

This fixes bug #201.

decoders/uart/pd.py

index f01048038726b006a96ddc03f2d8b210299d4ac8..d71fc23115760c06fd9e2eef56ab64ba1dc47770 100644 (file)
@@ -222,7 +222,8 @@ class Decoder(srd.Decoder):
 
         b, f = self.databyte[rxtx], self.options['format']
         if f == 'ascii':
-            self.putx(rxtx, [rxtx, [chr(b)]])
+            c = chr(b) if chr(b).isprintable() else '[%02X]' % b
+            self.putx(rxtx, [rxtx, [c]])
         elif f == 'dec':
             self.putx(rxtx, [rxtx, [str(b)]])
         elif f == 'hex':