DataFlash: do not send in-progress messages back to streaming GCSs

This commit is contained in:
Peter Barker 2017-07-17 15:14:34 +10:00 committed by Francisco Ferreira
parent 90c2db119e
commit 1fd4eb4bfb

View File

@ -105,7 +105,13 @@ void DataFlash_Class::handle_log_request_list(GCS_MAVLINK &link, mavlink_message
void DataFlash_Class::handle_log_request_data(GCS_MAVLINK &link, mavlink_message_t *msg)
{
if (_log_sending_chan >= 0) {
link.send_text(MAV_SEVERITY_INFO, "Log download in progress");
// some GCS (e.g. MAVProxy) attempt to stream request_data
// messages when they're filling gaps in the downloaded logs.
// This channel check avoids complaining to them, at the cost
// of silently dropping any repeated attempts to start logging
if (_log_sending_chan != link.get_chan()) {
link.send_text(MAV_SEVERITY_INFO, "Log download in progress");
}
return;
}