增加了 APPinfo 页面的基础显示功能
This commit is contained in:
59
README.md
59
README.md
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user