- s = 'RX: ' if (rxtx == RX) else 'TX: '
- b = self.databyte[rxtx]
- self.putx(rxtx, [ANN_ASCII, [s + chr(b)]])
- self.putx(rxtx, [ANN_DEC, [s + str(b)]])
- self.putx(rxtx, [ANN_HEX, [s + hex(b)[2:]]])
- self.putx(rxtx, [ANN_OCT, [s + oct(b)[2:]]])
- self.putx(rxtx, [ANN_BITS, [s + bin(b)[2:]]])
+ b, f = self.databyte[rxtx], self.options['format']
+ if f == 'ascii':
+ 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':
+ self.putx(rxtx, [rxtx, [hex(b)[2:].zfill(2).upper()]])
+ elif f == 'oct':
+ self.putx(rxtx, [rxtx, [oct(b)[2:].zfill(3)]])
+ elif f == 'bin':
+ self.putx(rxtx, [rxtx, [bin(b)[2:].zfill(8)]])
+ else:
+ raise Exception('Invalid data format option: %s' % f)
+
+ self.putbin(rxtx, (rxtx, bytes([b])))
+ self.putbin(rxtx, (2, bytes([b])))