First Version of ACS Controller #329
35
mission/controller/acs/SensorValues.cpp
Normal file
35
mission/controller/acs/SensorValues.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* SensorValues.cpp
|
||||
*
|
||||
* Created on: 30 Mar 2022
|
||||
* Author: rooob
|
||||
*/
|
||||
#include <acs/SensorValues.h>
|
||||
|
||||
#include <stddef.h>
|
||||
#include <cmath>
|
||||
#include <fsfw/src/fsfw/datapoollocal/LocalPoolVariable.h>
|
||||
|
||||
namespace ACS {
|
||||
|
||||
SensorValues::SensorValues() {
|
||||
}
|
||||
|
||||
SensorValues::~SensorValues() {
|
||||
}
|
||||
|
||||
ReturnValue_t SensorValues::update() {
|
||||
// lp_var_t<float> quaternion(objects::STAR_TRACKER, PoolIds::CALI_QW, nullptr, pool_rwm_t::VAR_READ);
|
||||
// ReturnValue_t result = quaternion.read();
|
||||
|
||||
// if ( result != RETURN_OK) {
|
||||
// return RETURN_FAILED;
|
||||
// }
|
||||
// quatJB[3] = static_cast<double>(quaternion.value);
|
||||
// quatJBValid = quaternion.isValid();
|
||||
|
||||
return RETURN_OK;
|
||||
}
|
||||
}
|
||||
|
||||
|
99
mission/controller/acs/SensorValues.h
Normal file
99
mission/controller/acs/SensorValues.h
Normal file
@ -0,0 +1,99 @@
|
||||
/* Created on: 08.03.2022
|
||||
* Author: Robin
|
||||
*/
|
||||
|
||||
#ifndef SENSORVALUES_H_
|
||||
#define SENSORVALUES_H_
|
||||
|
||||
#include <fsfw/src/fsfw/returnvalues/HasReturnvaluesIF.h>
|
||||
|
||||
namespace ACS {
|
||||
|
||||
class SensorValues: public HasReturnvaluesIF {
|
||||
public:
|
||||
SensorValues();
|
||||
virtual ~SensorValues();
|
||||
|
||||
ReturnValue_t update();
|
||||
|
||||
float mgm0[3];
|
||||
float mgm1[3];
|
||||
float mgm2[3];
|
||||
float mgm3[3];
|
||||
float mgm4[3];
|
||||
|
||||
bool mgm0Valid;
|
||||
bool mgm1Valid;
|
||||
bool mgm2Valid;
|
||||
bool mgm3Valid;
|
||||
bool mgm4Valid;
|
||||
|
||||
float sus0[3];
|
||||
float sus1[3];
|
||||
float sus2[3];
|
||||
float sus3[3];
|
||||
float sus4[3];
|
||||
float sus5[3];
|
||||
float sus6[3];
|
||||
float sus7[3];
|
||||
float sus8[3];
|
||||
float sus9[3];
|
||||
float sus10[3];
|
||||
float sus11[3];
|
||||
|
||||
bool sus0Valid;
|
||||
bool sus1Valid;
|
||||
bool sus2Valid;
|
||||
bool sus3Valid;
|
||||
bool sus4Valid;
|
||||
bool sus5Valid;
|
||||
bool sus6Valid;
|
||||
bool sus7Valid;
|
||||
bool sus8Valid;
|
||||
bool sus9Valid;
|
||||
bool sus10Valid;
|
||||
bool sus11Valid;
|
||||
|
||||
|
||||
double rmu0[3];
|
||||
double rmu1[3];
|
||||
double rmu2[3];
|
||||
|
||||
bool rmu0Valid;
|
||||
bool rmu1Valid;
|
||||
bool rmu2Valid;
|
||||
|
||||
double quatJB[4]; // output star tracker. quaternion or dcm ? refrence to which KOS?
|
||||
bool quatJBValid;
|
||||
int strIntTime[2];
|
||||
|
||||
double gps0latitude; //Reference is WGS84, so this one will probably be geodetic
|
||||
double gps0longitude; //Should be geocentric for IGRF
|
||||
double gps0altitude;
|
||||
double gps0Velocity[3]; // speed over ground = ??
|
||||
double gps0Time; //utc
|
||||
|
||||
// valid ids for gps values !
|
||||
int gps0TimeYear;
|
||||
int gps0TimeMonth;
|
||||
int gps0TimeHour; // should be double
|
||||
bool gps0Valid;
|
||||
|
||||
|
||||
bool mgt0valid;
|
||||
|
||||
// Reaction wheel measurements
|
||||
double speedRw0; // RPM [1/min]
|
||||
double speedRw1; // RPM [1/min]
|
||||
double speedRw2; // RPM [1/min]
|
||||
double speedRw3; // RPM [1/min]
|
||||
bool validRw0;
|
||||
bool validRw1;
|
||||
bool validRw2;
|
||||
bool validRw3;
|
||||
|
||||
};
|
||||
} /* namespace ACS */
|
||||
|
||||
#endif ENSORVALUES_H_
|
||||
|
Loading…
Reference in New Issue
Block a user