112 lines
4.9 KiB
Markdown
112 lines
4.9 KiB
Markdown
# RTU_ALL_AI 开发完成事项清单
|
||
|
||
> 日期: 2026-07-13
|
||
|
||
---
|
||
|
||
## 阶段 0:基础设施
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 搭建构建系统 | `release/linux.mk`, `makefile`, `build.sh`, `copy_headers.sh` | ✅ |
|
||
| 创建 myBase.h 基础定义 | `release/inc/myBase.h` | ✅ |
|
||
| 实现侵入式链表 | `liblist` | ✅ |
|
||
| 实现日志系统 | `liblog` | ✅ |
|
||
| 实现基础工具函数(65个) | `libfunc` | ✅ |
|
||
|
||
## 阶段 1:数据基础设施
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 实现 MD5 摘要算法 | `libmd5` | ✅ |
|
||
| 实现 xxHash 快速哈希 | `libmy_xxhash` | ✅ |
|
||
| 实现 cJSON 解析 | `libcJSON` | ✅ |
|
||
| 实现命令处理框架 | `libcmd` | ✅ |
|
||
| 实现 XML 解析 | `libxml` | ✅ |
|
||
| 实现数据中心(15文件拆分) | `libdatacenter` | ✅ |
|
||
| 实现任务调度 | `libtask` | ✅ |
|
||
| 单元测试 | `test_datacenter.cpp`(34项全通过) | ✅ |
|
||
| x86 编译验证 | 10/10 模块全通过 | ✅ |
|
||
| ARM 交叉编译验证 | 10/10 模块全通过 | ✅ |
|
||
|
||
## 阶段 2:通讯与协议
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 通讯抽象层 | `libcomm` | ✅ |
|
||
| 通讯抽象层测试 | `test_comm.cpp`(17项全通过) | ✅ |
|
||
| Modbus 协议栈 | `libmodbus`(开源库 v3.1.12,导入+日志适配) | ✅ |
|
||
| IEC 60870-5-104 | `lib60870`(原工程自研协议栈,导入) | ✅ |
|
||
| Modbus 主站管理 | `libmodbus_m`(原工程自研模块,导入+适配) | ✅ |
|
||
| 通讯通道解码 | `libcom_decode` | ⬜ |
|
||
| Web 管理服务 | `libweb_server`(3 文件拆分,单线程,EV_STOP 支持) | ✅ |
|
||
| Mongoose 网络库 | `libmongoose`(开源库 v7.22,导入+适配) | ✅ |
|
||
| 主程序入口 | `RTU`(X-Macro 框架 + app_config.json 启停控制 + 独立 config/ 目录) | ✅ |
|
||
|
||
## 阶段 2:通讯与协议(续)
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| ICP67 自定义协议库 | `libicp67`(纯C,4文件: frame+decode+core+headers) | ✅ |
|
||
| 自协议应用层模块 | `libself_ptl`(C++,3文件: core+cfg+cb + 2 headers) | ✅ |
|
||
| 通信路由中枢 | `libcom_router`(C++,3文件: core+dispatch+header, bind_app协议绑定路由) | ✅ |
|
||
| ICP67 单元测试 | `test_icp67.c`(21 项全通过) | ✅ |
|
||
| IEC-104 服务端模块 | `libiec`(5文件: iec104.cpp+cfg.cpp+point.cpp+2 headers, 26个CS10x回调) | ✅ |
|
||
| 通信路由中枢 bind_app | `libcom_router`(dispatch_cb 注册表, 通道配置 bind_app 协议绑定) | ✅ |
|
||
|
||
## 阶段 2:v3.1 修复与增强(2026-07-10)
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 修复死锁(持锁回调) | `libdatacenter` — dc_async_timeout_check | ✅ |
|
||
| 修复线程安全(static string) | `libdatacenter` — dc_get_type_name → thread_local | ✅ |
|
||
| 修复队列无上限 | `libdatacenter` — event queues MAX_SIZE=1024 | ✅ |
|
||
| 修复回路阻断竞态 | `libdatacenter` — dirty_by_multi 标志 | ✅ |
|
||
| 补全值范围校验 | `libdatacenter` — dc_check_val_valid 12种数值类型 min/max | ✅ |
|
||
| 补全strcmp比较 | `libdatacenter` — C8/C32/C64/C128/STR 用 strcmp | ✅ |
|
||
| 代码格式规范化 | `libiec`(3文件)— LOCAL/Tab/大括号独占行 | ✅ |
|
||
| self_ptl 测试命令 | `libself_ptl`(CMD_REGISTER_C, 9个子命令) | ✅ |
|
||
| 代码审查+修复 | `libicp67`(TI_1/TI_6边界检查, TI_3续帧修复等15项) | ✅ |
|
||
| EV_STOP 补全 | `self_ptl` + `com_router` + `modbus_m`(3模块) | ✅ |
|
||
| libiec 模块文档 | `docs/system/libiec/`(待补) | ⬜ |
|
||
|
||
## 阶段 2:v3.2 WSL 本地测试准备(2026-07-13)
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 新增 tcp_client 通道解析 | `com_router` — JSON 解析 + 默认配置支持 COMM_TYPE_TCP_CLIENT | ✅ |
|
||
| 新增 FTU 网口通道配置 | `config/CHANNEL/channel_cfg.json` — tcp_ftu (127.0.0.1:54321 TCP 客户端) | ✅ |
|
||
| 编译脚本增强 | `release/build.sh` — 编译前删除旧 RTU, 编译后拷贝到 config 同级目录 | ✅ |
|
||
| x86 编译验证 | 全量编译通过, RTU 可正常启动到 RTU> 提示符 | ✅ |
|
||
|
||
## 阶段 3:系统集成
|
||
|
||
## 阶段 3:系统集成
|
||
|
||
| 任务 | 模块 | 状态 |
|
||
|------|------|:----:|
|
||
| 端到端集成测试 | — | ⬜ |
|
||
| README 文档 | — | ⬜ |
|
||
|
||
---
|
||
|
||
## 缺失测试的模块
|
||
|
||
| 模块 | 应写测试 | 优先级 |
|
||
|------|:------:|:------:|
|
||
| `liblist` | `test_list.c` | 低(头文件宏,无运行时逻辑) |
|
||
| `liblog` | `test_log.c` | 中 |
|
||
| `libfunc` | `test_func.c` | 中 |
|
||
| `libmd5` | `test_md5.c` | 低(算法标准,验证向量固定) |
|
||
| `libcJSON` | `test_cjson.c` | 中 |
|
||
| `libmy_xxhash` | `test_xxhash.c` | 低(算法标准) |
|
||
| `libtask` | `test_task.c` | 中 |
|
||
| `libxml` | `test_xml.c` | 低(thin wrapper over tinyxml2) |
|
||
| `libcmd` | `test_cmd.c` | 中 |
|
||
|
||
> 已有测试: `test_datacenter.cpp`(34项) ✅ `test_comm.cpp`(17项) ✅
|
||
|
||
## 阶段 4(预留)
|
||
|
||
ICP67 / IEC61850 MMS / MQTT / 嵌入式HTTP / PLC / 内部协议 —— 全部 ⬜
|