39bd06adea
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、 Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests) - 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档 - 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2) - docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
2.2 KiB
2.2 KiB
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-verifyskill 五步门禁 - 含新汉字的文案提交前先跑
font-regenskill 重生成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