amended SusConverter for use as OBSW
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good

This commit is contained in:
2022-09-23 14:27:05 +02:00
parent e70ee1bf9d
commit 46ec376e4d
2 changed files with 125 additions and 109 deletions

View File

@ -16,24 +16,24 @@ class SunSensor {
public:
SunSensor() {}
void setSunSensorData(uint8_t Sensornumber);
void setSunSensorData();
void checkSunSensorData(uint8_t Sensornumber);
void AngleCalculation();
void AngleCalculation(uint8_t Sensornumber);
void setCalibrationCoefficients(uint8_t Sensornumber);
void Calibration();
void CalculateSunVector();
void Calibration(uint8_t Sensornumber);
void CalculateSunVector(uint8_t Sensornumber);
bool getValidityNumber() { return ValidityNumber; }
bool getValidityNumber(uint8_t Sensornumber);
float* getSunVectorBodyFrame();
float* TransferSunVector(SunSensor SUS[12]);
float* TransferSunVector();
private:
uint16_t ChannelValue[5]; //[Bit]
float AlphaBetaRaw[2]; //[°]
float AlphaBetaCalibrated[2]; //[°]
float SunVectorBodyFrame[3]; //[-]
uint16_t susChannelValues[12][4]; //[Bit]
float AlphaBetaRaw[12][2]; //[°]
float AlphaBetaCalibrated[12][2]; //[°]
float SunVectorBodyFrame[12][3]; //[-]
bool ValidityNumber = true;
bool ValidityNumber[12] = true;
uint16_t ChannelValueCheckHigh =
4096; //=2^12[Bit]high borderline for the channel values of one sun sensor for validity Check
@ -49,8 +49,8 @@ class SunSensor {
HalfCellWidth = 70; //[°] Width of the calibration cells --> necessary for checking in
// which cell a data point should be
float CoeffAlpha[9][10];
float CoeffBeta[9][10];
float CoeffAlpha[12][9][10];
float CoeffBeta[12][9][10];
AcsParameters acsParameters;
};