feat: 添加 TODO 列表和更新协议文档,增强功能描述

This commit is contained in:
2026-05-13 15:29:13 +08:00
Unverified
parent 4480bb43cf
commit 17c6d9aa90
4 changed files with 34 additions and 3 deletions
+12
View File
@@ -0,0 +1,12 @@
# TODO
- [ ] 补充 CLI 常用命令:读取当前位姿、写目标示教位姿、写纠偏量、持续轮询。
- [ ] 明确标定参数协议:地址、数量、顺序、单位、数据类型和写入时机。
- [ ] 实现标定参数写入接口,前提是协议参数定义已确认。
- [ ] 增加 CLI 模拟模式测试,覆盖常用命令输出和参数校验。
- [ ] 增加轮询异常测试,覆盖连续超时、恢复计数和不可恢复错误。
- [ ] 增加真实串口硬件联调记录,确认状态字、当前位姿、模式写入、目标位姿和纠偏量读写。
- [ ] 验证 20ms 轮询稳定性,记录实际通信耗时、超时次数和重试表现。
- [ ] 完善发布元数据,包括 license、authors、classifiers 和 project URLs。
- [ ] 评估是否加入类型检查和覆盖率统计。
- [ ] 根据现场设备参数更新或补充配置示例。
+1 -2
View File
@@ -235,7 +235,7 @@
- (2)急停 5 只能退回 0 待机,不能直接进入运行模式;
- (3)标定完成自动回待机;
- (3)标定完成自动回待机;控制器内部处理。
- (4)示教完成可切待机、在线跟踪、批量复现;
@@ -248,4 +248,3 @@
- (1)视觉设备独立线程轮询周期:20ms;
- (2)单帧通信超时:50ms,超时重发,多次超时判定通信断开;
+3 -1
View File
@@ -106,7 +106,9 @@ def can_switch_mode(
return True
if current_mode is ModeCommand.EMERGENCY_STOP:
return False
if current_status in {DeviceStatus.CALIBRATION_DONE, DeviceStatus.TEACHING_DONE}:
if current_status is DeviceStatus.CALIBRATION_DONE:
return False
if current_status is DeviceStatus.TEACHING_DONE:
return target_mode in {
ModeCommand.ONLINE_TRACKING,
ModeCommand.TRAJECTORY_REPLAY,
+18
View File
@@ -27,6 +27,24 @@ def test_teaching_done_can_enter_tracking_or_replay() -> None:
)
def test_calibration_done_waits_for_controller_to_return_standby() -> None:
assert can_switch_mode(
ModeCommand.CALIBRATION,
ModeCommand.STANDBY_RESET,
DeviceStatus.CALIBRATION_DONE,
)
assert not can_switch_mode(
ModeCommand.CALIBRATION,
ModeCommand.ONLINE_TRACKING,
DeviceStatus.CALIBRATION_DONE,
)
assert not can_switch_mode(
ModeCommand.CALIBRATION,
ModeCommand.TRAJECTORY_REPLAY,
DeviceStatus.CALIBRATION_DONE,
)
def test_invalid_transition_raises() -> None:
with pytest.raises(ValueError, match="Illegal mode switch"):
validate_mode_switch(ModeCommand.EMERGENCY_STOP, ModeCommand.ONLINE_TRACKING)