Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
copilot_rotorcraft.c File Reference
+ Include dependency graph for copilot_rotorcraft.c:

Go to the source code of this file.

Functions

void copilot_parse_move_wp_dl (uint8_t *buf)
 If MOVE_WP from GCS. More...
 

Detailed 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 "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).

Definition in file copilot_rotorcraft.c.

Function Documentation

◆ copilot_parse_move_wp_dl()

void copilot_parse_move_wp_dl ( uint8_t buf)

If MOVE_WP from GCS.

  • processed in firmware_parse_msg(dev, trans, buf); with regular buffer
  • reponse over telemetry (regular buffer)
  • here send WP_MOVED over extra_dl

If MOVE_WP from extra_dl

  • processed in firmware_parse_msg(dev, trans, buf); with extra buffer
  • response over extra_dl
  • send an update to GCS

In both cases, the MOVE_WP message was already processed in firmware_parse here we are taking care only about propagating the change

Definition at line 68 of file copilot_rotorcraft.c.

References LlaCoor_i::alt, DefaultChannel, DefaultDevice, dl_buffer, extra_dl_buffer, extra_pprz_tp, LtpDef_i::hmsl, LlaCoor_i::lat, LtpDef_i::lla, LlaCoor_i::lon, nb_waypoint, State::ned_origin_i, state, stateIsLocalCoordinateValid(), waypoint_is_global(), waypoints, point::x, and point::y.

+ Here is the call graph for this function: