diff --git a/dronecan/driver/slcan.py b/dronecan/driver/slcan.py index c9231c5..4a52169 100644 --- a/dronecan/driver/slcan.py +++ b/dronecan/driver/slcan.py @@ -408,9 +408,9 @@ def __init__(self, conn, rx_queue, tx_queue, termination_condition): self._termination_condition = termination_condition def _send_frame(self, frame): - marker = 'D' if frame.canfd else 'T' + marker = 'D' if frame.canfd else ('T' if frame.extended else 't') dlc_len = CANFrame.datalength_to_dlc(len(frame.data)) - line = '%s%X%s\r' % (('%c%08X' if frame.extended else 't%03X') % (marker, frame.id), + line = '%c%s%X%s\r' % (marker, ('%08X' if frame.extended else '%03X') % (frame.id), dlc_len, binascii.b2a_hex(frame.data).decode('ascii'))