From the software point of view, we will keep things as simple as possible. We will use only the libcanard library, which is a very lightweight UAVCAN implementation, and the stm32 standard peripheral library for the stm32f37x family of microcontrollers. Usage of different HALs and any type of RTOS is avoided on purpose, as this is a very basic example.
THE MATERIALS PRESENTED HERE ARE BASED ON UAVCAN v0 – AN EXPERIMENTAL VERSION OF THE PROTOCOL THAT IS NOW OBSOLETE. TO LEARN ABOUT THE LONG-TERM STABLE REVISION OF THE PROTOCOL, PROCEED TO UAVCAN.ORG.
So our goal is to make Babel act as a UAVCAN node, then check if it can be seen in the UAVCAN GUI Tool, explore the raw CAN data using the Bus monitor, and basically get acquainted with UAVCAN in general and libcanard in particular.