eive-obsw/mission/controller/acs/Navigation.h

35 lines
1.2 KiB
C
Raw Normal View History

2022-09-20 14:15:55 +02:00
#ifndef NAVIGATION_H_
#define NAVIGATION_H_
2023-08-07 11:23:10 +02:00
#include <fsfw/coordinates/Sgp4Propagator.h>
2023-08-07 13:37:05 +02:00
#include <mission/acs/defs.h>
2023-08-07 11:23:10 +02:00
#include <mission/controller/acs/AcsParameters.h>
#include <mission/controller/acs/MultiplicativeKalmanFilter.h>
#include <mission/controller/acs/SensorProcessing.h>
#include <mission/controller/acs/SensorValues.h>
#include <mission/controller/controllerdefinitions/AcsCtrlDefinitions.h>
2022-09-20 14:15:55 +02:00
class Navigation {
public:
Navigation();
virtual ~Navigation();
ReturnValue_t useMekf(ACS::SensorValues *sensorValues,
acsctrl::GyrDataProcessed *gyrDataProcessed,
acsctrl::MgmDataProcessed *mgmDataProcessed,
acsctrl::SusDataProcessed *susDataProcessed, acsctrl::MekfData *mekfData,
AcsParameters *acsParameters);
void resetMekf(acsctrl::MekfData *mekfData);
2023-08-07 11:23:10 +02:00
void useSpg4(timeval now, acsctrl::GpsDataProcessed *gpsDataProcessed);
ReturnValue_t updateTle(const uint8_t *line1, const uint8_t *line2);
protected:
private:
MultiplicativeKalmanFilter multiplicativeKalmanFilter;
2023-02-23 15:05:10 +01:00
ReturnValue_t mekfStatus = MultiplicativeKalmanFilter::MEKF_UNINITIALIZED;
2023-08-07 11:23:10 +02:00
Sgp4Propagator sgp4Propagator;
2022-09-20 14:15:55 +02:00
};
#endif /* ACS_NAVIGATION_H_ */