Commit Graph

3 Commits

Author SHA1 Message Date
super_agent_bot 416e92f109 docs(ui): Issue #53 台架轮复核销项——六页真机判据上板复核完成(RESTARTED 标不可验)
CI / 静态门禁 (pre-commit) (push) Failing after 3m10s
CI / 主机侧单测 (MSVC) (push) Failing after 44s
CI / 静态门禁 (pre-commit) (pull_request) Failing after 47s
CI / 主机侧单测 (MSVC) (pull_request) Failing after 44s
台架轮(2026-11-06,实机 192.168.31.100 生产固件,boot 187–193,
ST-LINK + RemoDispBus 7003 按键注入/抓帧 + FTP 取证,全程持 bench 锁):

- 判据1 真记录翻页与保持:oper 73 条 19 页 / yk 34 条 9 页 / start 2 条
  1 页实机翻页连续,页数与盘上条数交叉吻合;跨 188–193 六次重启
  (IWDG/NRST/系统复位,RAM 每次全清)YK/START/WDEV md5 逐字节不变,
  RUN/SOE/OPER/SELFTEST 纯追加、旧记录区零改写。
- 判据2 清除记录后对应页归零:oper 73→0、start 2→0、yk 34→0(页显
  「无记录」+ NAND 对应文件消失);告警行空类清除幂等;RUN/SOE/
  SELFTEST 清除前后逐字节一致(逐行独立清除证实);OPER 由后续写入
  自动重建且恰含三条清类留痕、清 oper 自身不留痕(留痕契约证实)。
- 判据3 上电一次 boot_count +1:187→193 六连号无跳变,电池域 SRAM
  保持+回写正常;本机无市电开关,以系统复位代理完整上电(覆盖
  SRAM 存储语义),真·拔电 POR 计数差额留人工一眼补验。
- 判据4 拔 RTC 电池落 RESTARTED:台架不可验(用户裁定 2026-11-05),
  销项不挂账;seq_state 四态判定归主机单测 test/host/boot_stats/ 覆盖。
