为自建代码目录补齐 README,建立目录级导航体系
- 新增 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 目录结构加入说明
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# simulator/sim/ — 模拟器平台层
|
||||
|
||||
> PC 端 LVGL 模拟器的**平台适配层**:把 MCU 侧的硬件/RTOS 接口替换成 PC 实现,
|
||||
> 使 **UI 源码(`Drivers/BSP/UI/`)与固件共用同一套代码**。
|
||||
|
||||
## 文件一览
|
||||
|
||||
| 文件 | 替换的 MCU 侧实现 | 作用 |
|
||||
|---|---|---|
|
||||
| `sim_port.c/h` | `ui_port.c` | **显示/输入移植层**:SDL 窗口 → LVGL 显示驱动 + 键鼠/触摸输入 |
|
||||
| `net_socket_sim.c` | `net_socket.c` | 网络 Socket 的 PC 实现(宿主 BSD socket) |
|
||||
| `cfg_file_store_sim.c` | `cfg_file_store_mcu.c` | 配置存储的 PC 后端(宿主堆) |
|
||||
| `sim_syslog.c` | `sys_log_mcu.c` | 日志的 PC 实现(写文件而非 NAND) |
|
||||
| `ui_net_sink_backend_sim.c` | `ui_net_sink_backend_mcu.c` | 推流后端的 PC 实现 |
|
||||
| `sim_latency_stub.c` | — | 时延打桩(模拟链路延迟,供测试) |
|
||||
|
||||
## 设计模式
|
||||
|
||||
MCU 与模拟器**共用核心逻辑,仅后端不同**:
|
||||
|
||||
```
|
||||
共享核心(无分配符号)
|
||||
├── cfg_file.c(配置引擎)
|
||||
└── ui_*(LVGL UI)
|
||||
↓ 后端抽象接口
|
||||
┌─────────┴─────────┐
|
||||
MCU 后端(本工程 *_mcu.c) PC 后端(本目录 *_sim.c)
|
||||
```
|
||||
|
||||
> 配置引擎后端:MCU = FreeRTOS 堆、模拟器 = 宿主堆,**共享核心零分配符号**。
|
||||
|
||||
## 相关文档
|
||||
|
||||
- 模拟器总说明:`../README.md`
|
||||
- UI 架构与移植要点:`docs/UI设计/UI_设计架构.md`
|
||||
- 模拟器部署:`docs/UI设计/LVGL模拟器部署与使用说明.md`
|
||||
@@ -0,0 +1,36 @@
|
||||
# simulator/tests/ — UI 模拟器无头回归测试
|
||||
|
||||
> PC 端**无头**(headless)UI 像素回归测试:在模拟器中渲染各页面,与**黄金参考图**比对,
|
||||
> 检测 UI 改动是否引入像素级回归。属于 `ui-verify` skill 五步门禁的一部分。
|
||||
|
||||
## 文件一览
|
||||
|
||||
| 文件 | 作用 |
|
||||
|---|---|
|
||||
| `check_menu_rows.py` | **菜单像素回归**:渲染菜单行 → 与黄金参考比对 |
|
||||
| `check_content_pages.py` | **内容页回归**:各内容页渲染比对 |
|
||||
| `check_remo_sink.py` | **推流(RemoDispBus)回归**:接收端渲染比对 |
|
||||
| `regen_ref_png.py` | **重建黄金参考**:UI 有意变更后,重新生成基准图 |
|
||||
| `ref/` | 黄金参考图(基准 PNG) |
|
||||
|
||||
## 使用方式
|
||||
|
||||
```bash
|
||||
# 跑回归(按 ui-verify skill 流程)
|
||||
& '.venv\Scripts\python.exe' simulator/tests/check_menu_rows.py
|
||||
& '.venv\Scripts\python.exe' simulator/tests/check_content_pages.py
|
||||
|
||||
# UI 有意变更、确认无误后重建基准
|
||||
& '.venv\Scripts\python.exe' simulator/tests/regen_ref_png.py
|
||||
```
|
||||
|
||||
## ⚠️ 注意
|
||||
|
||||
- **重建黄金参考前必须确认变更是有意的**——否则会把 bug 固化成"基准"
|
||||
- UI 改动一律走 **`ui-verify` skill 五步门禁**(regression 是其中一步)
|
||||
- 依赖模拟器已构建(`simulator/build_sim.bat`)
|
||||
|
||||
## 相关文档
|
||||
|
||||
- `docs/UI设计/UI_自动化测试流程.md` — ui-verify 五步门禁
|
||||
- `docs/UI设计/LVGL模拟器部署与使用说明.md`
|
||||
Reference in New Issue
Block a user