用于统一底层代码和少量通用业务代码的电控库。 项目基于C++17/C11标准,遵守Google C++ Style Guide[中文] 。
NOTE: 本项目使用GNU ARMGCC工具链开发,用其他工具链编译可能不通过
文档可以自行使用Doxygen构建,也可以在这里查看。
doxygen ./Doxyfile
正确构建后,文档会被放在docs/
文件夹下。
Clone仓库(包括子模块),在CMakeLists.txt里添加为子目录并且把irobotEC
静态库链接到主目标:
git clone --recursive https://github.com/IRobot-EC-2024/irobotEC.git
add_subdirectory(<仓库路径>)
target_link_libraries(<目标> PUBLIC irobotEC)
在CMakeLists.txt里添加对应芯片型号的预处理宏定义(注意检查是否已经自动生成过)
add_definitions(-DSTM32F407xx)
# add_definitions(-DSTM32H723xx)
可选项:
启用UART、CANFD、CAN、I2C、SPI的Register Callback功能,在CubeMX中的配置项位置如下图:
包含头文件,按需使用
#include "device/motor/dji_motor.hpp"
// #include ...
未打钩的复选框表示还在开发中。
examples/
:例程
libs/
:第三方库
src/
device/
:设备驱动和封装
actuator/
:作动器,如电机和舵机等
unitree_motor
:宇树电机remote/
:遥控器/接收机sensor/
:传感器
icm42688p/
:ICM42688P IMUsupercap/
:超级电容referee/
:裁判系统hal/
:基于STM32 HAL库封装的C++类库
fdcan
i2c
spi
modules/
:软件模块
algorithm/
:常用算法6.10.0
1.28.0
1.11.1
13.2.Rel1