Files
line-laser-modbus/tests/test_constants.py
T
2026-06-18 17:24:59 +08:00

45 lines
1.6 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_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_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