Commit Graph

15 Commits

Author SHA1 Message Date
ypc a6f9384e66 fix: 优雅退出 — 3 模块补 EV_STOP + 每日工作总结记录
web_server/iec104/plc 的 task_event_recv 事件掩码缺失
EV_STOP, 导致 ^C 后这 3 个线程永远卡在死循环不退.
修复: 掩码添加 | EV_STOP; plc 补 EV_STOP handler.

新增 docs/superpowers/DAILY_LOG_2026-07-14.md 总结今天
所有调试问题与修复经验, 后续优先查阅.
2026-07-14 18:30:40 +08:00
ypc 370be09926 docs+test: webserver 分析文档 + 测试增强 + gitignore 更新
- docs/system/libweb_server/: 原工程 vs 现工程 webserver 对比分析
- docs/system/libweb_server/: 修改调试计划
- test_cmd.cpp: 命令框架测试扩展
- test_log_latency.cpp: 日志延迟测试(新增)
- .gitignore: 新增 config/SYSTEM/datacenter_out.xml 忽略规则
2026-07-14 11:02:44 +08:00
ypc b00b998ac1 feat(libplc): PLC 逻辑引擎模块 + 文档补全 + 计划同步
## libplc 模块 (新)
- src/system/libplc/inc/plc.h / src/plc.cpp: 1252 行, 原工程完整复刻
- 10 种逻辑门 (AND/OR/NOT/62P/62D/RISING/FALLING/SR/RS)
- Kahn 拓扑排序 + 非阻塞定时器 (CLOCK_MONOTONIC)
- 嵌套 Comb XML 递归解析 + R/S 引脚属性
- self_ptl 遥信联动 + datacenter out 信号输出
- dc_get_signal_info_by_id 封装为 plc_set/get_out_value_by_id
- printf → PLC_DBG 可控调试宏 + 'plc dbg on|off' 命令开关
- 代码规范: Tab 缩进/条件分支分行/大括号独占行/函数注释
- 接口适配: func_proc_self_dir/dc_signal_out module_id 对齐
- release/src/system/libplc/makefile + release 头文件

## 文档补全 (之前开发未写文档)
- docs/system/libiec/API-libiec.md (26 个 CS10x 回调, 架构, MQ 流)
- docs/system/libcom_router/API-libcom_router.md
- docs/system/libself_ptl/API-libself_ptl.md
- docs/protocol/libicp67/API-libicp67.md

## 计划同步
- PLAN.md: 阶段 0~4 全部回写状态 
- COMPLETION.md: 清理陈旧 libiec  条目
- docs/README.md: 新增 libiec/libcom_router/libself_ptl/libicp67 索引
- PLAN.md 3.4: 新增 if/大括号/多语句格式规范
- 工作流: 新增 '回写 PLAN.md' 步骤

## X-Macro 注册
- app_modules.h: APP_MODULE(PLC, ...)
- release/src/system/makefile: SUBDIRS 新增 ./libplc
2026-07-10 15:42:18 +08:00
ypc 4976f1a181 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 所有原有内容不变
2026-07-10 14:40:04 +08:00
ypc ecbdf483b6 docs(libweb_server): Web 管理服务模块详细 API 参考文档
12 个章节完整覆盖:
- 模块概述 + 与原工程对比
- 文件结构 + 单线程事件驱动架构图
- 核心数据结构 (stru_ws_sig / stru_ws_session / enum_ws_sig_type)
- 接口函数 (X-Macro 入口 / ws_send_all / ws_send_one / ws_send_binary / 异步通道)
- WebSocket 协议 (JSON CRUD / 增量推送格式 / 远程命令 / 文件管理)
- 内部函数 (ws_sig_add/del/set / ws_make_sig_json / ws_push_task / ws_cmd_exec)
- X-Macro 注册 / 依赖关系 / 编译构建 / 运行验证 / JavaScript 使用示例
2026-07-08 18:02:21 +08:00
ypc db1ee1e979 docs: RTU 模块 + Mongoose API 参考文档
- docs/system/RTU/API-RTU.md: RTU 完整文档(531行)
  X-Macro 框架/启动流程/数据结构/新增模块指南
- docs/protocol/libmongoose/API-libmongoose.md: mongoose 文档(347行)
  HTTP/WebSocket/定时器 API + 集成约束
