![]() |
Paparazzi UAS v7.0_unstable
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 | |
void | copilot_init (void) |
Init function. | |
void | copilot_periodic (void) |
Periodic function. | |
void | copilot_parse_cam_snapshot_dl (uint8_t *buf) |
copy CAMERA_SNAPSHOT message and mark it to be sent | |
void | copilot_parse_cam_payload_dl (uint8_t *buf) |
copy CAMERA_PAYLOAD message and mark it to be sent | |
void | copilot_parse_copilot_status_dl (uint8_t *buf) |
copy COPILOT_STATUS message and mark it to be sent | |
void | copilot_parse_payload_command_dl (uint8_t *buf) |
Pass through PAYLOAD_COMMAND message and send it as PAYLOAD msg over telemetry. | |
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.
Init function.
Definition at line 60 of file copilot_common.c.
References cam_payload, cam_snapshot, copilot_cam_payload_mtx, copilot_cam_snapshot_mtx, copilot_status, copilot_status_mtx, foo, pprz_mtx_init(), send_cam_payload, send_cam_snapshot, and send_copilot_status.
copy CAMERA_PAYLOAD message and mark it to be sent
Definition at line 147 of file copilot_common.c.
References cam_payload, copilot_cam_payload_mtx, CameraPayload::door_status, CameraPayload::error_code, foo, pprz_mtx_lock(), pprz_mtx_unlock(), send_cam_payload, CameraPayload::timestamp, CameraPayload::used_disk, and CameraPayload::used_mem.
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, copilot_cam_snapshot_mtx, foo, CameraSnapshot::lens_temp, pprz_mtx_lock(), pprz_mtx_unlock(), send_cam_snapshot, CameraSnapshot::snapshot_num, and CameraSnapshot::snapshot_valid.
copy COPILOT_STATUS message and mark it to be sent
Definition at line 165 of file copilot_common.c.
References copilot_status, copilot_status_mtx, CopilotStatus::error_code, foo, pprz_mtx_lock(), pprz_mtx_unlock(), send_copilot_status, CopilotStatus::status, CopilotStatus::timestamp, CopilotStatus::used_disk, and CopilotStatus::used_mem.
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, extra_pprz_tp, and foo.
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_cam_payload_mtx, copilot_cam_snapshot_mtx, copilot_status, copilot_status_mtx, DefaultChannel, DefaultDevice, CameraPayload::door_status, CameraPayload::error_code, CopilotStatus::error_code, foo, CameraSnapshot::lens_temp, pprz_mtx_lock(), pprz_mtx_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.
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().
pprz_mutex_t copilot_cam_payload_mtx |
Definition at line 56 of file copilot_common.c.
Referenced by copilot_init(), copilot_parse_cam_payload_dl(), and copilot_periodic().
pprz_mutex_t copilot_cam_snapshot_mtx |
Definition at line 55 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().
pprz_mutex_t copilot_status_mtx |
Definition at line 57 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().