navigator: improve if structure for vtol/mc/fw

This commit is contained in:
Julian Oes
2019-12-23 21:47:16 +01:00
committed by Lorenz Meier
parent f9aa12eaa9
commit 3a37d0b560
@@ -82,14 +82,12 @@ MissionFeasibilityChecker::checkMissionFeasible(const mission_s &mission,
failed = failed || !checkGeofence(mission, home_alt, home_valid);
failed = failed || !checkHomePositionAltitude(mission, home_alt, home_alt_valid, warned);
// VTOL always respects rotary wing feasibility
if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING
|| _navigator->get_vstatus()->is_vtol) {
if (_navigator->get_vstatus()->is_vtol) {
failed = failed || !checkRotarywing(mission, home_alt);
failed = failed || !checkFixedwing(mission, home_alt, false);
if (_navigator->get_vstatus()->is_vtol) {
failed = failed || !checkFixedwing(mission, home_alt, false);
}
} else if (_navigator->get_vstatus()->vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING) {
failed = failed || !checkRotarywing(mission, home_alt);
} else {
failed = failed || !checkFixedwing(mission, home_alt, land_start_req);