fix(wave): 回放页开页作废钉表重扫 + 判废串口逐次留痕(#93 F1/F2)
F1 开机后 FTP 新 STOR 段不进回放页钉住段表(#68 轮现场发现): 注入表新增第七件 wave_enter 作废钩子(纯内存零 I/O),页面 pg_init(方案 A)与空态左右键再探(方案 B)各调一次;重扫仍懒 在首帧绘制,开页链零 I/O 不破;页内普通按键不作废,2026-11-02 钉表防抖纪律零改动。manual_req 同族同纪律:段表与段头缓存一起 作废,同号覆盖不拿旧尺子量新段。 F2 数据 CRC 判废串口静默(同轮发现):ui_task_wave_load_head() 五类 BAD 出口(头解析/长度等式/窗读/尾读/CRC 不符)收敛为一条 `ui wave head idx=%u reject=%u stored=0x%04X calc=0x%04X`; reject=5 带 stored/calc 值对,与 PC 侧 wave_read REJECT 行同名 同值互证;reject 1..4 两字段 0 占位。ERROR 级、不判重(判废是 低频人工动作,逐次留痕),裁定与判读表随第二笔提交入手册 §3。 验证:keil 0 err 0 warn(ER_IROM1 285940 B,+224 B,内存两份 台账 --write 同步随本笔入库);ui-golden 菜单 8 态 + 内容页 74 张全过、录波回放三态像素零刷(模拟器假桩 no-op 即行为不变); 宿主 ui_data 295 / ui_sink 17 / wave_ring 113 / wave_store 170 / wave_trig 110 全绿。板级五项验收进行中,设计说明 §10 / 手册 §3-§4 修订与台账销项随第二笔。
This commit is contained in:
@@ -947,14 +947,20 @@ uint8_t ui_data_comm_pending(void);
|
||||
#define UI_WAVE_BAD 2
|
||||
|
||||
/*
|
||||
* 录波执行侧注入表(六件齐全;ui_data_wave_bind 拒绝残表)
|
||||
* 返回值约定:除 manual_req 外,各件返回 UI_WAVE_OK / NONE / BAD 三态;
|
||||
* seg_win 的出参仅在返 UI_WAVE_OK 时可读(通道五同一条出参契约)。
|
||||
* 录波执行侧注入表(七件齐全;ui_data_wave_bind 拒绝残表)
|
||||
* 返回值约定:除 manual_req 与 wave_enter(两件是动作位,不产三态)外,
|
||||
* 各件返回 UI_WAVE_OK / NONE / BAD 三态;seg_win 的出参仅在返
|
||||
* UI_WAVE_OK 时可读(通道五同一条出参契约)。
|
||||
*/
|
||||
typedef struct {
|
||||
/* 投一次手动录波请求。返回值:0 - 已受理;非零 - 拒收(含未落段通道
|
||||
* 不可用),页面据此走确认链的 ERR 支 */
|
||||
int (*manual_req)(void);
|
||||
/* 回放页开页 / 空态再探盘时作废段表与段头缓存(#93 F1 方案 A/B 的
|
||||
* 作废钩子;纯内存零 I/O——重扫仍懒在首次取数,开页链零 I/O 不破;
|
||||
* 页内按键不调它(空态再探除外),11-02 钉表防抖纪律原样保留)。
|
||||
* 返回值:无 */
|
||||
void (*wave_enter)(void);
|
||||
/* 取盘上数值最大的段号(回放页开屏落点;左右键从此起环游)。
|
||||
* 回绕后本序不保证时间最新,页顶段号即自证;时间序要靠段头
|
||||
* frame_seq/t0,代价是 100 次开文件,本波不做(lead 裁定 2026-10-29) */
|
||||
@@ -980,7 +986,7 @@ typedef struct {
|
||||
|
||||
/*
|
||||
* 函数功能:注入录波执行侧函数表(启动期一次;形状对齐 ui_data_comm_bind)
|
||||
* 入口参数:ops - 函数表(六件都不得为 NULL);NULL = 撤销注入(宿主测试用)
|
||||
* 入口参数:ops - 函数表(七件都不得为 NULL);NULL = 撤销注入(宿主测试用)
|
||||
* 返回值:0 - 已注入/已撤销;-1 - 残表(存量不动) int
|
||||
* 限定条件:uiTask 启动期、先于 ui_menu_init()
|
||||
*/
|
||||
@@ -992,6 +998,13 @@ int ui_data_wave_bind(const ui_data_wave_ops_t *a_ops);
|
||||
*/
|
||||
int ui_data_wave_manual_req(void);
|
||||
|
||||
/*
|
||||
* 函数功能:回放页开页 / 空态再探盘时作废段表与段头缓存(#93 F1 方案
|
||||
* A/B 的作废钩子;纯内存零 I/O,重扫懒在首帧取数)
|
||||
* 返回值:无(未注入 = 什么都不做,页面取数行为不变) void
|
||||
*/
|
||||
void ui_data_wave_enter(void);
|
||||
|
||||
/*
|
||||
* 函数功能:取数值最大段号(排序口径见 ui_data.c 同名胶水注释:回绕后本序
|
||||
* 不保证时间最新,页顶段号即自证;真时间序要逐段读 frame_seq/t0,
|
||||
|
||||
Reference in New Issue
Block a user