ypc
|
105db095f4
|
feat(libiec): IEC 60870-5-104 服务端模块 — 5文件/700行
## 模块结构
- iec104.h: 公共头 (MAX_IEC_NUM=3 slot复用/辅助类型)
- iec104_cfg.h: XML点表配置声明 (6类信号stru_iec_sig)
- iec104.cpp: 核心 (CS10x初始化/slot管理/全部26个回调/收发桥/线程)
- iec104_cfg.cpp: tinyxml2解析iec1014.xml
- iec104_point.cpp: 数据中心桥 (信号link+变化回调→环形缓冲)
## 回调覆盖
时间/COI/总召YX/YC/DD/扰动YC/SOE/扰动DD/故障/YK/Param/文件 — 14类26个
## 数据流
com_router(MQ_COM_TO_IEC)→iec104_data_rx→CS10x_DoRecv→callbacks→datacenter
iec104_data_tx→MQ_IEC_TO_COM→com_router→TCP:2404
## 框架集成
- app_modules.h: 启用IEC行
- app_msg_queue.h: 新增COM_TO_IEC+IEC_TO_COM
- mySystem.h: 新增EV_IEC_RX_COM+EV_COM_RX_IEC
- makefile: libiec.a + RTU链接-liec
- 测试命令: iec info/reset (CMD_REGISTER_C)
|
2026-07-10 11:08:37 +08:00 |
ypc
|
920524945d
|
feat: ICP67自定义协议 + 自协议应用层 + 通信路由中枢
=== libicp67 (纯C, 4文件 1800+行) ===
- 帧定界/CRC/构造 (icp67_frame.c)
- 16种TI解码 + 文件/ZIP子命令 (icp67_decode.c)
- 13个Sender + 重传管理 + 定时器 (icp67_core.c)
- 可配置超时/重试参数 + 零拷贝环形缓冲搜索
- 测试 26项全通过
=== libself_ptl (C++, 3文件 1200+行) ===
- XML点表解析 (St/Mx/Co/Dd/Ao/Param 2988行)
- 17个回调 → 数据中心 (SOE/故障/扰动/自检/AO)
- MQ_COM_TO_SELF_PTL / MQ_SELF_PTL_TO_COM 解耦
=== libcom_router (C++, 2文件 800+行) ===
- 通道创建 + JSON配置 + 转发端口TCP server
- 三级路由: 端口转发 → 回复归属 → self_ptl
- MQ桥接: 按原工程 stru_msg_head + EV_COM_RX_SELF_PTL
=== 系统框架 ===
- app_msg_queue.h X-Macro MQ定义
- 跨模块事件 + stru_msg_head 消息封装
- app_modules.h 注册 SELF_PTL / COM_ROUTER
|
2026-07-09 17:51:57 +08:00 |
ypc
|
3dd52d2202
|
feat(libweb_server): Web 管理服务模块(3 文件拆分 + 单线程 + EV_STOP)
基于原工程 libweb_server 重构,核心改进:
- 双线程 → 单线程: mg_mgr_poll 合入 X-Macro 框架 EV_TIMER1
- 无停止机制 → EV_STOP 优雅退出
- 1500 行 → ~650 行(3 文件拆分: web_server.cpp/ws_method.cpp)
- 端口: http://0.0.0.0:8080, WebSocket: /ws
- 信号 CRUD: add/del/set × 5 种信号类型
- 增量推送: EV_TIMER2 每 100ms 对比 last_val
- 异步命令通道 + 文件上传/下载 + 远程命令执行
注册: app_modules.h + system/makefile + copy_headers.sh + RTU/makefile
构建: x86 + ARM 全通过,零警告
|
2026-07-08 17:57:17 +08:00 |
ypc
|
447443a6e5
|
refactor(system): 迁移至 X-Macro 框架 + app_config.json 启停控制
- 新增 app_modules.h: X-Macro 模块中心化列表(当前仅 modbus_m)
- 重写 mySystem.h: 移除旧 app_module_register API,新增:
* enum_app: 通过 app_modules.h X-Macro 自动生成
* extern 声明: 通过 app_modules.h 自动生成全部 init1/init2/run
* stru_app: 增加 p_event/timer[3]/rtx/run_cnt(对齐原工程)
- 新增 app_sys.cpp (替换 app_modules.c):
* 读取 app_config.json → 按 enable:true/false 启停模块
* 自动为每个模块创建 3 级定时器 (10ms/100ms/1000ms) + 事件
* X-Macro 展开 g_vec_app 初始化列表
- 新增 app_config.json: {"apps":[{"name":"app_modbus_m","enable":true}]}
- 删除 app_modules.c: 旧的动态注册框架
|
2026-07-08 16:38:10 +08:00 |