/* * Navigation.h * * Created on: 19 Apr 2022 * Author: Robin Marquardt */ #ifndef NAVIGATION_H_ #define NAVIGATION_H_ #include "../controllerdefinitions/AcsCtrlDefinitions.h" #include "AcsParameters.h" #include "MultiplicativeKalmanFilter.h" #include "SensorProcessing.h" #include "SensorValues.h" class Navigation { public: Navigation(AcsParameters *acsParameters_); // Input mode ? virtual ~Navigation(); void useMekf(ACS::SensorValues *sensorValues, acsctrl::GyrDataProcessed *gyrDataProcessed, acsctrl::MgmDataProcessed *mgmDataProcessed, acsctrl::SusDataProcessed *susDataProcessed, acsctrl::MekfData *mekfData, ReturnValue_t *mekfValid); void processSensorData(); protected: private: MultiplicativeKalmanFilter multiplicativeKalmanFilter; AcsParameters acsParameters; bool kalmanInit = false; }; #endif /* ACS_NAVIGATION_H_ */