diff --git a/src/FirmwarePlugin/FirmwarePlugin.cc b/src/FirmwarePlugin/FirmwarePlugin.cc index ff57d80f31428e088fba1986ed8ec78807408a16..57debcebf2c0a2ad322efe95c86357aaf2f5e8c9 100644 --- a/src/FirmwarePlugin/FirmwarePlugin.cc +++ b/src/FirmwarePlugin/FirmwarePlugin.cc @@ -485,7 +485,7 @@ bool FirmwarePlugin::_setFlightModeAndValidate(Vehicle* vehicle, const QString& vehicle->setFlightMode(flightMode); // Wait for vehicle to return flight mode - for (int i=0; i<30; i++) { + for (int i=0; i<22; i++) { if (vehicle->flightMode() == flightMode) { flightModeChanged = true; break; 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) diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index e84ee8c5cdfaa4b6c9fb8c1b0fef80d03fc56508..242e647c9dac4e9bfc233edae26e41cb205d828b 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -789,7 +789,7 @@ void Vehicle::_handleHilActuatorControls(mavlink_message_t &message) void Vehicle::_handleCommandAck(mavlink_message_t& message) { - bool showError = true; + bool showError = false; mavlink_command_ack_t ack; mavlink_msg_command_ack_decode(&message, &ack);