Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
tunnel_uavcan module

UAVCAN device over uavcan.tunnel.Broadcast message.

No detailed description...

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

<module name="tunnel_uavcan">
b'<define name="TUNNEL_UAVCAN_PROTOCOL" value="3" />\n '
b'<define name="TUNNEL_UAVCAN_CHANNEL_ID" value="0" />\n '
b'<configure name="TUNNEL_UAVCAN" value="uavcan1" default="uavcan1" />\n '
</module>

Module configuration options

Configure Options

  • name: TUNNEL_UAVCAN value: uavcan1
    Description: uavcan interface

Define Options

  • name: TUNNEL_UAVCAN_PROTOCOL value: 3
    Description: uavcan.tunnel.Protocol enum value.
  • name: TUNNEL_UAVCAN_CHANNEL_ID value: 0
    Description: uavcan.tunnel.Broadcast.channel_id

Module functions

Init Functions

These initialization functions are called once on startup.

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw tunnel_uavcan.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="tunnel_uavcan" dir="datalink" task="radio_control">
<doc>
<description>UAVCAN device over `uavcan.tunnel.Broadcast` message.</description>
<configure name="TUNNEL_UAVCAN" value="uavcan1" default="uavcan1" description="uavcan interface"/>
<define name="TUNNEL_UAVCAN_PROTOCOL" description="uavcan.tunnel.Protocol enum value." value="3"/>
<define name="TUNNEL_UAVCAN_CHANNEL_ID" description="uavcan.tunnel.Broadcast.channel_id" value="0"/>
</doc>
<dep>
<depends>uavcan</depends>
<provides></provides>
</dep>
<header>
<file name="tunnel_uavcan.h"/>
</header>
<init fun="tunnel_uavcan_init()"/>
<makefile>
<configure name="TUNNEL_UAVCAN" default="uavcan1" case="upper|lower"/>
<define name="TUNNEL_UAVCAN" value="$(TUNNEL_UAVCAN_LOWER)" />
<define name="USE_TUNNEL_UAVCAN"/>
<file name="tunnel_uavcan.c" dir="modules/datalink"/>
<file name="ring_buffer.c" dir="utils" />
<!-- Load DSDL generated files-->
<include name="$(PAPARAZZI_HOME)/var/include/DSDLcode/include"/>
<file name="uavcan.tunnel.Broadcast.c" dir="$(PAPARAZZI_HOME)/var/include/DSDLcode/src"/>
<test>
<include name="$(PAPARAZZI_HOME)/sw/ext/dronecan/libcanard"/>
<define name="USE_CAN1" />
<define name="UAVCAN_USE_CAN1" />
</test>
</makefile>
</module>