#ifndef MISSION_CONTROLLER_ACS_FUSEDROTATIONESTIMATION_H_ #define MISSION_CONTROLLER_ACS_FUSEDROTATIONESTIMATION_H_ #include #include class FusedRotationEstimation { public: FusedRotationEstimation(AcsParameters *acsParameters_); void estimateFusedRotationRateSafe(bool sunValid, double sunB[3], double sunRateB[3], bool magValid, double magB[3], double magRateB[3], bool rotRateValid, double rotRateB[3], double fusedRateB[3], double fusedRateParallelB[3], double fusedRateOrthogonalB[3]); void estimateFusedRotationRateEclipse(bool rotRateValid, double rotRateB[3], double fusedRateB[3], double fusedRateParallelB[3], double fusedRateOrthogonalB[3]); protected: private: AcsParameters *acsParameters; double rotRateOldB[3] = {0, 0, 0}; double fusedRateOldB[3] = {0, 0, 0}; }; #endif /* MISSION_CONTROLLER_ACS_FUSEDROTATIONESTIMATION_H_ */