qCWarning(MissionManagerLog)<<"_requestNextMissionItem requested seqeuence number > item count sequenceNumber::_cMissionItems"<<sequenceNumber<<_cMissionItems;
_sendError(InternalError,QString("QGroundControl requested mission item outside of range (internal error): %1:%2").arg(sequenceNumber).arg(_cMissionItems));
qCDebug(MissionManagerLog)<<"_handleMissionAck vehicle sent ack while state machine is idle: error:"<<_missionResultToString((MAV_MISSION_RESULT)missionAck.type);
_sendError(VehicleError,QString("Vehicle sent unexpected MISSION_ACK message, error: %1").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));
break;
caseAckMissionCount:
// MISSION_COUNT message expected
qCDebug(MissionManagerLog)<<"_handleMissionAck vehicle sent ack when MISSION_COUNT expected: error:"<<_missionResultToString((MAV_MISSION_RESULT)missionAck.type);
if(!_retrySequence(AckMissionCount)){
_sendError(VehicleError,QString("Vehicle returned error: %1. Partial list of mission items may have been returned.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));
}
_sendError(VehicleError,QString("Vehicle returned error: %1.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));
_finishTransaction(false);
break;
caseAckMissionItem:
// MISSION_ITEM expected
qCDebug(MissionManagerLog)<<"_handleMissionAck vehicle sent ack when MISSION_ITEM expected: error:"<<_missionResultToString((MAV_MISSION_RESULT)missionAck.type);
if(!_retrySequence(AckMissionItem)){
_sendError(VehicleError,QString("Vehicle returned error: %1. Partial list of mission items may have been returned.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));
}
_sendError(VehicleError,QString("Vehicle returned error: %1. Partial list of mission items may have been returned.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));
_finishTransaction(false);
break;
caseAckMissionRequest:
// MISSION_REQUEST is expected, or MISSION_ACK to end sequence
qCDebug(MissionManagerLog)<<"_handleMissionAck vehicle did not reqeust all items: _expectedSequenceNumber:_missionItems.count"<<_expectedSequenceNumber<<_missionItems.count();
if(!_retrySequence(AckMissionRequest)){
_sendError(MissingRequestsError,QString("Vehicle did not request all items during write sequence %1:%2. Vehicle only has partial list of mission items.").arg(_expectedSequenceNumber).arg(_missionItems.count()));
}
_sendError(MissingRequestsError,QString("Vehicle did not request all items during write sequence, missed count %1. Vehicle only has partial list of mission items.").arg(_itemIndicesToWrite.count()));
QString("Vehicle returned error: %1 on item %2. Vehicle only has partial list of mission items.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)).arg(_expectedSequenceNumber));
}
_sendError(VehicleError,QString("Vehicle returned error: %1. Vehicle only has partial list of mission items.").arg(_missionResultToString((MAV_MISSION_RESULT)missionAck.type)));