Files
line-laser-modbus/src/line_laser_modbus/constants.py
T

43 lines
1.2 KiB
Python

"""来自 docs/proto.md 的协议常量"""
# 固定从站地址和功能码。
SLAVE_ID = 0x08
FUNC_READ_HOLDING_REGISTERS = 0x03
FUNC_WRITE_MULTIPLE_REGISTERS = 0x10
# 保持寄存器绝对地址。
ADDR_MODE_COMMAND = 0xD000
ADDR_DEVICE_STATUS = 0xD001
ADDR_EXTENSION_RESERVED_1_START = 0xD002
ADDR_EXTENSION_RESERVED_1_END = 0xD009
ADDR_CURRENT_POSE = 0xD00A
ADDR_EXTENSION_RESERVED_2_START = 0xD018
ADDR_EXTENSION_RESERVED_2_END = 0xD01F
ADDR_TARGET_POSE = 0xD020
ADDR_EXTENSION_RESERVED_3_START = 0xD02E
ADDR_EXTENSION_RESERVED_3_END = 0xD035
ADDR_CORRECTION = 0xD036
ADDR_EXTENSION_RESERVED_4_START = 0xD044
ADDR_EXTENSION_RESERVED_4_END = 0xD04B
ADDR_CALIBRATION_RESERVED_START = 0xD04C
ADDR_CALIBRATION_RESERVED_END = 0xD06B
# 协议数据宽度和位姿字段顺序。
REGISTER_COUNT_WORD = 1
REGISTER_COUNT_TIMESTAMP = 2
REGISTER_COUNT_AXES = 12
REGISTER_COUNT_POSE = 14
REGISTER_COUNT_EXTENSION_RESERVED = 8
REGISTER_COUNT_CALIBRATION_RESERVED = 32
AXIS_NAMES = ("x", "y", "z", "a", "b", "c")
# 默认串口通信参数。
DEFAULT_BAUDRATE = 115200
DEFAULT_BYTESIZE = 8
DEFAULT_PARITY = "N"
DEFAULT_STOPBITS = 1
DEFAULT_TIMEOUT_SECONDS = 0.15
DEFAULT_RETRIES = 3
DEFAULT_POLLING_INTERVAL_SECONDS = 0.05