- 判据5 IWDG 复位落「独立看门狗」:SWD 热插拔现场收窄看门狗窗口
  (PR=0/RLR=2,窗口 ≈0.37ms ≪ 100ms 喂狗节拍)触发真实计数器溢出
  → rst_cause=独立看门狗;咬后 wd_platform_start 自愈回 PR=4/RLR=1249。
  调试停机(DBGMCU_APB1_FZ 实读 0)与 NRST 硬脉冲两条不咬路径的
  归因已记台架台账(Issue #53 评论)。
- 判据6 主站接入一次 conn_up +1:75s 静默窗(前后帧逐字节相同)后
  单次 STARTDT 连接恰好 +1,发送帧数 +1、接收字节 +6B 交叉印证。

销项:六页文件头「台架待补」段改为「台架复核已完成」(模拟器口径
保留);模拟器差距清单 §2.3 开机账本行更新复核口径;登记簿 §7
「UI 六页真机判据」行删除(工单授权),交叉引用同步(任务规划
README、产品需求 FR-SOE-3)。清除动作是判据 2 本体,清前全量
NAND 记录已备份(PC 侧),留证于 Issue #53 台架轮评论。

门禁:check_doc_links --all 213 文档过;主机侧单测 48 runner
4257 断言全过;ARMCC 全量构建 0 Error 0 Warning
(Code=254820 RO=30896 RW=2072 ZI=150104);ui-golden 菜单 8 状态
+ 内容页 74 张黄金参考一致(本机按部署文档第 3 步补装 SDL2 SDK)。
附带:内存数字两文档随 .map 同步——RAM 台账受管区 3 行 +
RAM 使用分析快照 3 行(mem-budget / mem-numbers 门禁随本票
Drivers/BSP staged 触发的 HEAD 既有漂移修正:#73/#79 合入后未跑
--write;285,716 B 与体积凭证一致,全部 PASS/参考,无红线变动)。
体积凭证指纹陈旧同为 HEAD 既有(488f6fb 起),本票纯注释/文档
不动体积面,不越权刷新。
2026-11-06 03:49:18 +08:00
super_agent_bot 3a2f9b21fb refactor(time_sync)!: 退役 TCP :8888 对时任务,timeSyncTask 转纯 SNTP 校时节拍宿主(#78)
CI / 静态门禁 (pre-commit) (push) Failing after 43s
CI / 主机侧单测 (MSVC) (push) Failing after 45s
CI / 静态门禁 (pre-commit) (pull_request) Failing after 45s
CI / 主机侧单测 (MSVC) (pull_request) Failing after 45s
SNTP 客户端已随 #73/PR #77 上线合入(merge 2b848c4a),用户裁定
8888 对时任务退出历史舞台(gitea:77 线程原话,跟踪 Issue #78)。

生产侧(App/sync/time_sync.c v2.0,任务入口名不变,freertos.c 零改动):
- 删除 :8888 监听、TIME 包重组、sys_clock 写入、OPER 落痕、
  net_drop_conn 队头自救整条链(TIME_SYNC_PORT 宏随退役删除)
- 任务体收敛为:就绪屏障(100ms 分片、osFlagsNoClear)→
  200ms 校时节拍 task_wd_beat → time_sntp_run(net_get_generation())
  → 分片延时;喂狗节奏(TASK_WD_TIMESYNC=5,required_mask)不变
- 时钟写入口自此 = SNTP / UI 手工 / 104 C_CS,双写竞态(后写者赢)
  随之消失(墙钟说明 §15 退役公告、§16 现势口径)

工具与测试:
- 删除 test/host/time_sync_server.py(对时源)与 e02_probe.py
  (队头阻塞探针,载体随监听退役;判据脚本 v5_log_gap_report.py
  保留供旧日志解读)
- time_sync 主机单测重写 v2.0:33 断言覆盖分片延时 / 屏障 /
  SNTP 节拍与网络代次当轮交接 / 未出网守门;stub 的
  net_socket.h 裁剪至 net_get_generation 作编译期绊线
- 覆盖率基线 --update-baseline 收口(time_sync.c 101→20 行为刻意
  缩减,全仓 48/48 套绿)

文档与图:墙钟说明 §15 改退役公告(教训保留:CH395F FIN 丢未读
缓冲)、§16 单一网络来源;产品需求 FR-TIME-2 退役注记、§6.3 重写;
架构总览 / 软件架构规格 / 网络配置 / 网络自愈 §9.3 / BSD 指南 /
看门狗说明心跳与白名单行 / 实机测试指南 / 部署环境 / 继保规划 /
UI补齐时基口径 / 页面补齐规划 SNTP 页行 / 任务规划 README 叶数与
暂缓项行(SNTP 叶已绑、UI_PAGE_MAP_COUNT=31 口径)等约 30 处现势
口径同步;arch / net_stack 两图生成器与 SVG 同笔重跑。

台账:ram_baseline --update + check_mem_numbers --write + 体积凭证
(Code 254,648→253,428,−1,220 B)。静态链复测发现 timeSyncTask
1,904 B / iec104Task 1,600 B 低于 ISR 硬线:master 2b848c4a 同判据
timeSyncTask 即 2,056 B(本 PR 只减不增,−152 B 旧任务自身帧),
双 FAIL 为 #74/#77 后既有债;抬栈属 Ask-first 未擅自执行,登记簿
新增「静态链硬线双 FAIL」待台架复采,复测快照入 docs/内存管理/data。

验证:keil-build 0 错 0 警;time_sync/sntp 主机单测绿;
ci_local 全绿;doc-links --all 0。
2026-11-04 18:07:03 +08:00
wandering1 94b0d79026 feat(ui)+chore(docs): UI 补齐清单清空;数据可信销项与「卡」号清退
本笔含两组收尾工作(同一工作区内交错在 6 个共享文档/门禁配置里,
拆开会产生"文档声称的页数与树里黄金数不一致"的中间提交,故合为一笔):

一、UI 补齐(清单清空)
- 新建 6 个内容页模块:ui_page_accident / oper / alarm / start / yk
  复用 ui_w_records 共享组件(分页、空态"无记录"、按实例读盘缓存),
  记录层与五个写入点已由道F task-10 / 道G task-12 落地,本批只补页面;
  ui_page_runreport 为 13 行 2 页只读统计,四个数逐个挂范围标签
  (自电池周期 / 本次开机),boot_ready=0 显 "--" 不显 0。
- 数据面:ui_data_info_t 尾部追加 9 字段,ui_data_feed 用
  boot_stats_get() + iec104_serv_get_stats() 纯搬运;模拟器填确定值假数据
  (差异登记 docs/测试说明/模拟器差距清单.md §2.3 两行)。
- 接线:菜单树 6 叶绑 #page=,绑定叶 22→28、UI_PAGE_MAP_COUNT=28;
  字库 185→218 字 / 280→313 字形;双端注册 uvprojx +30、CMakeLists +6。
- 回归:内容页黄金 53→60(含 runreport_p2 真拍第 2 页),文本断言
  425 正向 / 36 反向;存量 53 张逐字节零漂移;记录 5 页各用独立空目录
  (模拟器把操作留痕写进 cwd 的 sim_oper.log,共用 tmp 会让空态拍不到)。

二、数据可信销项 + 「数据可信」任务卡号整族清退
- 删除已闭环的"已知电压注入验证"行与闭环结论块(证据在
  docs/硬件平台/ADC通道映射说明.md §8.1 与
  docs/测试说明/ADC前端注入验证流程.md §5~§7),§5 标识列改语义短语。
- 卡 0/0b/1~12 共 14 个号全仓 288 站点 / 56 文件清退成语义短语,
  代码注释、测试、门禁配置与文档一并改;换算表入 docs/编号规范.md §9.3。
  这一族是中文前缀,不进 check_ids 语料,刻意不入 id_aliases.json。

验证(实测)
- @build 0 错 0 警:Code=236456 RO=28124 RW=1876 ZI=137084;
  RAM +464 B(RW +304 / ZI +160),RW_IRAM1 62.2% / RW_CCM 87.9%,
  体积同码凭证与 RAM 台账已回填。
- check_menu_rows 8 状态 rc=0(池 5368/5448 常量未动);
  check_content_pages 60 页 rc=0;check_font_charset / registration /
  coding-standard / bom-drift / mojibake / doc-links --all / layer-deps /
  nested-comment 全 rc=0;check_ids --strict 无错误;主机单测
  ui_data 295 / boot_stats 21 / sys_log_mcu 141 / soe 32 / soe_store 27。

未做(不是遗漏)
- 六页真机判据(真记录翻页、掉电保持、清除后归零、boot_count 自增、
  拔 RTC 电池落 RESTARTED、IWDG 复位落 rst_cause、主站连一次 conn_up+1)
  已登记 docs/任务规划/登记簿.md §7;模拟器结构上照不到。
- docs/产品需求/产品需求设计文档.md 属另一条在飞改动,本笔不含;
  其中我已同步 6 处现状数字(28 叶 / 60 页 / 218 字),随该笔入库。
2026-10-28 07:23:16 +08:00