Difference between revisions of "Project add uavcan"

From PaparazziUAV
Jump to navigation Jump to search
(A kickof of RFC for UAVCAN in Paparazzi)
 
 
(3 intermediate revisions by the same user not shown)
Line 34: Line 34:
# Baremetal can support
# Baremetal can support


===Choices==
===Choices===


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


==ABI==
==ABI==
Line 43: Line 44:
==DSDL==
==DSDL==


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


===Generate code from DSDL====
===Generate code from DSDL====


There are already  
There are already tools even online https://nunaweb.uavcan.org/
 
and for the other part someting like https://forum.uavcan.org/t/introducing-ap-periph-easy-uavcan-firmware-creation/678


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


=Tools=
=Tools=
Line 56: Line 61:


==CANAble==
==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=
Links relevant to get UAVCAN into PPRZ
# https://github.com/olliw42/uavcan4hobbyists
# https://uavcan.org/
# https://forum.uavcan.org/t/uavcan-v1-0-and-ardupilot/671

Latest revision as of 10:08, 18 March 2021

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/

and for the other part someting like https://forum.uavcan.org/t/introducing-ap-periph-easy-uavcan-firmware-creation/678

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