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>