diff --git a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc index d04eb8682ee882d99409d498f75ddd66d51a6953..1a7fa10953c17eba92a642067c58feda5f4266ce 100644 --- a/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc +++ b/src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc @@ -452,12 +452,15 @@ void PX4FirmwarePlugin::guidedModeChangeAltitude(Vehicle* vehicle, double altitu void PX4FirmwarePlugin::startMission(Vehicle* vehicle) { - if (!_armVehicleAndValidate(vehicle)) { - qgcApp()->showMessage(tr("Unable to start mission: Vehicle failed to arm.")); - return; - } - _setFlightModeAndValidate(vehicle, missionFlightMode()); + if (_setFlightModeAndValidate(vehicle, missionFlightMode())) { + if (!_armVehicleAndValidate(vehicle)) { + qgcApp()->showMessage(tr("Unable to start mission: Vehicle rejected arming.")); + return; + } + } else { + qgcApp()->showMessage(tr("Unable to start mission: Vehicle not ready.")); + } } void PX4FirmwarePlugin::setGuidedMode(Vehicle* vehicle, bool guidedMode)