/* Created on: 08.03.2022 * Author: Robin */ #ifndef SENSORVALUES_H_ #define SENSORVALUES_H_ #include 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_