Skip to content

H0pefu12/irobotEC

 
 

Repository files navigation

irobotEC [en]

build clang-format Check docs CodeFactor

跨平台Robomaster嵌入式软件开发框架,为多种硬件平台提供统一的外设API、设备驱动和算法库。

  • STM32F/H
  • Linux
  • Raspberry Pi/Orange Pi
  • Jetson

编译所需最低C++标准为C++17。

API文档

API文档可以使用Doxygen构建,也可以在这里查阅。

doxygen ./Doxyfile

正确构建后,文档会被放在docs/文件夹下。

使用方法

  1. 下载仓库。注意为了连同第三方库一起下载,clone时需要使用--recursive参数:

    git clone --recursive https://github.com/IRobot-EC-2024/irobotEC.git
  2. 在CMakeLists.txt里把整个仓库添加为子目录,并把irobotEC静态库链接到需要使用本库的目标上;

    add_subdirectory(<仓库路径>)
    target_link_libraries(<目标> PUBLIC irobotEC)
  3. 如果是为STM32平台编译,则需要一些额外步骤

    1. 在CMakeLists.txt里添加对应芯片型号的宏定义;

      add_definitions(-DSTM32F407xx)
      # add_definitions(-DSTM32H723xx)
    2. 启用UART、CANFD、CAN的Register Callback功能,在CubeMX中的配置项位置如下图:

  4. 开始使用。使用方法请参考examples文件夹下的例程。

项目结构

  • cmake/:CMake脚本

  • examples/:例程

  • libs/:第三方库

  • src/irobotec/

    • core/:框架自身运行依赖的代码

    • device/:设备驱动

      • actuator/:作动器,如电机和舵机等
      • remote/:遥控器/接收机
      • sensor/:传感器
      • supercap/:超级电容
      • referee/:裁判系统
    • hal/:硬件抽象层,框架跨平台的核心

      • stm32/:STM32 HAL
      • linux/:Linux HAL
      • raspi/:树莓派/香橙派 HAL
      • jetson/:Jetson HAL
    • modules/:软件模块

      • algorithm/:算法库

About

电控C++库

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 92.1%
  • CMake 5.3%
  • C 2.6%