Paparazzi UAS  v5.15_devel-46-gd23ed71
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
heli_throttle_curve module

Throttle Curve Mixers

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!

1 <module name="heli_throttle_curve">
2  <define name="THROTTLE_CURVE_RPM_FB_P" value="0" />
3  <define name="THROTTLE_CURVE_RPM_FB_I" value="0" />
4  <define name="THROTTLE_CURVE_RPM_INC_LIMIT" value="512" />
5  <define name="THROTTLE_CURVE_RPM_ID" value="ABI_BROADCAST" />
6  <define name="THROTTLE_CURVE_RPM_ACT" value="0" />
7 </module>

Module configuration options

Define Options

  • name: THROTTLE_CURVE_RPM_FB_P value: 0
    Description: The RPM controller feeadback P gain of the PI controller
  • name: THROTTLE_CURVE_RPM_FB_I value: 0
    Description: The RPM controller feeadback I gain of the PI controller
  • name: THROTTLE_CURVE_RPM_INC_LIMIT value: 512
    Description: Amount of RPM the controller can increase or decrease per second
  • name: THROTTLE_CURVE_RPM_ID value: ABI_BROADCAST
    Description: The ABI sender ID to listen for RPM messages
  • name: THROTTLE_CURVE_RPM_ACT value: 0
    Description: The ABI RPM message motor index

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

<!DOCTYPE module SYSTEM "module.dtd">
<module name="throttle_curve" dir="helicopter">
<doc>
<description>Throttle Curve Mixers</description>
<define name="THROTTLE_CURVE_RPM_FB_P" value="0" description="The RPM controller feeadback P gain of the PI controller"/>
<define name="THROTTLE_CURVE_RPM_FB_I" value="0" description="The RPM controller feeadback I gain of the PI controller"/>
<define name="THROTTLE_CURVE_RPM_INC_LIMIT" value="512" description="Amount of RPM the controller can increase or decrease per second"/>
<define name="THROTTLE_CURVE_RPM_ID" value="ABI_BROADCAST" description="The ABI sender ID to listen for RPM messages"/>
<define name="THROTTLE_CURVE_RPM_ACT" value="0" description="The ABI RPM message motor index"/>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="ThrottleCurve">
<dl_setting var="throttle_curve.rpm_fb_p" min="0.00" step="0.005" max="100" shortname="rpm_fb_p" param="THROTTLE_CURVE_RPM_FB_P" />
<dl_setting var="throttle_curve.rpm_fb_i" min="0.00" step="0.005" max="100" shortname="rpm_fb_i" param="THROTTLE_CURVE_RPM_FB_I" />
<dl_setting var="throttle_curve.throttle_trim" min="-9600" step="0" max="9600" shortname="throttle_trim" />
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="throttle_curve.h"/>
</header>
<init fun="throttle_curve_init()"/>
<makefile target="ap">
<file name="throttle_curve.c"/>
<define name="USE_THROTTLE_CURVES" value="TRUE"/>
</makefile>
</module>