7708f12c10
按键召唤答的是按键前的旧帧:uiTask 还没消化键答案就发走了,新画面 只能等下一次周期召唤(280 ms/轮)才带得出——真机反馈 250-450 ms 的 主构成(根因账本 docs/子系统设计/屏板链路设计说明.md §7.1)。 改动(用户批准范围 A+B+C;屏板固件未动,决策三不变): - sb_link:按键召唤改为只入队不起发;uiTask 同拍重绘并组帧成功后交 凭据(sb_link_key_rendered),TIM3 1 kHz 的 sb_link_ms_tick 以 ≤1 ms 放行新帧。140 ms 截止(SB_KEY_RESP_MAX_MS,+59.6 ms 线上 <205 ms 屏板放弃线)保底发旧帧,"一召一答"契约不破;线忙时同旧丢单、 不留扣件。起发两中断源(USART1 IDLE/TIM3)共用 sb_tx_kick, "判忙→占位"在 PRIMASK 临界区原子完成。 - ui_task:排空注键挪到组帧之前,注键→即派即绘→组帧同拍闭环; 组帧返回 BSP_OK 才交重绘凭据(BUSY 拍帧还没反映按键)。 - ui_port:注键单槽改 8 深环(连按不再互相覆盖,满丢最旧+计数); 新增 ui_port_service_keys:同拍 lv_indev_read + lv_refr_now, 省掉 indev ≤20 ms + 刷新 ≤20 ms 两段等待。 - ui_menu_view:菜单移动选中只失效新旧两行带(黄金参考零像素变化), 滚动/异常回退整框失效。 - simulator:窗口循环 sleep 扣除本轮已耗时(原先无条件睡满 lv_timer_handler 返回值,叠加 Windows Sleep 15.6 ms 粒度放大观感)。 - 串口 TX 上报新增 dfok/dfold(凭据放行新帧数/超时保底旧帧数): dfold 连涨 = uiTask 被饿 ≥140 ms 的直接现场证据。 验证:test/host/sb_link 164/164(新增 18 条:不立刻起发/凭据放行/ 140 ms 截止保底/忙时不留扣件/陈旧凭据不放行等边界);菜单 8 状态 + 内容页 66 张黄金像素 PASS;Keil @build 0 错误 0 警告(两次); BOM 99 文件无漂移、代码规范、doc-links 本次文件零问题、cppcheck PASS。 文档:屏板规划文档已被主干收编进设计说明,延迟账本落 docs/子系统设计/屏板链路设计说明.md §7.1,并同步 §4 口径、§8 接口、 §9.1 单测台账 146→164、§10 坑账本补条。 RAM 台账(分支不跑 --write,并行分支提交约定):本笔盖戳行 RW_IRAM1 94,336 B (72.0%) / RW_CCM 57,376 B (87.9%),较上一台账行 +4,400 B——为距上次台账构建以来分支累计差(含批 3 状态灯等未盖戳 提交),非全部本笔引入;本次自身增量按对象计为 ui_port.o +12 B (8 深键环+丢计数+indev 指针)与 sb_link/o 数十字节级。 gate: only mem-budget/mem-numbers pending lead ledger backfill (合并落主干后 Lead 统一 --write 回填受管区)。
35 lines
1.4 KiB
JSON
35 lines
1.4 KiB
JSON
{
|
|
"snapshot": {
|
|
"iwdg-defer-start": "ca839ffc1cda439f",
|
|
"hardfault-handler": "a7f538eccdf1d88d",
|
|
"fault-handlers-3": "a7f538eccdf1d88d",
|
|
"fault-handler-enable": "be87fcd3a7926138",
|
|
"hardfault-report-impl": "a7f538eccdf1d88d",
|
|
"error-handler-degrade": "d02a92afda945c4b",
|
|
"stack-overflow-check": "d4735e3a265e16ee",
|
|
"malloc-failed-hook": "6b86b273ff34fce1",
|
|
"assert-not-deadloop": "d4a00718ab2bd071",
|
|
"assert-impl": "0ccf10a7fb115aa8",
|
|
"stack-overflow-hook-impl": "03a383dda578d12a",
|
|
"malloc-failed-hook-impl": "fcd7250e5cd6403b",
|
|
"stack-overflow-hook-helper": "cacd9fd028be9b5b",
|
|
"watchdog-module": "5fd7efd90a78fe5a",
|
|
"net-msgq-adopt": "a0f913e3f34c8e9e",
|
|
"reset-cause-latch": "983927d587cb9f48",
|
|
"iwdg-hal-driver": "4b902875a84554e9",
|
|
"hal-iwdg-enabled": "1a8ed6cff34f7ba6",
|
|
"ioc-keepusercode": "b5bea41b6c623f7c",
|
|
"ioc-iwdg-present": "d3a6e667048c95db",
|
|
"ioc-task-stacks": "58ee94dd2a093177",
|
|
"adc1-hal-enabled": "1a8ed6cff34f7ba6",
|
|
"adc1-calibration-call": "8d5f4b40fb218913",
|
|
"adc1-calibration-impl": "25723dd0449ac701",
|
|
"adc-tick-tim3-branch": "17d43a565f50c6f2",
|
|
"ioc-adc-trig-t3trgo": "a9939de260ee46f8",
|
|
"ioc-adc-dma-continuous": "189126670d85d80a",
|
|
"adc1-dma-link": "8a57c70611db1a02",
|
|
"adc1-dma-irq-priority": "beff08e91333229b"
|
|
},
|
|
"_note": "CubeMX 存活审计基线;改动用 --write 重建"
|
|
}
|