Files
STM32F4-Base/Drivers/BSP/UI
super_agent_bot 36e309576f
CI / 静态门禁 (pre-commit) (push) Failing after 5m49s
CI / 主机侧单测 (MSVC) (push) Successful in 48s
CI / 静态门禁 (pre-commit) (pull_request) Failing after 3m37s
CI / 主机侧单测 (MSVC) (pull_request) Successful in 29s
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 修订与台账销项随第二笔。
2026-11-07 19:16:21 +08:00
..
2026-09-09 17:15:04 +08:00
2026-09-10 11:36:33 +08:00

Drivers/BSP/UI/ — LVGL UI 组件

基于 LVGL 的界面实现:菜单树、内容页、通用组件、中文字库、待机页。 与 PC 模拟器共用同一套 UI 源码(simulator/ 只提供平台层)。

结构

核心 / 框架

文件 作用
ui_port.c/h LVGL 移植层:显示驱动、输入设备、tick 注册
ui_menu.c/h 菜单框架(树结构与导航)
ui_menu_view.c/h 菜单视图渲染
ui_menu_tab.c/h 页签组件
ui_deco.c/h 界面装饰元素(图标、边框等)
ui_standby.c/h 待机页
ui_pwd_def.h 密码页默认值定义
ui_font_cn_12.c 中文字库(由 tools/font_gen/ 生成,勿手改)

内容页

文件 作用
ui_content_page.c/h 内容页框架
ui_page_ac.c/h 交流量页
ui_page_dc.c/h 直流量页
ui_page_device_info.c/h 设备信息页
ui_page_net_cfg.c/h 网口设置页
ui_page_password.c/h 密码页
ui_page_runlog.c/h 运行日志页
ui_page_selftest.c/h 自检页

数据汇入(推流)

文件 作用
ui_net_sink.c/h 远端显示总线(RemoDispBus)数据汇入口
ui_net_sink_backend.h 后端抽象接口(MCU / 模拟器分别实现)
ui_net_sink_backend_mcu.c MCU 端后端实现

⚠️ 编码注意(本目录含中文字符串)

  • 本目录文件带 UTF-8 BOM(.c 内含中文字符串字面量,BOM 使 ARMCC 按 UTF-8 解码)
  • Edit 工具会剥掉 BOM:改完必须核对并按原样补回 3 字节 EF BB BF, 否则 ARMCC 改按 CP936 解读 → #870-D: invalid multibyte character sequence
  • UI 改动一律走 ui-verify skill 五步门禁
  • 含新汉字的文案提交前先跑 font-regen skill 重生成 ui_font_cn_12.c

相关文档

  • UI 架构:docs/UI设计/UI_设计架构.md
  • 菜单设计:docs/UI设计/菜单页面设计.md、docs/UI设计/内容页架构.md
  • 字体:docs/UI设计/UI_中文字体生成与配置.md
  • 模拟器:docs/UI设计/LVGL模拟器部署与使用说明.md
  • 自动化测试:docs/UI设计/UI_自动化测试流程.md
  • 协议:docs/UI设计/RemoDispBus协议与接收设计说明.md