Project add uavcan

From PaparazziUAV
Revision as of 07:42, 18 March 2021 by Openuas (talk | contribs)
Jump to navigation Jump to search

UAVCAN on Paparazzi

Outcome

Be able to simply connect UAVCAN devices to Paparazzi suppoted Autopilot board which have a CAN connector

Why

To have the benefits of CAN by using 3rd party UAVCAN sensors in Paparazzi enabled autopilots

Into

RFC

Yes, this is a living document so RFC, ideas and whatever helps to move forward very welcome.

Version

UAVCAN specification exist in various version For now the solution is for UAVCAN specs Beta V1 only since V0 support is diminishing fast

Path

The step to take to get to a solution

Research

See what usable is already available

  1. libcanard
  2. PPRZ ABI messages
  3. Chibios CAN
  4. Baremetal can support

Choices

Lets start of by using libcanard and Chibios and later add baremetal. If done well this shoul be possible

ABI

a UAVCAN abi.xml bridge

DSDL

As an example on could take Hereflow and implement a driver for it

Generate code from DSDL=

There are already tools even online https://nunaweb.uavcan.org/

Timestamps

Relevant https://forum.uavcan.org/t/rtos-can-api-requirements/706

Tools

A Pixhawk as CANDEbugger

CANAble

An opensource CAN to PC adapter usable for debuggin purposes https://canable.io/

Wireshark

Using wireshark as UAVCAN packet sniffer

Other CAN on same bus=

If there are no collision one should be able to use CAN with other protocolstack as well (OpenCAN, CANAerospace etc.)

C99

MISRA

Links

Links relevant to get UAVCAN into PPRZ

  1. https://github.com/olliw42/uavcan4hobbyists
  2. https://uavcan.org/
  3. https://forum.uavcan.org/t/uavcan-v1-0-and-ardupilot/671