- self.put(self.startsample[rxtx], self.samplenum - 1, self.out_proto,
- ['DATA', rxtx, self.databyte[rxtx]])
-
- 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:]]])
+ self.putp(['DATA', rxtx, self.databyte[rxtx]])
+
+ 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)