feat: DBNetClient Loop命令完善 + vd960DBN 发送调试打印

vd960DBN:
- loop_uart_proto.c: 所有发送函数添加 LUP Tx 调试打印
- tcp_json_srv.c: 新增 loop_version_query/loop_reset/loop_factory_init/
  loop_sens_read/loop_sens_write 命令处理器 + 延迟响应解析
- 修复 loop_sens_write 未设置命令状态机和错误使用解析函数的问题

DBNetClient:
- tcp_json_client.py: 新增 full Loop MCU API (6 条命令)
- main.py: 线圈参数标签页增加版本/复位/出厂/灵敏度操作按钮
This commit is contained in:
wangfq
2026-07-02 10:33:11 +08:00
parent e9b58a660e
commit e9c24ae736
4 changed files with 296 additions and 27 deletions

View File

@@ -273,12 +273,41 @@ class DBNetClient:
def device_reset(self) -> dict:
return self._tcp.send_command("device_reset")
# Loop
# Loop MCU Commands
def loop_version_query(self) -> dict:
"""获取地感MCU版本号 (CMD 0x4A)"""
return self._tcp.send_command("loop_version_query")
def loop_reset(self) -> dict:
"""复位地感MCU (CMD 0x6D)"""
return self._tcp.send_command("loop_reset")
def loop_factory_init(self) -> dict:
"""地感MCU出厂初始化 (CMD 0x92)"""
return self._tcp.send_command("loop_factory_init")
def loop_sens_read(self) -> dict:
"""读取线圈灵敏度列表 (CMD 0x8A Read)"""
return self._tcp.send_command("loop_sens_read")
def loop_sens_write(self, channels: list[dict]) -> dict:
"""写入线圈灵敏度列表 (CMD 0x8A Write)
channels: [{"ch": 1, "sens_in": 100, "sens_out": 80}, ...]
"""
return self._tcp.send_command("loop_sens_write",
{"channels": channels})
def loop_param_query(self) -> dict:
"""读取地感多路参数 (CMD 0x64)"""
return self._tcp.send_command("loop_param_query")
def loop_param_set(self, channels: list[dict],
auto_mode: bool = False) -> dict:
"""设置地感多路参数 (CMD 0x63)
channels: [{"ch": 1, "sensitivity": 7, "freq_level": 0, ...}, ...]
"""
return self._tcp.send_command("loop_param_set",
{"auto_mode": auto_mode,
"channels": channels})