45 lines
1.7 KiB
Python
45 lines
1.7 KiB
Python
from line_laser_modbus.constants import (
|
|
ADDR_CALIBRATION_RESERVED_END,
|
|
ADDR_CALIBRATION_RESERVED_START,
|
|
ADDR_CORRECTION,
|
|
ADDR_CURRENT_POSE,
|
|
ADDR_EXTENSION_RESERVED_1_END,
|
|
ADDR_EXTENSION_RESERVED_1_START,
|
|
ADDR_EXTENSION_RESERVED_2_END,
|
|
ADDR_EXTENSION_RESERVED_2_START,
|
|
ADDR_EXTENSION_RESERVED_3_END,
|
|
ADDR_EXTENSION_RESERVED_3_START,
|
|
ADDR_EXTENSION_RESERVED_4_END,
|
|
ADDR_EXTENSION_RESERVED_4_START,
|
|
ADDR_TARGET_POSE,
|
|
REGISTER_COUNT_CALIBRATION_RESERVED,
|
|
REGISTER_COUNT_EXTENSION_RESERVED,
|
|
REGISTER_COUNT_POSE,
|
|
)
|
|
|
|
|
|
def test_calibration_reserved_range_matches_protocol() -> None:
|
|
assert ADDR_CALIBRATION_RESERVED_START == 0xD04C
|
|
assert ADDR_CALIBRATION_RESERVED_END == 0xD06B
|
|
assert ADDR_CALIBRATION_RESERVED_START + REGISTER_COUNT_CALIBRATION_RESERVED - 1 == 0xD06B
|
|
|
|
|
|
def test_v12_pose_ranges_match_protocol() -> None:
|
|
assert ADDR_CURRENT_POSE == 0xD00A
|
|
assert ADDR_TARGET_POSE == 0xD020
|
|
assert ADDR_CORRECTION == 0xD036
|
|
assert REGISTER_COUNT_POSE == 14
|
|
|
|
|
|
def test_v12_extension_reserved_ranges_match_protocol() -> None:
|
|
ranges = [
|
|
(ADDR_EXTENSION_RESERVED_1_START, ADDR_EXTENSION_RESERVED_1_END, 0xD002, 0xD009),
|
|
(ADDR_EXTENSION_RESERVED_2_START, ADDR_EXTENSION_RESERVED_2_END, 0xD018, 0xD01F),
|
|
(ADDR_EXTENSION_RESERVED_3_START, ADDR_EXTENSION_RESERVED_3_END, 0xD02E, 0xD035),
|
|
(ADDR_EXTENSION_RESERVED_4_START, ADDR_EXTENSION_RESERVED_4_END, 0xD044, 0xD04B),
|
|
]
|
|
for start, end, expected_start, expected_end in ranges:
|
|
assert start == expected_start
|
|
assert end == expected_end
|
|
assert end - start + 1 == REGISTER_COUNT_EXTENSION_RESERVED
|