Bug: 1 + 3 + LEN + 2 把 CMD 计入两次 (Header(3) 和 Value(LEN) 各含一次) Fix: 5 + LEN = Magic(1)+Addr(1)+LEN(1)+Value(LEN)+Check(2) 影响: 校验字节偏移1位,导致 XOR 写到错误位置,地感MCU 校验失败无响应 同时修正 lup_build_sensor_ack 的 padding 长度和返回值
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: 线圈参数标签页增加版本/复位/出厂/灵敏度操作按钮
新增: - docs/DLD960Loop_串口通信协议.md — 协议文档 V1.02 - loop_uart_proto.h/c — 协议实现: checksum/组包/解析/帧状态机/命令状态机 修改: - usart_biz.c: 使用 lup_feed_byte() 帧解析器替代 timeout heuristic; 波特率修正为 115200 - tcp_json_srv.c/h: loop_param_set/query 真实实现(0x63/0x64), 0xC0 传感器推流, 延迟响应机制 - peripheral_main.c: 添加 tcp_json_push_sensor() 调用, 帧解析器超时保护 校验验证: 5个协议例程 XOR+SUM 全部通过