15 lines
680 B
Python
15 lines
680 B
Python
from protocan.devboard_v1 import BoardFrame, command_setup, command_transmit, parse_frame_line
|
|
|
|
|
|
def test_parse_can_and_rs485_lines():
|
|
can = parse_frame_line("[ 12.345] EXT 0x073700A2 DLC=2 DATA=34 12 |4.|")
|
|
rs = parse_frame_line("[ 12.346] RS485 STD 0x123 RTR DLC=4")
|
|
assert can and can.can_id == 0x073700A2 and can.data == b"\x34\x12"
|
|
assert rs and rs.source == "RS485" and rs.rtr and rs.data == b""
|
|
|
|
|
|
def test_commands_are_firmware_compatible_and_lf_terminated():
|
|
frame = BoardFrame(0.0, True, 0x073700A2, b"\x34\x12")
|
|
assert command_transmit(frame) == b"T,E,73700A2,2,3412\n"
|
|
assert command_setup() == (b"S500\n", b"M0\n", b"B512000\n", b"Q3\n")
|