ipc config design.
This commit is contained in:
parent
548b2acfa6
commit
feba1578fa
|
@ -123,11 +123,16 @@ libLogAbstract.a -->> -User:return
|
||||||
|
|
||||||
   MCU通信接口库,一般使用串口进行通信,需要考虑多态其它接口(例如I2C),考虑多态协议数据结构。MCU负责管理外设的电源控制 / 充当硬狗等。
|
   MCU通信接口库,一般使用串口进行通信,需要考虑多态其它接口(例如I2C),考虑多态协议数据结构。MCU负责管理外设的电源控制 / 充当硬狗等。
|
||||||
|
|
||||||
###### 1.4.2.2.4.1. 串口开源库
|
###### 1.4.2.2.4.1. MCU管理模块设计模式
|
||||||
使用下述开源库对串口数据进行收发。
|
|
||||||
```
|
   使用C++接口的多态单例模式。
|
||||||
https://gitee.com/RT-Thread-Mirror/TinyFrame
|
|
||||||
```
|
基本功能:
|
||||||
|
|
||||||
|
1. 使用utils当中的串口功能模块,支持多态切换到其它串口功能模块;
|
||||||
|
2. 设置MCU管理的监视器monitor,用于回调处理MCU接受到的业务事件;
|
||||||
|
3. 通信协议不暴露,内部处理基于协议的数据解析 / 组包;
|
||||||
|
4. 通信协议支持多态拓展,通信协议独立成库;
|
||||||
|
|
||||||
##### 1.4.2.2.5. IPC配置库
|
##### 1.4.2.2.5. IPC配置库
|
||||||
|
|
||||||
|
@ -146,6 +151,15 @@ https://gitee.com/RT-Thread-Mirror/TinyFrame
|
||||||
5. 使用枚举方式管理IPC配置数据定义,当使用纯16进制保存数据时,可不链接utils工具里面的配置库,直接保存16进制数据到文件系统即可;
|
5. 使用枚举方式管理IPC配置数据定义,当使用纯16进制保存数据时,可不链接utils工具里面的配置库,直接保存16进制数据到文件系统即可;
|
||||||
6. 应用程序全局唯一可以操作IPC配置文件的库,保证配置文件正确读写;
|
6. 应用程序全局唯一可以操作IPC配置文件的库,保证配置文件正确读写;
|
||||||
|
|
||||||
|
###### IPC配置库类图
|
||||||
|
```mermaid
|
||||||
|
classDiagram
|
||||||
|
i_ipc_config <.. ipc_config:实现
|
||||||
|
ipc_config --> i_config_manager:依赖
|
||||||
|
i_config_manager <.. config_manager:实现
|
||||||
|
config_manager --> libconfig开源库:依赖
|
||||||
|
```
|
||||||
|
|
||||||
##### 1.4.2.2.6. 高级配置库
|
##### 1.4.2.2.6. 高级配置库
|
||||||
|
|
||||||
   对配置库的二级封装,提供更便捷的功能服务,例如:可以监控文件的修改事件 / 可以直接捕获某个配置文件或者数据的操作对象。
|
   对配置库的二级封装,提供更便捷的功能服务,例如:可以监控文件的修改事件 / 可以直接捕获某个配置文件或者数据的操作对象。
|
||||||
|
@ -218,6 +232,8 @@ https://gitee.com/RT-Thread-Mirror/TinyFrame
|
||||||
|
|
||||||
###### 1.4.2.4.5.3. 开源库
|
###### 1.4.2.4.5.3. 开源库
|
||||||
|
|
||||||
|
使用libconfig作为文件操作的开源库,实现文件和数据的读 / 写。
|
||||||
|
|
||||||
###### 1.4.2.4.5.4. 备份机制
|
###### 1.4.2.4.5.4. 备份机制
|
||||||
|
|
||||||
   备份数据用于数据异常时可还原旧数据。
|
   备份数据用于数据异常时可还原旧数据。
|
||||||
|
@ -225,3 +241,23 @@ https://gitee.com/RT-Thread-Mirror/TinyFrame
|
||||||
###### 1.4.2.4.5.5. 升级机制
|
###### 1.4.2.4.5.5. 升级机制
|
||||||
|
|
||||||
   程序升级后配置数据发生增 / 删时如何兼容和还原。
|
   程序升级后配置数据发生增 / 删时如何兼容和还原。
|
||||||
|
|
||||||
|
##### 1.4.2.4.6. 串口功能模块
|
||||||
|
|
||||||
|
   串口的打开 / 关闭 / 数据读 / 数据写 功能。
|
||||||
|
|
||||||
|
###### 1.4.2.4.6.1. 串口开源库
|
||||||
|
使用下述开源库对串口数据进行收发。
|
||||||
|
```
|
||||||
|
https://gitee.com/RT-Thread-Mirror/TinyFrame
|
||||||
|
```
|
||||||
|
|
||||||
|
##### 1.4.2.4.7. MCU协议库
|
||||||
|
|
||||||
|
   负责MCU通信协议的组包 / 拆包 / 事件转换。
|
||||||
|
|
||||||
|
###### MCU协议库设计模式
|
||||||
|
|
||||||
|
   基于C语言的多态单例设计模式。
|
||||||
|
|
||||||
|
###### 1.4.2.4.7.1. 协议数据结构
|
Loading…
Reference in New Issue
Block a user