Mission Computer module, interfacing the mission computer (also known as Copilot),
based losely on ISaAC: The Intelligent Safety and Airworthiness Co-Pilot module Based on paper "A Payload Verification and Management Framework
for Small UAV-based Personal Remote Sensing Systems" by Cal Coopmans and Chris Coffin. Link: http://ieeexplore.ieee.org/abstract/document/6309316/
More info can be found on http://wiki.paparazziuav.org/wiki/Mission_computer
Copilot is intended mainly for mapping applications.
This module processes messages from Copilot, and either forwards them to the GCS (such as CAMERA_SNAPSHOT or CAMERA_PAYLOAD messages), or responds to them as necessary (such as MOVE_WP).
The module assumes the source of the messages is trusted (i.e. not authentication besides AC_ID check is performed).
Example for airframe file
Add to your firmware section:
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.
- copilot_periodic()
- Frequency in Hz: 1.
- Autorun: TRUE
Periodic function automatically starts after init.
Datalink Functions
Whenever the specified datalink message is received, the corresponing handler function is called.
- on message CAMERA_SNAPSHOT_DL call copilot_parse_cam_snapshot_dl(buf)
- on message CAMERA_PAYLOAD_DL call copilot_parse_cam_payload_dl(buf)
- on message COPILOT_STATUS_DL call copilot_parse_copilot_status_dl(buf)
- on message MOVE_WP call copilot_parse_move_wp_dl(buf)
- on message PAYLOAD_COMMAND call copilot_parse_payload_command_dl(buf)
Files
Header Files
The following headers are automatically included in modules.h
Source Files
Raw copilot.xml file:
<!DOCTYPE module SYSTEM "module.dtd">
<module name="copilot" dir="mission">
<doc>
<description>
Mission Computer module, interfacing the mission computer (also known as Copilot),
based losely on
ISaAC: The Intelligent Safety and Airworthiness Co-Pilot module
Based on paper p¡$×
for Small UAV-based Personal Remote Sensing Systems" by Cal Coopmans
and Chris Coffin. Link: http://ieeexplore.ieee.org/abstract/document/6309316/
More info can be found on http://wiki.paparazziuav.org/wiki/Mission_computer
Copilot is intended mainly for mapping applications.
This module processes messages from Copilot, and either forwards them to the GCS
(such as CAMERA_SNAPSHOT or CAMERA_PAYLOAD messages), or responds to them as necessary
(such as MOVE_WP).
The module assumes the source of the messages is trusted (i.e. not authentication besides
AC_ID check is performed).
</description>
</doc>
<dep>
<depends>extra_dl</depends>
</dep>
<header>
<file name="copilot.h"/>
</header>
<init fun="copilot_init()"/>
<periodic fun="copilot_periodic()" freq="1." autorun="TRUE"/>
<datalink message="CAMERA_SNAPSHOT_DL" fun="copilot_parse_cam_snapshot_dl(buf)"/>
<datalink message="CAMERA_PAYLOAD_DL" fun="copilot_parse_cam_payload_dl(buf)"/>
<datalink message="COPILOT_STATUS_DL" fun="copilot_parse_copilot_status_dl(buf)"/>
<datalink message="MOVE_WP" fun="copilot_parse_move_wp_dl(buf)"/>
<datalink message="PAYLOAD_COMMAND" fun="copilot_parse_payload_command_dl(buf)"/>
<makefile target="ap">
<file name="copilot_common.c"/>
</makefile>
<makefile target="ap" firmware="fixedwing">
<file name="copilot_fixedwing.c"/>
</makefile>
<makefile target="ap" firmware="rotorcraft">
<file name="copilot_rotorcraft.c"/>
</makefile>
</module>