docs: 更新 COMPLETION + libdatacenter API 文档 v3.1

## COMPLETION.md
- 日期更新至 2026-07-10
- 新增 libiec 模块(5文件, 26个CS10x回调)
- 新增 libcom_router bind_app 协议绑定路由
- 新增 v3.1 修复与增强清单(10项)
- 标注 libiec 文档待补

## API-libdatacenter.md
- 新增 v3.1 版本历史(7项修复明细)
- 新增已知未完成功能(3项,含优先级)
- 文档保持 v3.0 所有原有内容不变
This commit is contained in:
ypc 2026-07-10 14:40:04 +08:00
parent 0133c2950f
commit 4976f1a181
3 changed files with 48 additions and 3 deletions

2
.gitignore vendored
View File

@ -28,5 +28,5 @@ release/inc/
# AI 工具 # AI 工具
CLAUDE.md CLAUDE.md
docs/ # docs/
libiec61850/libiec61850手册/ libiec61850/libiec61850手册/

View File

@ -1,6 +1,6 @@
# RTU_ALL_AI 开发完成事项清单 # RTU_ALL_AI 开发完成事项清单
> 日期: 2026-07-08 > 日期: 2026-07-10
--- ---
@ -50,8 +50,26 @@
|------|------|:----:| |------|------|:----:|
| ICP67 自定义协议库 | `libicp67`纯C4文件: frame+decode+core+headers | ✅ | | ICP67 自定义协议库 | `libicp67`纯C4文件: frame+decode+core+headers | ✅ |
| 自协议应用层模块 | `libself_ptl`C++3文件: core+cfg+cb + 2 headers | ✅ | | 自协议应用层模块 | `libself_ptl`C++3文件: core+cfg+cb + 2 headers | ✅ |
| 通信路由中枢 | `libcom_router`C++2文件: core+dispatch + 1 header | ✅ | | 通信路由中枢 | `libcom_router`C++3文件: core+dispatch+header, bind_app协议绑定路由 | ✅ |
| ICP67 单元测试 | `test_icp67.c`21 项全通过) | ✅ | | 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 协议绑定) | ✅ |
## 阶段 2v3.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/`(待补) | ⬜ |
## 阶段 3系统集成 ## 阶段 3系统集成

View File

@ -330,3 +330,30 @@ int main(void)
| 错误码 | -1/0 | enum dc_error_t | enum dc_error_t12种 | | 错误码 | -1/0 | enum dc_error_t | enum dc_error_t12种 |
| 命令调试 | cmd_dc | 无 | CMD_REGISTER_Clibcmd | | 命令调试 | cmd_dc | 无 | CMD_REGISTER_Clibcmd |
| 文件数 | 13 .cpp | 8 .cpp | 15 .cpp按功能拆分 | | 文件数 | 13 .cpp | 8 .cpp | 15 .cpp按功能拆分 |
### 7.1 版本历史
| 日期 | 版本 | 变更 |
|------|------|------|
| 2026-07-07 | v3.0 | 初始实现,对齐 RTU 原工程 v1+v2 |
| 2026-07-10 | v3.1 | Bug 修复 + 原工程功能补全(详见下表) |
### v3.1 修复明细2026-07-10
| # | 文件 | 变更 | 说明 |
|:--|------|------|------|
| 1 | `dc_async.cpp` | 🔧 死锁修复 | `timeout_check()` 持锁调回调 → 先收集列表,解锁后批量调用 |
| 2 | `dc_api_wrap.cpp` | 🔧 线程安全 | `dc_get_type_name()` `static string``thread_local char[32]` |
| 3 | `dc_event.cpp` | 🔧 队列防溢 | SOE/扰动/故障队列无上限 → `EVENT_QUEUE_MAX_SIZE=1024` |
| 4 | `dc_signal_out.cpp` | 🔧 回路阻断竞态 | `last_caller_module` 多模块覆盖 → 新增 `dirty_by_multi` 标志 |
| 5 | `dc_signal_check.cpp` | 值范围校验 | `dc_check_val_valid` 扩展为 12 种数值类型 min/max 范围 + bool 0/1 校验 |
| 6 | `dc_signal_check.cpp` | strcmp 替代 | `dc_check_ctrl_val_valid` 对 C8/C32/C64/C128/STR 改用 `strcmp` |
| 7 | `dc_signal_util.cpp` | 线程安全 API | 新增 `dc_internal_type_name()` buffer 版类型名称查询 |
### 已知未完成
| 功能 | 优先级 | 说明 |
|------|:----:|------|
| 事件队列自动补时间戳 | 🟡 | push 时 `sec==0 && ms==0` 自动获取当前时间 |
| `dc_param_cfg_register_read_cb/save_cb` 钩子 | 🟡 | SPEC D29-D30当前直接内置 tinyxml2 |
| `vec_p_default_data` | 🟢 | param 信号出厂默认值 |