mavlink_mission: answer with mission NACKs

if anything doesn't go according to protocol we should not just throw
warnings but actually tell the ground station with a mission nack.
This commit is contained in:
Julian Oes
2018-01-23 18:24:40 +01:00
committed by Lorenz Meier
parent e43cc9a9c1
commit d5219c8bc0
+7 -1
View File
@@ -922,6 +922,8 @@ MavlinkMissionManager::handle_mission_count(const mavlink_message_t *msg)
PX4_DEBUG("WPM: MISSION_COUNT ERROR: busy, already receiving seq %u", _transfer_seq);
_mavlink->send_statustext_critical("WPM: REJ. CMD: Busy");
send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR);
return;
}
@@ -929,6 +931,7 @@ MavlinkMissionManager::handle_mission_count(const mavlink_message_t *msg)
PX4_DEBUG("WPM: MISSION_COUNT ERROR: busy, state %i", _state);
_mavlink->send_statustext_critical("WPM: IGN MISSION_COUNT: Busy");
send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR);
return;
}
@@ -987,7 +990,8 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg)
if (CHECK_SYSID_COMPID_MISSION(wp)) {
if (wp.mission_type != _mission_type) {
PX4_WARN("WPM: Unexpected mission type (%u %u)", wp.mission_type, _mission_type);
PX4_WARN("WPM: Unexpected mission type (%u %u)", (int)wp.mission_type, (int)_mission_type);
send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR);
return;
}
@@ -1005,12 +1009,14 @@ MavlinkMissionManager::handle_mission_item_both(const mavlink_message_t *msg)
PX4_DEBUG("WPM: MISSION_ITEM ERROR: no transfer");
_mavlink->send_statustext_critical("IGN MISSION_ITEM: No transfer");
send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR);
return;
} else {
PX4_DEBUG("WPM: MISSION_ITEM ERROR: busy, state %i", _state);
_mavlink->send_statustext_critical("IGN MISSION_ITEM: Busy");
send_mission_ack(_transfer_partner_sysid, _transfer_partner_compid, MAV_MISSION_ERROR);
return;
}