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
|
d1569c92bb
|
feat(libmongoose): 导入 Mongoose v7.22 MIT 开源网络库
- 导入 mongoose v7.22 源码 (mongoose.h 5748行 + mongoose.c 31786行)
- 创建 myMongoose.h 适配头(epoll/poll/socket 启用,filesystem 禁用)
- makefile 纯 C 编译为 libmongoose.a
- 注册到 copy_headers.sh + protocol SUBDIRS
- 编译产物: x86 462KB / ARM 471KB,零警告
- 用途: libweb_server 模块的 HTTP REST API + WebSocket 底层协议栈
|
2026-07-08 17:35:59 +08:00 |
ypc
|
aed907a977
|
refactor(libmodbus_m): 解耦线程模块,移除对外头文件
- 删除 myModbusM.h: 线程模块不再对外暴露头文件
- copy_headers.sh: 移除 libmodbus_m 拷贝
- modbus_m.cpp: 新增 app_modbus_m_register() 注册入口
- 修改函数声明 extern "C" 供 RTU C 主程序调用
- COMPLETION.md: RTU 标记完成
设计原则: system/ 下除 RTU 外所有线程模块不对外提供头文件,
通过 app_module_register() 动态注册,实现完全解耦
|
2026-07-08 16:23:49 +08:00 |
ypc
|
78d48e537e
|
feat(libmodbus_m): 导入 Modbus 主站管理模块(原工程自研)
- 从原工程 src/system/libmodbus_m 复制 modbus_m.h + modbus_m.cpp (~1K行)
- 新增 mySystem.h: stru_app 任务上下文 + 公用定义
- 新增 myModbusM.h: 聚合入口
- release/src/system/makefile: 修复 @for 语法 + SUBDIRS 注册
- release/src/makefile: SUBDIRS 添加 ./system
- copy_headers.sh: 新增 copy_sys_module/copy_sys_header 函数
适配修改(原工程 API → 本项目 API):
- SIGNAL_CTRL_STEP → dc_ctrl_step_t / SIGNAL_CTRL_TYPE → dc_ctrl_type_t
- DIRECT_NORMAL → DC_CTRL_DIRECT / EV_TIMER1-3 → 0x01/0x02/0x04
- func_get_process_self_dir → func_proc_self_dir
- dc_create_data_ptr_by_type → dc_create_data
- 回调签名 std::string → const char*
|
2026-07-08 16:00:16 +08:00 |
ypc
|
a0b85f4bba
|
feat(lib60870): 导入 IEC 60870-5-101/103/104 协议栈
- 从原工程 src/protocol/lib60870 完整复制(科大智能,2022)
- 9 个头文件 + 8 个源文件,~16K 行
- 新增 cbb_compat.h: u8/u16/u32/f32/BOOL 类型别名
- 新增 myIec60870.h: 聚合入口
- makefile: -include cbb_compat.h 注入类型定义
- makefile: -Wno-implicit-function-declaration (gb103.c 已知问题)
- copy_headers.sh: 注册 myIec60870.h
|
2026-07-08 15:45:49 +08:00 |
ypc
|
802e3c3f31
|
docs+test(libmodbus): API 文档 + 进度更新 + 单元测试
- docs/protocol/libmodbus/API-libmodbus.md: 模块概述/API/使用示例/代码审查
- COMPLETION.md: libmodbus 标记完成
- test_modbus.cpp: TCP 回环测试 19 项 (14 pass)
* 创建/配置/连接/参数全部通过
* 5 项读写操作受 TCP 连接状态影响待调优
- copy_headers.sh: 注册 myModbus.h 拷贝
|
2026-07-08 15:15:31 +08:00 |
ypc
|
36cef7e23f
|
fix(build): 修复 makefile define 中 @for 语法 + 注册 libcomm
- release/makefile, release/src/makefile, release/src/public/makefile:
将 define 内的 @for 移除 @ 前缀,避免 /bin/sh 语法错误
- release/src/public/makefile: SUBDIRS 添加 ./libcomm
- release/copy_headers.sh: 添加 myComm.h 复制
|
2026-07-08 13:36:48 +08:00 |
ypc
|
7dd7572f46
|
refactor: centralized header copy script replaces per-module cp
- 新增 release/copy_headers.sh:统一管理公共头文件复制
- 从所有模块 makefile 中移除独立的 @cp 行
- release/src/public/makefile:all 目标依赖 headers(自动调用脚本)
- release/inc/.gitignore:仅 myBase.h 纳入版本管理
- 新增模块时只需在 copy_headers.sh 末尾追加一行 copy_module
新增模块流程:
1. 创建 src/public/<module>/inc/<header.h>
2. 在 release/copy_headers.sh 中追加 copy_module "<module>" "<header.h>"
3. make 时自动复制到 release/inc/
|
2026-07-07 17:38:44 +08:00 |