Portable reference implementation of the UAVCAN protocol stack in C++ designed for use with Teensy 3.x series MCUs using the Arduino IDE with Teensduino.
UAVCAN is a lightweight protocol designed for reliable communication in aerospace and robotic applications via CAN bus.
The teensy driver and examples are taken from the UAVcan website and tum-phoenix (https://github.com/tum-phoenix/drive_teensy_main and https://github.com/tum-phoenix/drive_teensy_libuavcan) and modified appropriately.
Copy the library into the Arduino libraries folder and run examples as you would normally using the Arduino IDE.
Note that this reporitory includes Pyuavcan as a submodule. Such inclusion enables the library to be built even if pyuavcan is not installed in the system. The following components will be installed:
libuavcan_dsdlc
)libuavcan_dsdl_compiler
)Note that Pyuavcan (an implementation of UAVCAN in Python) will not be installed. You will need to install it separately if you intend to use the Libuavcan's DSDL compiler in your applications.
The driver is based on the Collins80 Flexcan library as modified in the thread found on this thread: https://forum.pjrc.com/threads/45017...light=nmea2000.
9/2/2018 - Added a example of controlling a 2-axis Gimbal with a simpleBGC controller clone (2.4 firmware) along with a slightly modified version of Basecam's SBGC-API (added extra commands). Can be seen working on YouTube: https://www.youtube.com/watch?v=eOAdpgBizgQ
9/1/2018 - Merged development Branch into Master. The merge brings in tonton81's new and improbed IFCT CAN Library. It also updates examples to include how to use built in functions to send messages at a specific rate.