整定一版
This commit is contained in:
47
开发文档.md
47
开发文档.md
@ -12,10 +12,10 @@
|
||||
|
||||
| 层级 | 主要职责 | 包含模块 | 文件位置 | 用户可定制性 |
|
||||
|------|----------|----------|----------|--------------|
|
||||
| **核心层** | 提供菜单组件的核心功能,包括菜单节点管理、事件处理、状态机等 | 菜单核心、事件队列、哈希表索引、栈管理 | src/core/ | 不可定制 |
|
||||
| **功能扩展层** | 基于核心层扩展的功能模块,用户可根据需求裁剪 | 参数管理、多语言支持、Modbus映射、状态机扩展 | src/features/、src/param/、src/lang/ | 部分可定制 |
|
||||
| **硬件端口层** | 提供硬件适配接口,对接具体硬件平台 | 硬件驱动抽象、打印接口、系统时间、中断管理 | port/ | 完全可定制 |
|
||||
| **API层** | 对外提供统一的API接口,屏蔽内部实现细节 | 上下文管理、菜单管理、事件处理、功能扩展接口 | api/ | 不可定制 |
|
||||
| **核心层** | 提供菜单组件的核心功能,包括菜单节点管理、事件处理、状态机等 | 菜单核心(menu_core.c)、事件队列(menu_event.c)、哈希表索引(menu_hash.c)、栈管理(menu_stack.c) | src/core/ | 不可定制 |
|
||||
| **功能扩展层** | 基于核心层扩展的功能模块,用户可根据需求裁剪 | 参数管理(menu_param.c)、多语言支持(menu_lang.c) | src/param/、src/lang/ | 部分可定制 |
|
||||
| **硬件端口层** | 提供硬件适配接口,对接具体硬件平台 | 硬件驱动抽象(menu_port.c) | port/ | 完全可定制 |
|
||||
| **API层** | 对外提供统一的API接口,屏蔽内部实现细节 | 统一API接口(menu_api.c) | api/ | 不可定制 |
|
||||
|
||||
### 2.2 模块间依赖关系
|
||||
|
||||
@ -187,6 +187,45 @@ typedef struct {
|
||||
- 状态转换动作可定制,便于扩展菜单行为
|
||||
- 支持状态转换描述,便于调试
|
||||
|
||||
### 4.5 参数结构体
|
||||
|
||||
```c
|
||||
typedef struct {
|
||||
uint16_t id; ///< 参数ID
|
||||
const char* name; ///< 参数名称
|
||||
ParamType type; ///< 参数类型
|
||||
void* value; ///< 参数值指针
|
||||
void* default_value; ///< 默认值指针
|
||||
void* min_value; ///< 最小值指针
|
||||
void* max_value; ///< 最大值指针
|
||||
bool is_read_only; ///< 是否只读
|
||||
bool is_modified; ///< 是否已修改
|
||||
} MenuParam;
|
||||
```
|
||||
|
||||
**设计亮点**:
|
||||
- 支持多种参数类型(int8/uint8/int16/uint16/int32/uint32/float)
|
||||
- 自动范围检查和边界处理
|
||||
- 参数与菜单节点绑定,支持菜单直接调整参数
|
||||
- 支持默认值恢复功能
|
||||
|
||||
### 4.6 语言包结构体
|
||||
|
||||
```c
|
||||
typedef struct {
|
||||
LangId id; ///< 语言ID
|
||||
const char* name; ///< 语言名称(如"English"、"中文")
|
||||
const LangStrItem* strings; ///< 字符串数组
|
||||
uint16_t string_count; ///< 字符串数量
|
||||
} LangPack;
|
||||
```
|
||||
|
||||
**设计亮点**:
|
||||
- 支持多种语言切换
|
||||
- 字符串ID映射机制,便于管理和维护
|
||||
- 自动回退到默认语言,提高系统容错性
|
||||
- 优化的语言字符串查找算法
|
||||
|
||||
## 5. 核心算法
|
||||
|
||||
### 5.1 哈希表算法
|
||||
|
||||
Reference in New Issue
Block a user