fix(wave): 回放页开页作废钉表重扫 + 判废串口逐次留痕(#93 F1/F2) #94
Reference in New Issue
Block a user
Delete Branch "fix-wave-findings-b8c190da2e56"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This is by an automated agent, not a human.
按 #93 正文推荐方案落地两条板级发现的修复(用户裁定「按照你推荐的建议进行实施解决」,推荐口径 = F1 A+B 同批 + F2 ERROR 级不去重)。
F1 开机后新段不进钉住段表 → wave_enter 作废钩子(方案 A + B 同批)
ui_data_wave_ops_t新增第 7 件动作位wave_enter(契约与manual_req同族:纯内存、零 I/O、不产三态);ui_data_wave_bind同步拒绝缺件残表。s_wave_scanned与s_wave_cache_ok一起作废(lead 裁定 2026-10-29 第 3 条同一纪律:同号文件会被覆盖重写,旧段头不得拿旧尺子量新段)。pg_init(方案 A:开页作废,重扫仍懒在首帧——「开页链零 I/O」定律不破,成本 = 每次开页首帧多付一次段表重扫,已在「一次渲染最坏包络」账内);pg_keyIDLE 支(方案 B:空态再探盘前先作废,兑现原注释「新段可能已落」——盘真 0 段时每次按键重扫正是该付的语义)。ui wave scan锚点)。sim_wave_enter空实现保七件同形状,回放页三态黄金像素逐位不变(黄金零刷新即回归判据)。F2 CRC 判废串口静默 → 五类 BAD 出口汇成一条 reject 留痕
ui_task_wave_load_head()五类判废出口(1 头解析 / 2 长度等式 / 3 窗读 / 4 尾读 / 5 CRC 不符,UI_WAVE_REJ_*宏组,值域是接口只增不改)收敛为一个DBG_ERROR调用点:ui wave head idx=%u reject=%u stored=0x%04X calc=0x%04X。test/host/wave_read.py对同一坏段的 REJECT 行逐名逐值互证;reject≠5 时两字段恒0x0000占位(半截 CRC 不进留痕,避免假互证)。open fail fr=同面同级;[ERR]命中 /serial-boot-test Forbidden 属预期内,坏段轮点名放行(手册 §3 判读表补充行 + 级别裁定记录)。不去重——BAD 不写缓存,每次进入坏段一行、与按键画面一一对应;判废是低频人工动作,逐次留痕正是取证要的。/log文件:判废属「串口在现场」场景。视觉证据(Before / After)
Before = 2026-11-06 台架轮留档(固件 =
fw build: Nov 6 2026 00:17:43,帧存docs/测试说明/测试数据/wave_shot_20261106/):docs/测试说明/测试数据/wave_shot_20261106/arrival_open_waveplay.png,顶行UA SEC5 M)After = 本 PR 板级验收轮实测,帧与串口原文存
docs/测试说明/测试数据/wave_fix_20261107/(本 PR 第二个提交入库,含 sha256 全清单与复现口令):开页即见新段、空态按键即投即见、坏段进画面逐次一行reject=5且与wave_readREJECT 行互证、正常盘启动轮零新增 [ERR]。验证面(主机侧不构成修复证据,板级轮为准)
/keil-build:0 error 0 warning(Code=254960 RO=30980 RW=2072 ZI=150104);mem-numbers/ram-budget 台账钩子随提交同步。限制与如实记录