Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
airspeed_uavcan module

Airspeed sensor over the uavcan protocol and optionally publishes over ABI.

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="airspeed_uavcan">
b'<define name="AIRSPEED_UAVCAN_LOWPASS_FILTER" value="TRUE|FALSE" />\n '
b'<define name="AIRSPEED_UAVCAN_LOWPASS_TAU" value="0.15" />\n '
b'<define name="AIRSPEED_UAVCAN_LOWPASS_PERIOD" value="0.1" />\n '
b'<define name="AIRSPEED_UAVCAN_SEND_ABI" value="true" />\n '
b'<define name="AIRSPEED_UAVCAN_DIFF_P_SCALE" value="1.0" />\n '
</module>

Module configuration options

Define Options

  • name: AIRSPEED_UAVCAN_LOWPASS_FILTER value: TRUE|FALSE
    Description: Enable the lowpass filter for the airspeed
  • name: AIRSPEED_UAVCAN_LOWPASS_TAU value: 0.15
    Description: Time constant for second order Butterworth low pass filter
  • name: AIRSPEED_UAVCAN_LOWPASS_PERIOD value: 0.1
    Description: Period at which the sensor is sending airspeed
  • name: AIRSPEED_UAVCAN_SEND_ABI value: true
    Description: Send the uavcan airspeed sensor over ABI
  • name: AIRSPEED_UAVCAN_DIFF_P_SCALE value: 1.0
    Description: Pressure scaling correcting factor

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 airspeed_uavcan.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="airspeed_uavcan" dir="sensors" task="sensors">
<doc>
<description>
Airspeed sensor over the uavcan protocol and optionally publishes over ABI.
</description>
<define name="AIRSPEED_UAVCAN_LOWPASS_FILTER" value="TRUE|FALSE" description="Enable the lowpass filter for the airspeed"/>
<define name="AIRSPEED_UAVCAN_LOWPASS_TAU" value="0.15" description="Time constant for second order Butterworth low pass filter"/>
<define name="AIRSPEED_UAVCAN_LOWPASS_PERIOD" value="0.1" description="Period at which the sensor is sending airspeed"/>
<define name="AIRSPEED_UAVCAN_SEND_ABI" value="true" description="Send the uavcan airspeed sensor over ABI"/>
<define name="AIRSPEED_UAVCAN_DIFF_P_SCALE" value="1.0" description="Pressure scaling correcting factor"/>
</doc>
<settings>
<dl_settings>
<dl_settings name="Airspeed UAVCAN">
<dl_setting shortname="autoset offset" var="autoset_offset" handler="autoset_offset" min="0" max="1" step="1" values="FALSE|TRUE" type="fun" module="modules/sensors/airspeed_uavcan"/>
<dl_setting shortname="diff_p offset" var="airspeed_uavcan.diff_p_offset" min="-2000" max="1000" step="0.1" type="float"/>
<dl_setting shortname="diff_p scale" var="airspeed_uavcan.diff_p_scale" min="0" max="1" step="0.01" type="float" param="AIRSPEED_UAVCAN_DIFF_P_SCALE"/>
</dl_settings>
</dl_settings>
</settings>
<dep>
<depends>uavcan</depends>
<provides>airspeed</provides>
</dep>
<header>
<file name="airspeed_uavcan.h"/>
</header>
<init fun="airspeed_uavcan_init()"/>
<makefile target="ap">
<file name="airspeed_uavcan.c"/>
</makefile>
</module>