|
|
|
@ -689,7 +689,7 @@ Navigator::task_main()
@@ -689,7 +689,7 @@ Navigator::task_main()
|
|
|
|
|
if (_vstatus.return_switch == RETURN_SWITCH_RETURN) { |
|
|
|
|
/* switch to RTL if not already landed after RTL and home position set */ |
|
|
|
|
if (!(_rtl_state == RTL_STATE_DESCEND && |
|
|
|
|
(myState == NAV_STATE_READY || myState == NAV_STATE_LAND || myState == NAV_STATE_LOITER)) && |
|
|
|
|
(myState == NAV_STATE_LAND || myState == NAV_STATE_LOITER)) && |
|
|
|
|
_vstatus.condition_home_position_valid) { |
|
|
|
|
dispatch(EVENT_RTL_REQUESTED); |
|
|
|
|
} |
|
|
|
@ -748,7 +748,7 @@ Navigator::task_main()
@@ -748,7 +748,7 @@ Navigator::task_main()
|
|
|
|
|
|
|
|
|
|
case NAV_STATE_RTL: |
|
|
|
|
if (!(_rtl_state == RTL_STATE_DESCEND && |
|
|
|
|
(myState == NAV_STATE_READY || myState == NAV_STATE_LAND || myState == NAV_STATE_LOITER)) && |
|
|
|
|
(myState == NAV_STATE_LAND || myState == NAV_STATE_LOITER)) && |
|
|
|
|
_vstatus.condition_home_position_valid) { |
|
|
|
|
dispatch(EVENT_RTL_REQUESTED); |
|
|
|
|
} |
|
|
|
@ -756,9 +756,7 @@ Navigator::task_main()
@@ -756,9 +756,7 @@ Navigator::task_main()
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
case NAV_STATE_LAND: |
|
|
|
|
if (myState != NAV_STATE_READY) { |
|
|
|
|
dispatch(EVENT_LAND_REQUESTED); |
|
|
|
|
} |
|
|
|
|
dispatch(EVENT_LAND_REQUESTED); |
|
|
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|