【RM2023-电控统一接口中间件库 (UIML)开源】
![我决定,下班](https://hz-rm-bbs-web-prod.oss-cn-hangzhou.aliyuncs.com/avatar/pre/v1/000058635_avatar_big.jpg)
营销版简介:这是一个只改配置文件就能让各种机器人动起来的电控框架!
正经版简介:本项目使用C语言编写,基于 FreeRTOS 在 STM32 平台上运行,由一个轻量级调度框架和一系列周边模块构成,具有易上手、易操作、易拓展的特点,用户可以仅通过修改配置文件随意选用已有模块,或按要求自行编写其他模块
本项目特点:
- 与Linux内核驱动管理相似的模块管理机制
- 低耦合、易增删的动态模块管理
- 与Json文件相似的系统配置方式
- 低耦合、易增删的动态模块管理
- 模块间通信主要使用观察者模式
- 与ROS相似的话题订阅机制
- 与安卓系统相似的广播机制
- 与网络请求相似的远程函数机制
- 与ROS相似的话题订阅机制
- 整个项目主要有核心模块和周边模块两大部分,核心模块是维持整个框架运行不可缺少的部分,周边模块则可由用户自行配置随意选用
- 更详细的介绍和使用说明请见仓库Readme
三、配置文件效果
为使读者更直观了解本项目的易用性,下面使用惯导(陀螺仪)模块的配置举例说明:
上图分别是说明文档中对陀螺仪模块配置项的说明和实际配置文件的写法,用户只需要根据说明文档进行配置表的编写即可使用该模块
配置文件是一个H文件,使用纯C语法,实现类似json的键值对嵌套效果,最终可编写出一个树形配置表,包含整个系统所有模块的配置
(注:图中的IM_PTR是框架提供的宏,用于从立即数创建指定类型变量并取指针)
四、注意事项
- 本作品仅用于技术交流,未经作者允许,不得运用于商业用途
- 转载须注明作品出处
五、仓库地址和程序下载
(注:最新发行版中包含一个已完成UIML完整配置的基础步兵机器人代码工程)本项目持续更新中,发行版为最新测试完成的代码,确保可以运行,但不一定使用仓库中的最新代码
六、QQ交流群
请问这篇文章对你有用吗?
【RM2023-电控统一接口中间件库 (UIML)开源】