16be01915d
提交后台跑 scripts/ci_local.py 时 end-of-file-fixer 报 Failed 并就地修复: 17 篇补文件末尾换行、1 篇去掉行尾空行。 内容零变化:git diff --ignore-all-space 只有 1 处空行删除;18 篇均在 上一笔流水清理里被改过,恢复补丁时把上一轮的 EOF 修复冲掉了,这一 笔补回。
33 lines
2.6 KiB
Markdown
33 lines
2.6 KiB
Markdown
# 暂缓: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`。)
|