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.
52 lines
1.5 KiB
52 lines
1.5 KiB
#include "GCS_Tracker.h" |
|
#include "Tracker.h" |
|
|
|
static void mavlink_snoop_static(const mavlink_message_t* msg) |
|
{ |
|
tracker.mavlink_snoop(msg); |
|
} |
|
|
|
void GCS_Tracker::setup_uarts(AP_SerialManager &serial_manager) |
|
{ |
|
GCS::setup_uarts(serial_manager); |
|
|
|
for (uint8_t i = 1; i < num_gcs(); i++) { |
|
gcs().chan(i).set_snoop(mavlink_snoop_static); |
|
} |
|
} |
|
|
|
void GCS_Tracker::request_datastream_position(const uint8_t sysid, const uint8_t compid) |
|
{ |
|
for (uint8_t i=0; i < num_gcs(); i++) { |
|
if (gcs().chan(i).initialised) { |
|
// 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++) { |
|
if (gcs().chan(i).initialised) { |
|
// 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 |
|
} |
|
} |
|
} |
|
}
|
|
|