diff --git a/src/modules/navigator/mission.cpp b/src/modules/navigator/mission.cpp index 401fe0899d..8640051177 100644 --- a/src/modules/navigator/mission.cpp +++ b/src/modules/navigator/mission.cpp @@ -442,8 +442,9 @@ Mission::set_mission_items() if (item_contains_position(&_mission_item)) { /* force vtol land */ - if(_mission_item.nav_cmd == NAV_CMD_LAND && _param_force_vtol.get() - && !_navigator->get_vstatus()->is_rotary_wing){ + if (_mission_item.nav_cmd == NAV_CMD_LAND && _navigator->get_vstatus()->is_vtol + && _param_force_vtol.get() && !_navigator->get_vstatus()->is_rotary_wing) { + _mission_item.nav_cmd = NAV_CMD_VTOL_LAND; } diff --git a/src/modules/navigator/mission_block.cpp b/src/modules/navigator/mission_block.cpp index ae1820a4a6..f00e05d1fe 100644 --- a/src/modules/navigator/mission_block.cpp +++ b/src/modules/navigator/mission_block.cpp @@ -344,7 +344,7 @@ MissionBlock::mission_item_to_position_setpoint(const struct mission_item_s *ite { /* set the correct setpoint for vtol transition */ - if(item->nav_cmd == NAV_CMD_DO_VTOL_TRANSITION && PX4_ISFINITE(item->yaw) + if (item->nav_cmd == NAV_CMD_DO_VTOL_TRANSITION && PX4_ISFINITE(item->yaw) && item->params[0] >= vtol_vehicle_status_s::VEHICLE_VTOL_STATE_FW - 0.5f) { sp->type = position_setpoint_s::SETPOINT_TYPE_POSITION; waypoint_from_heading_and_distance(_navigator->get_global_position()->lat, @@ -389,7 +389,7 @@ MissionBlock::mission_item_to_position_setpoint(const struct mission_item_s *ite case NAV_CMD_LAND: case NAV_CMD_VTOL_LAND: sp->type = position_setpoint_s::SETPOINT_TYPE_LAND; - if(_navigator->get_vstatus()->is_vtol && _param_vtol_wv_land.get()){ + if (_navigator->get_vstatus()->is_vtol && _param_vtol_wv_land.get()) { sp->disable_mc_yaw_control = true; } break; @@ -398,7 +398,7 @@ MissionBlock::mission_item_to_position_setpoint(const struct mission_item_s *ite case NAV_CMD_LOITER_TURN_COUNT: case NAV_CMD_LOITER_UNLIMITED: sp->type = position_setpoint_s::SETPOINT_TYPE_LOITER; - if(_navigator->get_vstatus()->is_vtol && _param_vtol_wv_loiter.get()){ + if (_navigator->get_vstatus()->is_vtol && _param_vtol_wv_loiter.get()) { sp->disable_mc_yaw_control = true; } break; @@ -529,7 +529,7 @@ MissionBlock::set_land_item(struct mission_item_s *item, bool at_current_locatio { /* VTOL transition to RW before landing */ - if(_navigator->get_vstatus()->is_vtol && !_navigator->get_vstatus()->is_rotary_wing){ + if (_navigator->get_vstatus()->is_vtol && !_navigator->get_vstatus()->is_rotary_wing) { struct vehicle_command_s cmd = {}; cmd.command = NAV_CMD_DO_VTOL_TRANSITION; cmd.param1 = vtol_vehicle_status_s::VEHICLE_VTOL_STATE_MC;