You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
openmotordrive/framework is a framework for embedded applications, primarily targeted at drone accessories that connect via CAN bus and the UAVCAN protocol.
Feature set
RTOS-based (ChibiOS)
Minimizes boilerplate code in application
Modular architecture
Supports STM32F3 targets, ready to support many others
Includes startup code and ld scripts for supported MCUs
UAVCAN bootloader provided
Makefile-based build system provided
Flash-based configuration parameter store
UAVCAN support, including auto-bauding, dynamic node id allocation, parameter interface, firmware update
Internal publish-subscribe messaging system
Worker threads with API for creating tasks that run on an interval and tasks that handle pubsub messages
HAL for SPI devices
HAL for I2C devices
Includes some device drivers
Included modules
Name
Description
app_descriptor
Provides app descriptor in flash, which is used by openmotordrive/bootloader to identify a valid application
boot_msg
Provides support for boot messages in SRAM, which are used to pass messages from bootloader->app and app->bootloader
can
Wraps ChibiOS CAN driver
can_auto_init
Uses constructor functions to initialize CAN bus. Obtains baud rate setting from boot message, app descriptor, or performs auto baud detection
chibios_hal_init
Uses constructor functions to initialize ChibiOS HAL
chibios_sys_init
Uses constructor functions to initialize ChibiOS
dw1000
Driver for DecaWave DW1000
flash
Provides HAL for flash write and erase
lpwork_thread
Provides a standard worker thread for low-priority tasks