增加了 APPinfo 页面的基础显示功能

This commit is contained in:
2026-04-02 17:13:24 +08:00
parent e3435cd3dd
commit df94630210
32 changed files with 2031 additions and 1439 deletions

View File

@@ -12,6 +12,31 @@
- 基于 CTest 的单元测试体系已覆盖菜单、页面管理、按键、LCD、TCP 回环等模块
---
```txt
┌─────────────────────────────────────────────────────────────┐
│ 应用层 (main.c) │
│ 系统初始化 / 主循环调度 / 生命周期管理 │
├─────────────────────────────────────────────────────────────┤
│ 多页面管理层 │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Page Manager (栈式调度) │ Global Model (跨页面共享) │ │
│ └───────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ MVP 业务层 │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Menu Page │ │ AppInfoPage │ │ YC Page │ │
│ │ Model/ │ │ Model/ │ │ Model/ │ │
│ │ Presenter/ │ │ Presenter/ │ │ Presenter/ │ │
│ │ View │ │ View │ │ View │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ 驱动抽象层 │
│ LCD 驱动 │ 按键驱动 │ 布局计算 │ 渲染端口 │
├─────────────────────────────────────────────────────────────┤
│ 底层基础设施 │
│ TCP/Socket 封装 │ 线程工具 │ UTF-8 处理 │
└─────────────────────────────────────────────────────────────┘
```
## 快速开始
@@ -70,38 +95,38 @@ ctest --test-dir build -C Debug --output-on-failure
DTU-HMI/
├── CMakeLists.txt
├── README.md
├── include/
│ └── types.h
├── include/ # 公共头文件
│ └── types.h # 类型定义
├── src/
│ ├── main.c
│ ├── main.c # ⭐ 应用入口,主循环调度
│ ├── common/
│ │ └── utf8.c/h
│ ├── remoteDisplay.c/h
│ ├── thread_utils.c/h
│ ├── TCP/
│ │ └── tcp.c/h
│ └── Drv/
│ ├── key.c/h
│ └── Drv/ # 📦 驱动层
│ ├── key.c/h # 按键输入抽象
│ ├── menu/app/
│ │ └── menu.c/h
│ ├── lcd/
│ │ ├── ascii.c/h
│ ├── lcd/ # LCD 显示驱动
│ │ ├── ascii.c/h # ASCII 字库
│ │ ├── lcd.c/h
│ │ ├── lcd_draw.c/h
│ │ └── lcd_text.c/h
│ └── pages/
│ ├── page.h
│ ├── page_manager.c/h
│ ├── global/
│ │ ├── global_state.c/h
│ │ └── renderer_lcd.c/h
│ └── menu/
│ └── pages/ # ⭐ 新版多页面系统根目录
│ ├── page.h # 标准页面抽象定义
│ ├── page_manager.c/h # 页面栈调度器
│ ├── global/ # 🌍 全局状态管理
│ │ ├── global_state.c/h # 跨页面共享数据
│ │ └── renderer_lcd.c/h # LCD 渲染 HAL 接口
│ └── menu/ # 📋 Menu 页面的 MVP 实现
│ ├── def.h
│ ├── model.c/h
│ ├── presenter.c/h
│ ├── view.c/h
│ └── page.c/h
└── tests/
│ ├── view.c/h # 菜单渲染绘制
│ └── page.c/h # 页面生命周期注册
└── tests/ # 🧪 测试目录
├── CMakeLists.txt
├── test_p0_remote_display.c
├── test_p0_utf8_hz12_get.c