Is there an open source project (hw & fw) for a simple uavcan device that can be used for learning?
@olliw42 has a pretty comprehensive UAVCAN blog http://www.olliw.eu/2017/uavcan-for-hobbyists/
There is open source firmware that is compatible with some of Olli’s open hardware - except you need 128k flash for the AP_Periph firmware.
mRo also has such a device, we have been working with Tridge to expand the UAVCAN device adoption.
You can plug in any UART / I2C GPS/MAG that Ardupilot supports and get a working UAVCAN GPS/MAG instantly. This project supports many other devices and is rapidly expanding.
at the moment, we would need one of these devices for each device we are connecting, is that correct?
…or does this device create a CAN bus that we can connect as many devices as desired and simply terminate the end of the bus with a resistor?
Can you elaborate on what other devices are “supported”, as far as I was aware this only supports compass/mag combo at this time, I have 2 of these one being used for comp/mag the other sitting in original packaging. Would love to know what these many other devices are, and can this be used in a can chain such as this can node with 4 esc connected to it as well or is this a standalone product that only one can device can be connected to?
AP_Periph is an official ArduPilot project, unlike the other UAVCAN firmware it is completely opensource. It supports:
GPS (soon RTK injection)
Air speed sensors
Feel free to check out the progress: https://github.com/ardupilot/ardupilot/pulls?utf8=✓&q=is%3Apr+is%3Aclosed+ap_periph
Correct, you would most likely need 1 CANNode per device but that is not in every situation. This board is an opensource prototyping board at heart. The board design files and schematic are hosted on github. This allows anyone to prototype with our CANNode and then utilize the tested design files to greatly reduce your hardware development time as well as lower your risk.
thanks for pointing me toward those pull requests. So from my limited knowledge of git and all the git lingo, does this mean all these are currently supported in latest stable or the current dev. is this what you typed into the filter to get these pulled up is:pr is:closed ap_periph?
That was a filter of closed pull requested with “AP_Periph” in the name. For the most part, closed means they have been merged into the main software project and can be easily built into a binary image. At some point we will need to establish a stable release but compared to main project the AP_Periph source code is relatively simple.
I have created a wish / future feature list for the CANNode here. If you have a suggestion feel free to add it…