diff --git a/mission/controller/AcsController.cpp b/mission/controller/AcsController.cpp index 027dc61f..c87f460c 100644 --- a/mission/controller/AcsController.cpp +++ b/mission/controller/AcsController.cpp @@ -239,7 +239,7 @@ void AcsController::performDetumble() { triggerEvent(acs::MEKF_INVALID_INFO); mekfInvalidFlag = true; } - if (result == MultiplicativeKalmanFilter::MEKF_NOT_FINITE) { + if (result == MultiplicativeKalmanFilter::MEKF_NOT_FINITE && !mekfLost) { navigation.resetMekf(&mekfData); } } else { @@ -293,7 +293,7 @@ void AcsController::performPointingCtrl() { triggerEvent(acs::MEKF_INVALID_INFO); mekfInvalidFlag = true; } - if (result == MultiplicativeKalmanFilter::MEKF_NOT_FINITE) { + if (result == MultiplicativeKalmanFilter::MEKF_NOT_FINITE && !mekfLost) { navigation.resetMekf(&mekfData); } if (mekfInvalidCounter > acsParameters.onBoardParams.mekfViolationTimer) {