增加两页UI

This commit is contained in:
2026-09-09 13:18:06 +08:00
parent 8b8aac39a6
commit 146d160790
24 changed files with 1436 additions and 122 deletions
+23 -7
View File
@@ -152,24 +152,28 @@ STM32F4-Base/
│ ├── ftp_capture.py # FTP 流量抓取(主机端)
│ └── time_sync_server.py # 时间同步推送服务(主机端)
├── docs/ # 项目文档
│ ├── UI 设计/ # LVGL UI:架构 / 菜单页面 / 制作流程 / 字体 / 模拟器 / 自动化测试 + mockups 样机
│ ├── 代码规范/ # C 代码规范、pre-commit / cppcheck 使用说明
│ ├── 问题记录/ # 已知陷阱与解决方案
│ ├── 测试说明/ # 测试指南
│ ├── 芯片手册/ # 硬件数据手册
│ ├── 测试开发标准流程.md # 测试开发标准流程
│ ├── 测试文档模板规范.md # 测试文档模板规范
│ └── *.md # 存储架构 / UI 规划 / 墙钟时间 / 启动顺序 / LVGL 模拟器
│ └── *.md # 存储架构 / 墙钟时间 / 启动顺序等(UI 相关文档在 UI 设计/)
├── scripts/ # pre-commit 本地钩子脚本
│ ├── check_coding_standard.py # 代码规范机械检查
│ └── check_mojibake.py # U+FFFD 乱码检查
├── simulator/ # LVGL PC 模拟器(CMake + SDL2)
├── simulator/ # LVGL PC 模拟器(CMake + SDL2,与 MCU 共用 UI 源码)
│ ├── CMakeLists.txt # 模拟器构建脚本
│ ├── main.c / sim_port.c/h # 模拟器入口与移植层
│ ├── lv_conf.h # LVGL 配置(1bpp + SDL)
│ ├── i1_to_png.py # 截图 I1(1bpp) → PNG 转换工具
│ ├── tests/ # 无头回归脚本 + 黄金参考(菜单像素回归 / 内容页黄金参考)
│ └── SDL2/ # SDL2 2.32.10 预编译库
├── tools/ # 开发工具
│ └── font_gen/ # 中文字体生成工具
├── ui_cn_chars.txt # 中文字体字符集
├── requirements.txt # Python 依赖清单(统一 .venv 环境,见 AGENTS.md「Python 环境」)
├── STM32F407-Demo.ioc # CubeMX 工程文件
├── .pre-commit-config.yaml # pre-commit 钩子配置
├── .gitlint # commit message 检查规则
@@ -183,7 +187,7 @@ STM32F4-Base/
### 环境要求
- **Keil MDK-ARM v5** (ARMCC 编译器)
- **Python 3**(测试脚本)
- **Python 3**(统一入口为仓库内 `.venv`,依赖见 `requirements.txt`,重建方法见 AGENTS.md「Python 环境」)
- **ST-Link** 或兼容调试器
### 编译
@@ -208,7 +212,7 @@ MDK-ARM\download.bat
### LVGL PC 模拟器
PC 端 UI 开发调试(无需烧录 MCU),详见 `docs/LVGL模拟器部署与使用说明.md`:
PC 端 UI 开发调试(无需烧录 MCU,与 MCU 共用 `Drivers/BSP/UI/` 源码),详见 `docs/UI 设计/LVGL模拟器部署与使用说明.md`:
```powershell
cd simulator
@@ -217,6 +221,15 @@ cmake --build build --config Debug
# 运行 simulator\build\Debug\lvgl_sim.exe
```
UI 改动回归门禁(菜单像素回归 + 内容页黄金参考 + 池水位校验):
```powershell
.venv\Scripts\python.exe simulator/tests/check_menu_rows.py
.venv\Scripts\python.exe simulator/tests/check_content_pages.py
```
详见 `docs/UI 设计/UI_自动化测试流程.md`。
## 驱动开发指南
### CH395F 以太网
@@ -359,9 +372,12 @@ pre-commit run --all-files
| `docs/STM32F4-Base存储架构说明.md` | 三层存储软件栈详解(FatFS → dhara FTL → NAND) |
| `docs/项目启动顺序管理.md` | Event Flags 就绪屏障设计 |
| `docs/系统墙钟时间维护说明.md` | RTC + 墙钟时间子系统 |
| `docs/UI_图形界面实施规划.md` | LVGL UI 实施规划 |
| `docs/UI_中文字体生成与配置.md` | 中文字体生成与配置 |
| `docs/LVGL模拟器部署与使用说明.md` | LVGL PC 模拟器部署 |
| `docs/UI 设计/UI_设计架构.md` | LVGL UI 系统架构(菜单 / 内容页 / 内存预算) |
| `docs/UI 设计/菜单页面设计.md` | 菜单导航行为、数据流与内容页设计 |
| `docs/UI 设计/UI_界面制作流程.md` | 参考图 → HTML 样机 → LVGL 代码管线(P0~P5 门禁) |
| `docs/UI 设计/UI_中文字体生成与配置.md` | 中文字体生成与配置 |
| `docs/UI 设计/LVGL模拟器部署与使用说明.md` | LVGL PC 模拟器部署 |
| `docs/UI 设计/UI_自动化测试流程.md` | UI 回归门禁(脚本 + 池水位常量 + 黄金参考更新) |
| `docs/代码规范/嵌入式C语言代码规范(V1.0).md` | C 语言代码规范 |
| `docs/代码规范/pre-commit使用说明.md` | 自动化代码审查部署与使用 |
| `docs/代码规范/cppcheck使用说明.md` | cppcheck 规则、配置与误报抑制 |