Demo Vertical Control Module.
Only for rotorcraft firmware. Example on how to reads the sonar and directly control the thrust.
Example for airframe file
Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!
<module name="vertical_ctrl_module_demo">
b'<define name="VERTICAL_CTRL_MODULE_AGL_ID" value="ABI_BROADCAST" />\n '
</module>
Module configuration options
Define Options
- name:
VERTICAL_CTRL_MODULE_AGL_ID
value: ABI_BROADCAST
Description: Sender id of the AGL (sonar) ABI message
Airframe file section
- section name:
VERTICAL_CTRL_MODULE
prefix: VERTICAL_CTRL_MODULE_
- name
PGAIN
value: 1.0
Description: P gain on height error
- name
IGAIN
value: 0.01
Description: I gain on summed height error
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 vertical_ctrl_module_demo.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="vertical_ctrl_module_demo" dir="ctrl">
<doc>
<description>
Demo Vertical Control Module.
Only for rotorcraft firmware.
Example on how to reads the sonar and directly control the thrust.
</description>
<define name="VERTICAL_CTRL_MODULE_AGL_ID" value="ABI_BROADCAST" description="Sender id of the AGL (sonar) ABI message"/>
<section name="VERTICAL_CTRL_MODULE" prefix="VERTICAL_CTRL_MODULE_">
<define name="PGAIN" value="1.0" description="P gain on height error"/>
<define name="IGAIN" value="0.01" description="I gain on summed height error"/>
</section>
</doc>
<settings>
<dl_settings>
<dl_settings NAME="VertCtrlModDemo">
<dl_setting var="v_ctrl.setpoint" min="0" step="0.01" max="10" module="ctrl/vertical_ctrl_module_demo" shortname="height sp"/>
<dl_setting var="v_ctrl.pgain" min="0" step="0.01" max="1" module="ctrl/vertical_ctrl_module_demo" shortname="pgain" param="VERTICAL_CTRL_MODULE_PGAIN"/>
<dl_setting var="v_ctrl.igain" min="0" step="0.01" max="1" module="ctrl/vertical_ctrl_module_demo" shortname="igain" param="VERTICAL_CTRL_MODULE_IGAIN"/>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="vertical_ctrl_module_demo.h"/>
</header>
<init fun="vertical_ctrl_module_init()"/>
<makefile>
<file name="vertical_ctrl_module_demo.c"/>
<test firmware="rotorcraft"/>
</makefile>
</module>