Files
STM32F4-Base/docs/任务规划
super_agent_bot ad7338365c
CI / 静态门禁 (pre-commit) (push) Failing after 6m14s
CI / 主机侧单测 (MSVC) (push) Successful in 54s
CI / 静态门禁 (pre-commit) (pull_request) Failing after 4m35s
CI / 主机侧单测 (MSVC) (pull_request) Successful in 47s
feat(sntp): 板端 SNTP 校时接入——coreSNTP 序列化器 + [sntp] 段 + 设置页(#73)
- vendored coreSNTP v2.0.0 序列化器(MIT,仅 serializer+LICENSE,零堆),
  48 字节报文编解码在库,节奏与准入判据在本方(RFC 4330 §10 调研口径)
- App/sync/time_sntp.c 挂 timeSyncTask 的 8888 事件循环,等待切片 ≤50 ms,
  不饿任务狗与 IWDG;懒建 UDP socket,代际变化/禁用/死错误码即关闭归还
- 防伪 = OriginTimestamp 逐位等于发出时 T1(含低 16 位随机小数位);
  mode/stratum/闰秒指示/KoD 按 RFC 拒收;DENY·RSTR 换服务器、RATE 只退避
- 主备轮换 + 失败指数退避(5 s 起、60 s 封顶)+ 首轮 1~5 分钟随机错峰;
  成功恢复 poll_min 周期(1~1440 分,出厂默认 60,默认不启用不发包)
- 钟面 = 本地时间:UTC+8 固定偏移落 sys_clock_set_unix(§1.1 时基裁定,
  第三个写入口,装置仍不存时区);|offset|<2 s 只记日志不步进,冷启动或
  更大偏差步进并回写 SD2506,留痕 [SNTP] step 与 syslog OPER
- 首个校验通过的同步置 SYS_EVT_TIMESYNC_READY(就绪位,消费方按需 NoClear)
- [sntp] 配置段(enable/server1/server2/poll_min)属主 sntp_cfg.c,
  注册在 net_cfg_load();UI 页 31「SNTP 设置」(密码叶):启用开关 +
  主/备服务器 octet 编辑 + 周期(分) + 保存,复用 net_cfg_save_request 链
- 测试与门禁:test/host/sntp 新套件(报文/防伪/KoD/退避周期/阶跃域/配置
  注册表)、net_cfg 与 time_sync 套件补 fake、黄金参考 66→74 张零漂移、
  字符集 228 字、Keil 0 错 0 警(RO +5,848 B 含字体)、覆盖率基线回填
- 文档:墙钟维护说明 §16、网络配置说明 [sntp] 节、配置文件设计说明变更记录、
  产品需求 FR-TIME-3 与 8.3/9.1.2 台账、UI 补齐规划/UI补齐 31 叶口径、
  登记簿销项并登记「SNTP 校时真机判据」等台架(PC 时间源 192.168.31.161/.13)
2026-11-04 16:20:22 +08:00
..

任务规划

UI 补齐执行清单已于 2026-10-28 清空(记录 5 页 + 运行报告页落地)。 下一顺位 = net 层跨上下文收口,开工待用户点头;顺序权威见 docs/任务规划/README.md §2.0。 详细任务与验收见 UI补齐.md;UI 完成后的第一项是 net 层跨上下文收口。

怎么用这份规划

你想知道什么 只看哪个文件
现在做什么、接下来做什么 本文件
当前任务怎么做、怎样算完成 UI补齐.md
UI 之后还有什么、哪些事在等条件 登记簿.md
ADC 标定为什么没做、保护为什么不动作 数据可信.md
RS-485 为什么冻结、重启要满足什么 暂缓-RS485.md

一件事只有一个归属。 本文件只负责导航与顺序,不复制各任务的验收明细; 登记簿.md 不再复制当前 UI 任务,数据可信.md 的其余章节是被代码引用的设计约束, 不是额外待办。


0. 条目与引用规则

  • 新条目使用语义短语,一行直接说清是什么事,不再新增字母加数字编号。
  • 旧编号只用于追溯历史,不复用、不重新发号;编号族与冻结规则见 docs/编号规范.md。
  • 引用条目时写清所在文档和语义名,例如:docs/任务规划/登记簿.md 的 「net 层跨上下文收口」。不要只写一个短号让读者猜。
  • 任务状态只维护在任务所属文件;本文件不另建一套状态表。

1. UI 补齐(执行清单已于 2026-10-28 清空)

菜单树共 34 叶(节点行合计 43):按行内 #page= 实测已绑 30 叶、未绑 4 叶(2026-10-29 复扫, 判定规则与重跑命令见 docs/任务规划/UI补齐.md §1「叶数判定与复核」)。未绑的 4 叶因缺少开入硬件 或 SNTP 产品定义而不做(原因与重开条件见 docs/任务规划/UI补齐.md §5)——手动录波与录波回放两叶 已随录波道绑页,「不做」清单里的录波那一项已销。 口径闭合:未绑 4 = 待做 0(§1 清单已清空)+ 不做 4(遥信 3 / SNTP 1);43 是节点行数、不是叶数(= 9 个菜单节点 + 34 叶)。 已绑叶数以生成物 UI_PAGE_MAP_COUNT 为准:不剔 ui_menu_tree.txt 文件头的注释示例行时,按 #page= 文本计数会得 31(= 30 + 1 行示例)。

UI 补齐执行清单已于 2026-10-28 清空:记录 5 页(事故 / 操作 / 保护告警 / 保护启动 / 遥控)与 运行报告页同日落地并绑页,内容页黄金参考 53 → 60 张(runreport 分 2 页,第 2 页单独拍一张;判据 = simulator/tests/ref/ 入库 shot_*.bin 实数,张数 = 页面个数 + 分页多拍的那一张;该集合 2026-10-29 已扩至 66 张,多出的是录波回放页 6 态)。 上板判据(真记录翻页、掉电保持、清除后归零、boot_count 自增、RESTARTED、rst_cause=IWDG、conn_up +1) 已登记登记簿 §7「UI 六页真机判据」,六页文件头各留「台架待补」段;模拟器差距见 docs/测试说明/专项验证/模拟器差距清单.md §2.3「开机账本 boot_stats」一行。

执行纪律:单道串行。 菜单树与页面注册表是生成物,字库也是整文件生成物; 不要同时开多条 UI 页面分支。上板验证可累积成一批,但保存、重启、主站读回等判据不能删除。


2. 全项目推进顺序

本节是全项目唯一的顺序权威。模块文档只描述局部设计,不另排一套路线图。

2.0 顺序表

顺序 工作 当前状态 开始或切换条件
1 UI 补齐 清单已清空(2026-10-28) 记录 5 页与运行报告页已落地并绑页;余下 5 叶属 §5「当前不做」,重开条件见 docs/任务规划/UI补齐.md §5;上板判据见 docs/任务规划/登记簿.md §7
2 net 层跨上下文收口 下一顺位(未开工) UI 清单已清空,切换条件已满足;开工需用户点头——换主线是产品决策,不由本批顺带做掉
3 其余结构与可靠性评估 排队 net 收口后;逐项见 登记簿.md,观察项不为了“清清单”而强做
4 数据可信(采集数据可信度) 动态波形验证手边可做;变比确认与两点标定等外部资源 信号发生器动态波形验证(不依赖外部资源)→ 端子/子板变比确认 → 标准源两点标定;排序调整(2026-10-29):动态验证让位给故障录波数据面,段文件落地后判据升级为 PC 独立重算对表(docs/子系统设计/故障录波设计说明.md §11)(已知电压注入已于 2026-10-27 台架闭环并销项);外部资源到位可插入优先处理
5 标准源送检与第三方 104 主站验收 等待标定完成 两点标定完成且保护 VALID 已置位;送检窗口前 2 日冻结特性
6 保护元件与采集增强 等待标准源或硬件改版 保护先解除未标定闭锁;三相同时刻类功能等 V0.2 硬件
7 验证窗口事项 逢条件顺带 CI runner、PC peer、CH340、负向故障注入条件到位时执行
8 独立模块与暂缓项 当前不排 开入开出、SNTP、104 文件传输单独立项;RS-485 与内存优化按各自重启条件
独立 故障录波(1 kHz · 8 路原始码值 · 单通道回放) 代码面已交付;2026-10-31 远程半轮过六项、2026-11-02 回放页枚举缺陷已修复闭环,余注量对表与人到场项 用户裁定 2026-10-29 录波先行:数据面最小闭环 → 手动与保护启动触发 → 回放页。三块的代码侧判据已收口(主机单测 113 / 170 / 110 全 rc=0、双端编译 0 错误 0 警告、板端编码器与 PC 侧解码器字节级互验、手动录波与录波回放两叶已绑页、内容页黄金参考扩至 66 张);2026-10-31 远程半轮已过六项(真 FAT 落盘、触发→落盘全部落在 2 s 封存超时窗内、冷却恢复、轮转、PC 侧坏段拒收、冻结窗内 104 并发);同轮发现的缺陷「回放页段表枚举恒空」已于 2026-11-02 远程修复并板级闭环(根因 = 读侧 wave_store_seg_path() 返回值判错,顺带修键处理缺失效;回放页真段/切段/切道已实测,登记簿条目已销项,证据见设计说明 §10「回放页枚举恒空缺陷修复记录」);没跑的是注量对表那半轮(注 1 V / 50 Hz、与 meas: 行和 104 浮点遥测对表、回放页放坏段与空态画面)加 P 触发 / bench T 源,全部结果与清单见 docs/子系统设计/故障录波设计说明.md §10「板级远程半轮记录」。板级判据、留痕名清单与执行顺序图的属主 = docs/子系统设计/故障录波设计说明.md §9 与 §10(原卡片登记簿 2026-10-30 随销项并入后删除);与 UI 道互斥(菜单树与中文字库是整文件生成物,同刻只允许一条道写)——本波按此串行执行:UI 道在数据面与接线冻结之后才动生成物

2.1 关键依赖

  • UI:写路径、整定 4 页、装置维护 3 页与遥测死区/系数 2 页已收口(含上板判据与真机回读); 菜单树、页面注册表与字库都是生成物,同刻只允许一条道写。
  • 送检:已知电压注入(✅ 2026-10-27 闭环)→〔信号发生器动态波形验证 —— 手边可做,与后两关并行、不阻塞送检〕 → 端子/子板变比确认 → 标准源两点标定 → 保护解除闭锁 → 送检。
  • 保护扩展:标准源未到位前不新增无法验证的判据;跨转换器相位、功率、对称分量类 功能必须等 V0.2 硬件。
  • 结构债:UI 完成后先做 net 收口;RS-485 白名单、内存优化、仓库体积等观察项不抢占 当前编码道。

3. 维护约定

  1. 完成即删除待办条目,同时清理其他文档对它的引用;结论和证据写入模块文档, 历史由 git log 保留。
  2. 当前任务只改 UI补齐.md,后续事项只改 登记簿.md;顺序变化才改本文件 §2。
  3. 数据可信.md 的 §2、§4、§7~§10 仍被代码头注释引用为设计依据,不能按“已完成” 删掉;其待办只认 §5 的任务卡表(标识列用语义短语,卡片增减不改本条口径)。
  4. 专项文档只放还没闭环的约束;已落地事项的规格正文归代码头注释或模块文档, 销项即删文件并把引用改指现行出处(先例:测试与架构专项.md 已删除 2026-10-28, 唯一未闭环的「采集链路测试可验证性约束」并入 暂缓-RS485.md)。
  5. 任务分支不直接修改 docs/任务规划/**;状态更新与销项由主工作树统一处理。
  6. 并行开发机制、工作树和锁的使用见 docs/环境与部署/并行任务工作树方案.md。 本文件夹不再另维护一份分道、批次和写域方案。
  7. 暂缓不是完成:条目必须保留重启条件;没有重启条件的“以后再说”应写成观察项或删除。