Interface for mission control of fixed wing aircraft.
This module parse datalink commands for basic navigation routines and store them in a queue.
Example for airframe file
Add to your firmware section:
1 <module name="mission_fw"/>
Module functions
Init Functions
These initialization functions are called once on startup.
Periodic Functions
These functions are called periodically at the specified frequency from the module periodic loop.
Datalink Functions
Whenever the specified datalink message is received, the corresponing handler function is called.
- on message MISSION_GOTO_WP call mission_parse_GOTO_WP(buf)
- on message MISSION_GOTO_WP_LLA call mission_parse_GOTO_WP_LLA(buf)
- on message MISSION_CIRCLE call mission_parse_CIRCLE(buf)
- on message MISSION_CIRCLE_LLA call mission_parse_CIRCLE_LLA(buf)
- on message MISSION_SEGMENT call mission_parse_SEGMENT(buf)
- on message MISSION_SEGMENT_LLA call mission_parse_SEGMENT_LLA(buf)
- on message MISSION_PATH call mission_parse_PATH(buf)
- on message MISSION_PATH_LLA call mission_parse_PATH_LLA(buf)
- on message MISSION_CUSTOM call mission_parse_CUSTOM(buf)
- on message GOTO_MISSION call mission_parse_GOTO_MISSION(buf)
- on message NEXT_MISSION call mission_parse_NEXT_MISSION(buf)
- on message END_MISSION call mission_parse_END_MISSION(buf)
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw mission_fw.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="mission_fw" dir="mission">
<doc>
<description>
Interface for mission control of fixed wing aircraft.
This module parse datalink commands for basic navigation routines
and store them in a queue.
</description>
</doc>
<header>
<file name="mission_common.h"/>
</header>
<init fun="mission_init()"/>
<periodic fun="mission_status_report()" freq="2" autorun="TRUE"/>
<datalink message="MISSION_GOTO_WP" fun="mission_parse_GOTO_WP(buf)"/>
<datalink message="MISSION_GOTO_WP_LLA" fun="mission_parse_GOTO_WP_LLA(buf)"/>
<datalink message="MISSION_CIRCLE" fun="mission_parse_CIRCLE(buf)"/>
<datalink message="MISSION_CIRCLE_LLA" fun="mission_parse_CIRCLE_LLA(buf)"/>
<datalink message="MISSION_SEGMENT" fun="mission_parse_SEGMENT(buf)"/>
<datalink message="MISSION_SEGMENT_LLA" fun="mission_parse_SEGMENT_LLA(buf)"/>
<datalink message="MISSION_PATH" fun="mission_parse_PATH(buf)"/>
<datalink message="MISSION_PATH_LLA" fun="mission_parse_PATH_LLA(buf)"/>
<datalink message="MISSION_CUSTOM" fun="mission_parse_CUSTOM(buf)"/>
<datalink message="GOTO_MISSION" fun="mission_parse_GOTO_MISSION(buf)"/>
<datalink message="NEXT_MISSION" fun="mission_parse_NEXT_MISSION(buf)"/>
<datalink message="END_MISSION" fun="mission_parse_END_MISSION(buf)"/>
<makefile>
<define name="USE_MISSION"/>
<file name="mission_common.c"/>
<file name="mission_fw_nav.c"/>
</makefile>
</module>