16be01915d
提交后台跑 scripts/ci_local.py 时 end-of-file-fixer 报 Failed 并就地修复: 17 篇补文件末尾换行、1 篇去掉行尾空行。 内容零变化:git diff --ignore-all-space 只有 1 处空行删除;18 篇均在 上一笔流水清理里被改过,恢复补丁时把上一轮的 EOF 修复冲掉了,这一 笔补回。
2.6 KiB
2.6 KiB
暂缓:RS-485 整簇(用户决定,2026-10-12)
当前没有处理 RS-485 的打算,以下条目整体冻结、不占执行队列;重启 B2 时先回本文件评估前置,勿直接开工。 本文件不是销项:条目仍在簿,只是暂缓(
docs/任务规划/README.md§3 维护约定)。
| 项 | 内容 | 重启时的前置 |
|---|---|---|
| B2 | RS-485 采集链路实现:双缓冲 + 序号(防包撕裂)+ DE 收尾(超时路径等 TC)+ ModBus RTU 状态机(App/protocol/ 正是为此预留) |
RS-485 接线门禁尚未满足:先修单缓冲包撕裂、TX 超时拉 DE 未等 TC 两条,修完才允许接消费者 |
| RS485 DE 收尾 | RS485 DE 收尾(原属结构债一档剩余,已移出) | 同上 |
| 采集链路测试可验证性约束 · RS485 侧 | 双缓冲 + 序号、DE 超时路径覆盖(约束正文 = 本文「采集链路测试可验证性约束」一节) | 随 B2 设计文档落地 |
| 待确认-3 | RS-485 PD0 DE 半双工方向语义硬件实测确认(本次仅静态审查) | 需硬件实测窗口 |
| 网络性能资源建议簇中 DE 项 | HAL_Delay(1) 阻塞 DE |
随 B2 |
采集链路测试可验证性约束(B2 动手前必须落实)
原属
docs/任务规划/测试与架构专项.md§2.2(该文档已删除,2026-10-28)。ADC 侧随 B1 闭环, 没落实的只剩 RS-485 侧,所以约束正文收在本节——重启 B2 以这里为准,不要再另起一份。
本项不是缺陷,是对上游 B2 的设计约束:rs485_task.c 仍是空桩、App/protocol/ 只有占位文件;动手前不落实
这三条,事后无法补测(撕裂与错误路径在真机上不可稳定复现)。
- 协议解析必须与硬件 I/O 分离:
App/protocol/的解析函数应接受(const uint8_t *buf, size_t len)并返回 解析结果,使其成为主机侧纯逻辑单测的天然适格对象(参考cfg_file的"核心 + 后端"模式); - 采集缓冲必须双缓冲 + 序号:否则消费者读到撕裂数据,而撕裂在单测里测不出来(时序相关), 必须在设计上消除;
- DE 收尾必须有超时路径覆盖(RS-485 半双工特有陷阱)。
完成判据:B2 设计文档体现上述三条;协议解析函数有对应的主机侧纯逻辑单测。
(ADC 侧不需要再做:它没有协议解析面,"同一时刻性"由 tpafe5160_snapshot() 原子快照保证,2026-10-10 随 B1
闭环 → docs/硬件平台/ADC通道映射说明.md §8 与 App/algo/README.md。)