switched sensor input from AcsController to SensorValues
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good

This commit is contained in:
2022-10-10 16:02:57 +02:00
parent 82e9c6d092
commit 076e67dd0b
6 changed files with 241 additions and 206 deletions

View File

@ -1,99 +1,85 @@
/* Created on: 08.03.2022
* Author: Robin
*/
#ifndef SENSORVALUES_H_
#define SENSORVALUES_H_
#include <fsfw/returnvalues/returnvalue.h>
#include <commonObjects.h>
#include "mission/devices/devicedefinitions/SusDefinitions.h"
#include "fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h"
#include "fsfw_hal/devicehandlers/MgmRM3100Handler.h"
#include "mission/devices/devicedefinitions/IMTQHandlerDefinitions.h"
namespace ACS {
class SensorValues{
public:
SensorValues();
virtual ~SensorValues();
public:
SensorValues();
virtual ~SensorValues();
ReturnValue_t update();
ReturnValue_t update();
ReturnValue_t updateMgm();
ReturnValue_t updateSus();
float mgm0[3];
float mgm1[3];
float mgm2[3];
float mgm3[3];
float mgm4[3];
MGMLIS3MDL::MgmPrimaryDataset mgm0Lis3Set =
MGMLIS3MDL::MgmPrimaryDataset(objects::MGM_0_LIS3_HANDLER);
RM3100::Rm3100PrimaryDataset mgm1Rm3100Set =
RM3100::Rm3100PrimaryDataset(objects::MGM_1_RM3100_HANDLER);
MGMLIS3MDL::MgmPrimaryDataset mgm2Lis3Set =
MGMLIS3MDL::MgmPrimaryDataset(objects::MGM_2_LIS3_HANDLER);
RM3100::Rm3100PrimaryDataset mgm3Rm3100Set =
RM3100::Rm3100PrimaryDataset(objects::MGM_3_RM3100_HANDLER);
IMTQ::RawMtmMeasurementSet imtqMgmSet = IMTQ::RawMtmMeasurementSet(objects::IMTQ_HANDLER);
bool mgm0Valid;
bool mgm1Valid;
bool mgm2Valid;
bool mgm3Valid;
bool mgm4Valid;
std::array<SUS::SusDataset, 12> susSets{
SUS::SusDataset(objects::SUS_0_N_LOC_XFYFZM_PT_XF),
SUS::SusDataset(objects::SUS_1_N_LOC_XBYFZM_PT_XB),
SUS::SusDataset(objects::SUS_2_N_LOC_XFYBZB_PT_YB),
SUS::SusDataset(objects::SUS_3_N_LOC_XFYBZF_PT_YF),
SUS::SusDataset(objects::SUS_4_N_LOC_XMYFZF_PT_ZF),
SUS::SusDataset(objects::SUS_5_N_LOC_XFYMZB_PT_ZB),
SUS::SusDataset(objects::SUS_6_R_LOC_XFYBZM_PT_XF),
SUS::SusDataset(objects::SUS_7_R_LOC_XBYBZM_PT_XB),
SUS::SusDataset(objects::SUS_8_R_LOC_XBYBZB_PT_YB),
SUS::SusDataset(objects::SUS_9_R_LOC_XBYBZB_PT_YF),
SUS::SusDataset(objects::SUS_10_N_LOC_XMYBZF_PT_ZF),
SUS::SusDataset(objects::SUS_11_R_LOC_XBYMZB_PT_ZB),
};
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];
double rmu0[3];
double rmu1[3];
double rmu2[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;
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 rmu0[3];
double rmu1[3];
double rmu2[3];
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
bool rmu0Valid;
bool rmu1Valid;
bool rmu2Valid;
// valid ids for gps values !
int gps0TimeYear;
int gps0TimeMonth;
int gps0TimeHour; // should be double
bool gps0Valid;
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;
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_*/