You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.3 KiB
68 lines
2.3 KiB
#include "GCS_Tracker.h" |
|
#include "Tracker.h" |
|
|
|
void GCS_Tracker::request_datastream_position(const uint8_t sysid, const uint8_t compid) |
|
{ |
|
for (uint8_t i=0; i < num_gcs(); i++) { |
|
// request position |
|
if (HAVE_PAYLOAD_SPACE((mavlink_channel_t)i, DATA_STREAM)) { |
|
mavlink_msg_request_data_stream_send( |
|
(mavlink_channel_t)i, |
|
sysid, |
|
compid, |
|
MAV_DATA_STREAM_POSITION, |
|
tracker.g.mavlink_update_rate, |
|
1); // start streaming |
|
} |
|
} |
|
} |
|
|
|
void GCS_Tracker::request_datastream_airpressure(const uint8_t sysid, const uint8_t compid) |
|
{ |
|
for (uint8_t i=0; i < num_gcs(); i++) { |
|
// request air pressure |
|
if (HAVE_PAYLOAD_SPACE((mavlink_channel_t)i, DATA_STREAM)) { |
|
mavlink_msg_request_data_stream_send( |
|
(mavlink_channel_t)i, |
|
sysid, |
|
compid, |
|
MAV_DATA_STREAM_RAW_SENSORS, |
|
tracker.g.mavlink_update_rate, |
|
1); // start streaming |
|
} |
|
} |
|
} |
|
|
|
// update sensors and subsystems present, enabled and healthy flags for reporting to GCS |
|
void GCS_Tracker::update_vehicle_sensor_status_flags() |
|
{ |
|
// default sensors present |
|
control_sensors_present |= |
|
MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL | |
|
MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION | |
|
MAV_SYS_STATUS_SENSOR_YAW_POSITION; |
|
|
|
control_sensors_enabled |= |
|
MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL | |
|
MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION | |
|
MAV_SYS_STATUS_SENSOR_YAW_POSITION; |
|
|
|
control_sensors_health |= |
|
MAV_SYS_STATUS_SENSOR_ANGULAR_RATE_CONTROL | |
|
MAV_SYS_STATUS_SENSOR_ATTITUDE_STABILIZATION | |
|
MAV_SYS_STATUS_SENSOR_YAW_POSITION; |
|
|
|
// first what sensors/controllers we have |
|
const AP_GPS &gps = AP::gps(); |
|
if (gps.status() > AP_GPS::NO_GPS) { |
|
control_sensors_present |= MAV_SYS_STATUS_SENSOR_GPS; |
|
control_sensors_enabled |= MAV_SYS_STATUS_SENSOR_GPS; |
|
} |
|
|
|
if (gps.is_healthy()) { |
|
control_sensors_health |= MAV_SYS_STATUS_SENSOR_GPS; |
|
} |
|
} |
|
|
|
// avoid building/linking Devo: |
|
void AP_DEVO_Telem::init() {};
|
|
|