diff --git a/src/boards/Main/StateMachines/NASController/NASController.cpp b/src/boards/Main/StateMachines/NASController/NASController.cpp index 8704d2bc7d05fa4378f5b5dffb894f9397a9490a..bd5d9bcf804fa600ea658c97991d340c5b431583 100644 --- a/src/boards/Main/StateMachines/NASController/NASController.cpp +++ b/src/boards/Main/StateMachines/NASController/NASController.cpp @@ -25,6 +25,7 @@ #include <Main/BoardScheduler.h> #include <Main/Configs/NASConfig.h> #include <Main/Sensors/Sensors.h> +#include <Main/StateMachines/FlightModeManager/FlightModeManager.h> #include <algorithms/NAS/StateInitializer.h> #include <common/ReferenceConfig.h> #include <common/events/Events.h> @@ -68,7 +69,11 @@ void NASController::update() nas.correctMag(imuData); nas.correctGPS(gpsData); nas.correctBaro(pressureData.pressure); - nas.correctPitot(pitotData.deltaP, pressureData.pressure); + + // Correct the pitot only during ascending + if (FlightModeManager::getInstance().getStatus().state == + FlightModeManagerState::ASCENDING) + nas.correctPitot(pitotData.deltaP, pressureData.pressure); Logger::getInstance().log(nas.getState()); }