summaryrefslogtreecommitdiff
path: root/decoders
diff options
context:
space:
mode:
authorUwe Hermann <uwe@hermann-uwe.de>2013-12-03 14:46:23 +0100
committerUwe Hermann <uwe@hermann-uwe.de>2013-12-03 14:54:28 +0100
commit8705ddc81b001d7f79ed94e9aa34b792cfdd4481 (patch)
treeb420400648571333bd5fe3af46aa3aa93cbfe5ac /decoders
parent169f42726fcd44ca9a98c914b835ae6ff31295c3 (diff)
downloadlibsigrokdecode-8705ddc81b001d7f79ed94e9aa34b792cfdd4481.tar.gz
libsigrokdecode-8705ddc81b001d7f79ed94e9aa34b792cfdd4481.zip
uart: Display non-ASCII characters properly.
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.
Diffstat (limited to 'decoders')
-rw-r--r--decoders/uart/pd.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/decoders/uart/pd.py b/decoders/uart/pd.py
index f010480..d71fc23 100644
--- a/decoders/uart/pd.py
+++ b/decoders/uart/pd.py
@@ -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':