- docs/README.md: 新增 system/ + protocol/libmongoose 索引
- COMPLETION.md: 更新 RTU + mongoose 完成状态
2026-07-08 17:36:15 +08:00
ypc 854319a500 docs(libmodbus_m): API 参考文档 + 进度更新
- API-libmodbus_m.md: 模块概述/数据结构/API/依赖/适配说明
- COMPLETION.md: libmodbus_m 标记完成
2026-07-08 16:00:24 +08:00
ypc 7b1bbba325 docs(lib60870): API 参考文档 + 进度更新
- API-lib60870.md: 模块概述/源文件结构/核心数据结构/API/依赖关系/代码审查
- COMPLETION.md: lib60870 标记完成
2026-07-08 15:45:57 +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 16e3efb19c docs(libcomm): API 参考文档 + 进度更新 + 索引
- docs/public/libcomm/API-libcomm.md: 模块概述/数据结构/7个API详情/使用示例/依赖关系
- docs/README.md: 新增 libcomm 条目 + 阶段2依赖关系图
- COMPLETION.md: libcomm 标记完成 + 添加缺失测试清单
2026-07-08 13:37:38 +08:00
ypc 9d12019961 chore: update build system and docs for new modules
- release/src/public/makefile: 添加 libxml/libcmd/libdatacenter 到 SUBDIRS
- SPEC.md: 补全 libdatacenter §11 完整功能规格(300+ 行)
- docs/README.md: 更新模块索引和依赖关系图
- 10/10 模块 x86 全量编译通过
2026-07-07 17:30:18 +08:00
ypc f56ede7316 feat(libdatacenter): complete data center module with 15-file split
- 纯 C 接口(60+ API),对齐 RTU 原工程 v1+v2 全部功能
- 5 种信号类型:out/in/yk/ao/param + SBO 控制流程
- module_id 回路阻断 + 脏标记延迟回调 + 值校验(19 种类型)
- 异步执行模型:yk/ao/param_exec_async + 超时 + 取消
- 内置 tinyxml2 解析 param.xml/self_param.xml
- 命令调试面板(libcmd CMD_REGISTER_C)
- O(1) XXH3_128bits 哈希查找(复用 libmy_xxhash)
- x86 编译通过,产物 libdatacenter.a
2026-07-07 17:30:10 +08:00
ypc dfb0a46146 feat(libcmd): add command processing framework with built-in linenoise
- 纯 C 接口:命令注册/查找/补全/帮助
- CMD_REGISTER / CMD_REGISTER_C 宏(__attribute__((constructor)) 自动注册)
- 内置 linenoise 行编辑(termios raw mode + 历史 + Tab 补全)
- x86 编译通过,产物 libcmd.a
2026-07-07 17:30:00 +08:00
ypc d9546b7c2a feat(libxml): add XML parsing library with C API wrapping tinyxml2
- 纯 C 接口(myXml.h)包装 tinyxml2 C++ 实现
- 14 个 API:文档加载/创建/释放、元素遍历、属性读写
- 不透明句柄 myXmlDoc_t / myXmlElem_t
- x86 编译通过,产物 libxml.a
2026-07-07 17:29:31 +08:00
ypc 44419ec729 docs: 创建完整 API 参考文档(9 个文档, 1005 行)
目录结构: docs/public/ 镜像 src/public/, 每个模块一个 API-xxx.md
文档内容: 模块概述+数据结构+接口详细说明+使用示例+依赖关系

覆盖模块:
- docs/README.md (总索引, 依赖关系图)
- myBase.h (公共宏/字节序/数据类型常量)
- liblist (11 API, 侵入式链表, 含完整代码示例)
- liblog (17 API, 异步日志, 消息池+批量+文件轮转)
- libfunc (65 函数, 7 大分类, 分组文档)
- libmd5 (4 API, RFC 1321, 流式计算示例)
- libtask (21 API, 定时器+事件+消息队列, 三个独立示例)
- libcJSON (开源库, 解析/生成 全流程示例)
- libmy_xxhash (开源库, XXH32/XXH64 快速哈希)

文档规范已存入 /memories/doc-spec.md
2026-07-07 15:16:17 +08:00