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!
<module name="heli_throttle_curve">
b'<define name="THROTTLE_CURVE_RPM_FB_P" value="0" />\n '
b'<define name="THROTTLE_CURVE_RPM_FB_I" value="0" />\n '
b'<define name="THROTTLE_CURVE_RPM_INC_LIMIT" value="512" />\n '
b'<define name="THROTTLE_CURVE_ACT_FEEDBACK_ID" value="ABI_BROADCAST" />\n '
b'<define name="THROTTLE_CURVE_RPM_ACT" value="0" />\n '
</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_ACT_FEEDBACK_ID
value: ABI_BROADCAST
Description: The ABI sender ID to listen for RPM messages
- name:
THROTTLE_CURVE_RPM_ACT
value: 0
Description: The RPM message motor index (generated from airframe.h)
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="heli_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_ACT_FEEDBACK_ID" value="ABI_BROADCAST" description="The ABI sender ID to listen for RPM messages"/>
<define name="THROTTLE_CURVE_RPM_ACT" value="0" description="The RPM message motor index (generated from airframe.h)"/>
</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"/>
<test firmware="rotorcraft">
<define name="THROTTLE_CURVE_RPM_ACT" value="0"/>
<define name="THROTTLE_POINTS_NB" value="3"/>
<define name="THROTTLE_CURVES_NB" value="2"/>
<define name="THROTTLE_CURVES" value="{{0}}"/>
<define name="THROTTLE_CURVE_MODE_INIT" value="0"/>
<define name="RADIO_FMODE" value="0"/>
<define name="COMMAND_COLLECTIVE" value="0"/>
</test>
</makefile>
</module>