added STR to SensorValues

This commit is contained in:
Marius Eggert 2022-10-12 10:27:01 +02:00
parent d929b27c08
commit 430646afd0
2 changed files with 17 additions and 4 deletions

View File

@ -52,11 +52,20 @@ ReturnValue_t SensorValues::updateGyr() {
return result;
}
ReturnValue_t SensorValues::updateStr() {
ReturnValue_t result;
PoolReadGuard pgStr(&strSet);
result = pgStr.getReadResult();
return result;
}
ReturnValue_t SensorValues::update() {
ReturnValue_t mgmUpdate = updateMgm();
ReturnValue_t susUpdate = updateSus();
ReturnValue_t gyrUpdate = updateGyr();
if ((mgmUpdate && susUpdate && gyrUpdate) == returnvalue::FAILED) {
ReturnValue_t strUpdate = updateStr();
if ((mgmUpdate && susUpdate && gyrUpdate && strUpdate) == returnvalue::FAILED) {
return returnvalue::FAILED;
};
return returnvalue::OK;

View File

@ -5,6 +5,7 @@
#include "fsfw_hal/devicehandlers/MgmLIS3MDLHandler.h"
#include "fsfw_hal/devicehandlers/MgmRM3100Handler.h"
#include "linux/devices/devicedefinitions/StarTrackerDefinitions.h"
#include "mission/devices/devicedefinitions/GyroADIS1650XDefinitions.h"
#include "mission/devices/devicedefinitions/GyroL3GD20Definitions.h"
#include "mission/devices/devicedefinitions/IMTQHandlerDefinitions.h"
@ -21,6 +22,7 @@ class SensorValues {
ReturnValue_t updateMgm();
ReturnValue_t updateSus();
ReturnValue_t updateGyr();
ReturnValue_t updateStr();
MGMLIS3MDL::MgmPrimaryDataset mgm0Lis3Set =
MGMLIS3MDL::MgmPrimaryDataset(objects::MGM_0_LIS3_HANDLER);
@ -52,9 +54,11 @@ class SensorValues {
AdisGyroPrimaryDataset gyr2AdisSet = AdisGyroPrimaryDataset(objects::GYRO_2_ADIS_HANDLER);
GyroPrimaryDataset gyr3L3gSet = GyroPrimaryDataset(objects::GYRO_3_L3G_HANDLER);
double quatJB[4]; // output star tracker. quaternion or dcm ? refrence to which KOS?
bool quatJBValid;
int strIntTime[2];
startracker::SolutionSet strSet = startracker::SolutionSet(objects::STAR_TRACKER);
// 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