diff --git a/src/main/navigation/navigation.c b/src/main/navigation/navigation.c index cc6b161e54..6172a9a1b8 100755 --- a/src/main/navigation/navigation.c +++ b/src/main/navigation/navigation.c @@ -233,6 +233,7 @@ static navigationFSMEvent_t nextForNonGeoStates(void); void initializeRTHSanityChecker(const fpVector3_t * pos); bool validateRTHSanityChecker(void); +void updateHomePosition(void); /*************************************************************************************************/ static navigationFSMEvent_t navOnEnteringState_NAV_STATE_IDLE(navigationFSMState_t previousState); @@ -2354,6 +2355,8 @@ void checkSafeHomeState(bool shouldBeEnabled) setHomePosition(&original_rth_home, 0, NAV_POS_UPDATE_XY | NAV_POS_UPDATE_Z | NAV_POS_UPDATE_HEADING, navigationActualStateHomeValidity()); safehome_applied = false; } + // if we've changed the home position, update the distance and direction + updateHomePosition(); } /***********************************************************