- s = 'RX: ' if (rxtx == RX) else 'TX: '
- self.putx(rxtx, [ANN_ASCII, [s + chr(self.databyte[rxtx])]])
- self.putx(rxtx, [ANN_DEC, [s + str(self.databyte[rxtx])]])
- self.putx(rxtx, [ANN_HEX, [s + hex(self.databyte[rxtx]),
- s + hex(self.databyte[rxtx])[2:]]])
- self.putx(rxtx, [ANN_OCT, [s + oct(self.databyte[rxtx]),
- s + oct(self.databyte[rxtx])[2:]]])
- self.putx(rxtx, [ANN_BITS, [s + bin(self.databyte[rxtx]),
- s + bin(self.databyte[rxtx])[2:]]])
+ b, f = self.databyte[rxtx], self.options['format']
+ if f == 'ascii':
+ c = chr(b) if b in range(30, 126 + 1) 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])))