Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
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. More...
Go to the source code of this file.
Functions | |
PPRZ_MUTEX (copilot_cam_snapshot_mtx) | |
PPRZ_MUTEX (copilot_cam_payload_mtx) | |
PPRZ_MUTEX (copilot_status_mtx) | |
void | copilot_init (void) |
Init function. More... | |
void | copilot_periodic (void) |
Periodic function. More... | |
void | copilot_parse_cam_snapshot_dl (uint8_t *buf) |
copy CAMERA_SNAPSHOT message and mark it to be sent More... | |
void | copilot_parse_cam_payload_dl (uint8_t *buf) |
copy CAMERA_PAYLOAD message and mark it to be sent More... | |
void | copilot_parse_copilot_status_dl (uint8_t *buf) |
copy COPILOT_STATUS message and mark it to be sent More... | |
void | copilot_parse_payload_command_dl (uint8_t *buf) |
Pass through PAYLOAD_COMMAND message and send it as PAYLOAD msg over telemetry. More... | |
Variables | |
bool | send_cam_snapshot |
bool | send_cam_payload |
bool | send_copilot_status |
struct CameraPayload | cam_payload |
struct CameraSnapshot | cam_snapshot |
struct CopilotStatus | copilot_status |
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_common.c.
void copilot_init | ( | void | ) |
Init function.
Definition at line 60 of file copilot_common.c.
References cam_payload, cam_snapshot, copilot_status, PPRZ_MUTEX_INIT, send_cam_payload, send_cam_snapshot, and send_copilot_status.
void copilot_parse_cam_payload_dl | ( | uint8_t * | buf | ) |
copy CAMERA_PAYLOAD message and mark it to be sent
Definition at line 147 of file copilot_common.c.
References cam_payload, CameraPayload::door_status, CameraPayload::error_code, PPRZ_MUTEX_LOCK, PPRZ_MUTEX_UNLOCK, send_cam_payload, CameraPayload::timestamp, CameraPayload::used_disk, and CameraPayload::used_mem.
void copilot_parse_cam_snapshot_dl | ( | uint8_t * | buf | ) |
copy CAMERA_SNAPSHOT message and mark it to be sent
Message processing functions.
In case of multiple cameras, it is up to the payload computer to send CAMERA_SNAPSHOT messages for each camera at proper interval, so the values don't get overwritten.
Definition at line 127 of file copilot_common.c.
References CameraSnapshot::array_temp, CameraSnapshot::cam_id, cam_snapshot, CameraSnapshot::cam_state, CameraSnapshot::lens_temp, PPRZ_MUTEX_LOCK, PPRZ_MUTEX_UNLOCK, send_cam_snapshot, CameraSnapshot::snapshot_num, and CameraSnapshot::snapshot_valid.
void copilot_parse_copilot_status_dl | ( | uint8_t * | buf | ) |
copy COPILOT_STATUS message and mark it to be sent
Definition at line 165 of file copilot_common.c.
References copilot_status, CopilotStatus::error_code, PPRZ_MUTEX_LOCK, PPRZ_MUTEX_UNLOCK, send_copilot_status, CopilotStatus::status, CopilotStatus::timestamp, CopilotStatus::used_disk, and CopilotStatus::used_mem.
void copilot_parse_payload_command_dl | ( | uint8_t * | buf | ) |
Pass through PAYLOAD_COMMAND message and send it as PAYLOAD msg over telemetry.
Definition at line 184 of file copilot_common.c.
References DefaultChannel, DefaultDevice, dl_buffer, extra_dl_buffer, and extra_pprz_tp.
void copilot_periodic | ( | void | ) |
Periodic function.
Definition at line 76 of file copilot_common.c.
References CameraSnapshot::array_temp, CameraSnapshot::cam_id, cam_payload, cam_snapshot, CameraSnapshot::cam_state, copilot_status, DefaultChannel, DefaultDevice, CameraPayload::door_status, CameraPayload::error_code, CopilotStatus::error_code, CameraSnapshot::lens_temp, PPRZ_MUTEX_LOCK, PPRZ_MUTEX_UNLOCK, send_cam_payload, send_cam_snapshot, send_copilot_status, CameraSnapshot::snapshot_num, CameraSnapshot::snapshot_valid, CopilotStatus::status, CameraPayload::timestamp, CopilotStatus::timestamp, CameraPayload::used_disk, CopilotStatus::used_disk, CameraPayload::used_mem, and CopilotStatus::used_mem.
PPRZ_MUTEX | ( | copilot_cam_snapshot_mtx | ) |
PPRZ_MUTEX | ( | copilot_cam_payload_mtx | ) |
PPRZ_MUTEX | ( | copilot_status_mtx | ) |
struct CameraPayload cam_payload |
Definition at line 51 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_cam_payload_dl(), and copilot_periodic().
struct CameraSnapshot cam_snapshot |
Definition at line 52 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_cam_snapshot_dl(), and copilot_periodic().
struct CopilotStatus copilot_status |
Definition at line 53 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_copilot_status_dl(), and copilot_periodic().
bool send_cam_payload |
Definition at line 48 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_cam_payload_dl(), and copilot_periodic().
bool send_cam_snapshot |
Definition at line 47 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_cam_snapshot_dl(), and copilot_periodic().
bool send_copilot_status |
Definition at line 49 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_copilot_status_dl(), and copilot_periodic().