- 纯 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 |
||
|---|---|---|
| .. | ||
| public | ||
| README.md | ||
README.md
RTU_ALL_AI API 参考文档
生成日期: 2026-07-07
项目: RTU_ALL_AI — C/C++ 嵌入式通讯装置示例工程
文档索引
基础公共库 (public/)
| 模块 | 文档 | 语言 | 说明 |
|---|---|---|---|
| myBase.h | API-myBase.md | C 头文件 | 公共宏、类型常量、字节序转换 |
| liblist | API-liblist.md | 纯 C 头文件 | 侵入式双向循环链表 |
| liblog | API-liblog.md | 纯 C | 异步日志系统 |
| libfunc | API-libfunc.md | 纯 C | 65 个基础工具函数 |
| libmd5 | API-libmd5.md | 纯 C | MD5 消息摘要 (RFC 1321) |
| libtask | API-libtask.md | 纯 C | 定时器 + 事件 + 消息队列 |
| libcJSON | API-libcJSON.md | 纯 C (开源库) | JSON 解析/生成 |
| libmy_xxhash | API-libmy_xxhash.md | 纯 C (开源库) | xxHash 快速哈希 |
模块依赖关系图
┌──────────┐
│ myBase.h │ (颜色/大小端/类型常量)
└────┬─────┘
┌──────────────┼──────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌──────────┐
│ liblist │ │ libfunc │ │ libmd5 │
│ (链表) │ │ (65函数)│ │ (MD5) │
└────┬────┘ └────┬────┘ └──────────┘
│ │
▼ ▼
┌─────────────────────────┐
│ liblog │ (异步日志,依赖
│ (消息池+批量+文件轮转) │ liblist + libfunc)
└─────────────────────────┘
┌──────────┐ ┌──────────────┐
│ libcJSON │ │ libmy_xxhash │ (开源库,直接使用)
└──────────┘ └──────────────┘
┌────────────────────────────────┐
│ libtask │ (事件/定时器/消息队列)
│ (timerfd + epoll + pthread) │
└────────────────────────────────┘
构建与编译
cd release
./build.sh # x86 本地编译
./build.sh arm # ARM 交叉编译
编码规范
详见项目内存 /memories/code-style.md:
- 一行一语句,
{}独占行,}后空行,return前空行 - 运算符前后空格(
a + b,x << 8),逗号分号后空格 - 结构体
stru_前缀,枚举enum_前缀 - 注释使用 UTF-8 中文