First Version of ACS Controller #329

Merged
muellerr merged 106 commits from acs-ctrl-v1 into develop 2022-12-02 16:21:58 +01:00
2 changed files with 134 additions and 0 deletions
Showing only changes of commit 295a2e3fdc - Show all commits

View 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;
}
}

View 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_