2022-09-20 14:15:55 +02:00
|
|
|
/*
|
|
|
|
* Navigation.h
|
|
|
|
*
|
|
|
|
* Created on: 19 Apr 2022
|
|
|
|
* Author: Robin Marquardt
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef NAVIGATION_H_
|
|
|
|
#define NAVIGATION_H_
|
|
|
|
|
2022-11-03 10:43:27 +01:00
|
|
|
#include "../controllerdefinitions/AcsCtrlDefinitions.h"
|
2022-09-27 11:06:11 +02:00
|
|
|
#include "AcsParameters.h"
|
|
|
|
#include "MultiplicativeKalmanFilter.h"
|
2022-11-03 10:43:27 +01:00
|
|
|
#include "SensorProcessing.h"
|
2022-09-27 11:06:11 +02:00
|
|
|
#include "SensorValues.h"
|
2022-09-20 14:15:55 +02:00
|
|
|
|
2022-11-03 10:43:27 +01:00
|
|
|
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;
|
2022-09-20 14:15:55 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* ACS_NAVIGATION_H_ */
|