用于 RoboMaster 高校系列赛的嵌入式系统框架。
正在进行代码重构,已有部分功能可用。拟做足够抽象,若后续往上位机迁移仍可快速适配。
-
子模块处理
-
基本组件
-
FreeRTOS 封装(封装接口与 linux 做统一,便于移植)
- 任务
- 内存管理(封装 new/delete)
- 信号量
- 互斥锁
-
常用数据结构
- 栈
- 队列
- 环形队列
-
缓冲区
- 环形缓冲区
- 双缓冲区
-
回调函数
-
回调函数
-
回调函数管理
- 回调注册
- 回调调用
-
-
事件处理
- 事件
- 事件处理器
-
-
通信
- 统一通信接口
- CAN
- FDCAN
- UART
- SPI
- I2C
- USB
-
电机
-
电机抽象接口
-
各种电机驱动
- RM3508
- RM6020
- RM2006
- DM4310
- Unitree-A1
-
-
传感器
-
传感器抽象接口
-
各种传感器驱动
- BMI088
-
-
算法
- 矩阵运算
- 四元数
- PID 控制
- ADRC 控制
- LQR 控制(离线计算)
- 卡尔曼滤波
- 基本滤波器