Adjust nits in the previous commit which added Python output to the CAN
decoder. Rename the routine to .putpy() for consistency with other PDs.
Avoid the 'bytes' identifier as it ships with Python as a data type.
Rephrase the construction of the tuple for Python output, to become more
explicit and help reviewers. Partially "undo" the rtr rename, to reduce
diffs to the previous version (see diff HEAD~2 to see the essence). Fix
up a three space indentation issue (which was there before the addition
of Python output).
def putb(self, data):
self.putg(self.ss_block, self.samplenum, data)
def putb(self, data):
self.putg(self.ss_block, self.samplenum, data)
self.put(self.ss_packet, self.es_packet, self.out_python, data)
def reset_variables(self):
self.put(self.ss_packet, self.es_packet, self.out_python, data)
def reset_variables(self):
self.ss_bit12 = None
self.ss_bit32 = None
self.ss_databytebits = []
self.ss_bit12 = None
self.ss_bit32 = None
self.ss_databytebits = []
self.rtr_type = None
self.fd = False
self.rtr = None
self.rtr_type = None
self.fd = False
self.rtr = None
if self.rawbits[-7:] != [1, 1, 1, 1, 1, 1, 1]:
self.putb([16, ['End of frame (EOF) must be 7 recessive bits']])
self.es_packet = self.samplenum
if self.rawbits[-7:] != [1, 1, 1, 1, 1, 1, 1]:
self.putb([16, ['End of frame (EOF) must be 7 recessive bits']])
self.es_packet = self.samplenum
- self.putpp((self.frame_type, self.fullid, self.rtr_type, self.dlc, self.bytes))
+ py_data = tuple([self.frame_type, self.fullid, self.rtr_type,
+ self.dlc, self.frame_bytes])
+ self.putpy(py_data)
self.reset_variables()
return True
self.reset_variables()
return True
# Bit 12: Remote transmission request (RTR) bit
# Data frame: dominant, remote frame: recessive
# Remote frames do not contain a data field.
# Bit 12: Remote transmission request (RTR) bit
# Data frame: dominant, remote frame: recessive
# Remote frames do not contain a data field.
- self.rtr_type = 'remote' if self.bits[12] == 1 else 'data'
- self.put12([8, ['Remote transmission request: %s frame' % self.rtr_type,
- 'RTR: %s frame' % self.rtr_type, 'RTR']])
+ rtr = 'remote' if self.bits[12] == 1 else 'data'
+ self.put12([8, ['Remote transmission request: %s frame' % rtr,
+ 'RTR: %s frame' % rtr, 'RTR']])
+ self.rtr_type = rtr
self.dlc_start = 15
if bitnum == 15 and self.fd:
self.dlc_start = 15
if bitnum == 15 and self.fd:
for i in range(dlc2len(self.dlc)):
x = self.dlc_start + 4 + (8 * i)
b = int(''.join(str(d) for d in self.bits[x:x + 8]), 2)
for i in range(dlc2len(self.dlc)):
x = self.dlc_start + 4 + (8 * i)
b = int(''.join(str(d) for d in self.bits[x:x + 8]), 2)
+ self.frame_bytes.append(b)
ss = self.ss_databytebits[i * 8]
es = self.ss_databytebits[((i + 1) * 8) - 1]
self.putg(ss, es, [0, ['Data byte %d: 0x%02x' % (i, b),
ss = self.ss_databytebits[i * 8]
es = self.ss_databytebits[((i + 1) * 8) - 1]
self.putg(ss, es, [0, ['Data byte %d: 0x%02x' % (i, b),
self.rtr = can_rx
if not self.fd:
self.rtr = can_rx
if not self.fd:
- self.rtr_type = 'remote' if can_rx == 1 else 'data'
- self.putx([8, ['Remote transmission request: %s frame' % self.rtr_type,
- 'RTR: %s frame' % self.rtr_type, 'RTR']])
+ rtr = 'remote' if can_rx == 1 else 'data'
+ self.putx([8, ['Remote transmission request: %s frame' % rtr,
+ 'RTR: %s frame' % rtr, 'RTR']])
+ self.rtr_type = rtr
# Bit 33: RB1 (reserved bit)
elif bitnum == 33:
# Bit 33: RB1 (reserved bit)
elif bitnum == 33:
for i in range(dlc2len(self.dlc)):
x = self.dlc_start + 4 + (8 * i)
b = int(''.join(str(d) for d in self.bits[x:x + 8]), 2)
for i in range(dlc2len(self.dlc)):
x = self.dlc_start + 4 + (8 * i)
b = int(''.join(str(d) for d in self.bits[x:x + 8]), 2)
+ self.frame_bytes.append(b)
ss = self.ss_databytebits[i * 8]
es = self.ss_databytebits[((i + 1) * 8) - 1]
self.putg(ss, es, [0, ['Data byte %d: 0x%02x' % (i, b),
ss = self.ss_databytebits[i * 8]
es = self.ss_databytebits[((i + 1) * 8) - 1]
self.putg(ss, es, [0, ['Data byte %d: 0x%02x' % (i, b),