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

33 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 暂缓: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`。)