Files
STM32F4-Base/docs/任务规划/暂缓-RS485.md
T
wandering1 16be01915d
CI / 静态门禁 (pre-commit) (push) Failing after 46s
CI / 主机侧单测 (MSVC) (push) Failing after 43s
chore(docs): 补齐文件末尾换行(end-of-file-fixer 实测 18 篇)
提交后台跑 scripts/ci_local.py 时 end-of-file-fixer 报 Failed 并就地修复:
17 篇补文件末尾换行、1 篇去掉行尾空行。

内容零变化:git diff --ignore-all-space 只有 1 处空行删除;18 篇均在
上一笔流水清理里被改过,恢复补丁时把上一轮的 EOF 修复冲掉了,这一
笔补回。
2026-10-28 22:12:59 +08:00

2.6 KiB
Raw Blame History

暂缓: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/ 只有占位文件;动手前不落实 这三条,事后无法补测(撕裂与错误路径在真机上不可稳定复现)。

  1. 协议解析必须与硬件 I/O 分离:App/protocol/ 的解析函数应接受 (const uint8_t *buf, size_t len) 并返回 解析结果,使其成为主机侧纯逻辑单测的天然适格对象(参考 cfg_file 的"核心 + 后端"模式);
  2. 采集缓冲必须双缓冲 + 序号:否则消费者读到撕裂数据,而撕裂在单测里测不出来(时序相关), 必须在设计上消除;
  3. DE 收尾必须有超时路径覆盖(RS-485 半双工特有陷阱)。

完成判据:B2 设计文档体现上述三条;协议解析函数有对应的主机侧纯逻辑单测。 (ADC 侧不需要再做:它没有协议解析面,"同一时刻性"由 tpafe5160_snapshot() 原子快照保证,2026-10-10 随 B1 闭环 → docs/硬件平台/ADC通道映射说明.md §8 与 App/algo/README.md。)