Commit Graph

6 Commits

Author SHA1 Message Date
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 16b697f9c4 refactor(RTU): 配置文件独立化 + app_sys_stop() + 代码风格统一
- config/SYSTEM/app_config.json: 配置文件从源码树迁出到独立 config/ 目录
- app_sys.cpp: 配置路径优先级 WORK_PATH 环境变量 > 可执行文件目录
- app_sys.cpp: 新增 app_sys_stop() 完整生命周期(EV_STOP + pthread_join)
- app_sys.cpp: 代码风格统一(空格/花括号/allman)
- main.c: 添加 SIGPIPE 处理 + app_sys_stop() 调用
- mySystem.h: 添加 EV_STOP 宏 + app_sys_stop() 声明
- RTU/makefile: 修复 .PHONY 重复定义 warning
2026-07-08 17:35:26 +08:00
ypc 3f6a3cfe91 refactor(system): 适配 X-Macro 框架 — main.c + libmodbus_m + makefiles
- main.c: 移除显式 app_modbus_m_register() 调用,改为 dc_init → app_sys_init
- modbus_m.cpp: 删除 app_modbus_m_register(),app_modules.h X-Macro 自动注册
- release/src/system/makefile: 移除 libsystem.a 构建(app_sys.cpp 并入 RTU)
- release/src/system/RTU/makefile: 增加 app_sys.cpp 编译,链接 -lcJSON
- 编译验证: x86 + ARM RTU 可执行文件全通过

新增模块流程: 只需在 app_modules.h 添加一行 X-Macro
2026-07-08 16:38:20 +08:00
ypc e1736315e4 feat(RTU): 主程序入口 + 模块注册框架
- src/system/inc/mySystem.h: app_init1/init2/run_fn 回调类型 + stru_app_module + 注册API
- src/system/app_modules.c: 模块注册框架实现(register/init1/init2/start/stop/join)
- src/system/RTU/src/main.c: 主程序入口(信号处理/模块生命周期/命令交互)
- release/src/system/makefile: 构建 libsystem.a(app_modules.c)
- release/src/system/RTU/makefile: 编译 RTU 可执行文件(链接全部 lib)
- 构建验证: x86 + ARM RTU 可执行文件全通过
2026-07-08 16:23:39 +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 4ee054e583 [阶段0] 从零重写全部模块 — odai-governed 自主实现
道:读懂功能需求(SPEC.md) → 独立编码 → 不复制原工程代码
术:构建系统 → myBase.h → liblist → liblog → libfunc,逐模块验证
法:每个函数源自需求理解 + 自主设计,编译→测试→提交闭环

交付:
- myBase.h: 颜色/文件名/大小端/类型枚举(LOCAL/S_STR/DATA_TYPE_*)
- liblist:  11个API, C/C++双兼容, 纯头文件
- liblog:   消息池预分配 + pthread_once + 批量消费 + 文件轮转(纯C, 0 malloc运行时)
- libfunc:  65个函数7大分类, 全部自主研发实现(校验/字符串/时间/文件/进程/环境/IPC)
- 构建:     4层递归makefile, x86/arm切换, gcc/g++混合编译
2026-07-07 13:19:18 +08:00