Merge pull request 'Features for v6.5.0' (#790) from features-v6.5.0 into main
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good

Reviewed-on: #790
Reviewed-by: Robin Müller <muellerr@irs.uni-stuttgart.de>
This commit is contained in:
Robin Müller 2023-09-07 15:12:14 +02:00
commit 1b295139a0
3 changed files with 17 additions and 10 deletions

View File

@ -16,6 +16,12 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
## Changed
- The primary and the secondary temperature sensors for the PLOC mission boards are exchanged.
- ACS parameters for the SUSMGM (FLP) safe mode have been adjusted. This safe mode is now the
default one.
# [v6.4.1] 2023-08-21 # [v6.4.1] 2023-08-21
## Fixed ## Fixed

View File

@ -1372,12 +1372,13 @@ void ThermalController::ctrlPlPcduBoard() {
tooHotHandler(objects::PLPCDU_HANDLER, tooHotFlags.eBandTooHotFlag); tooHotHandler(objects::PLPCDU_HANDLER, tooHotFlags.eBandTooHotFlag);
} }
// ToDo: remove one of the following 2
void ThermalController::ctrlPlocMissionBoard() { void ThermalController::ctrlPlocMissionBoard() {
ctrlCtx.thermalComponent = tcsCtrl::PLOCMISSION_BOARD; ctrlCtx.thermalComponent = tcsCtrl::PLOCMISSION_BOARD;
sensors[0].first = sensorTemperatures.plocHeatspreader.isValid(); sensors[0].first = sensorTemperatures.plocMissionboard.isValid();
sensors[0].second = sensorTemperatures.plocHeatspreader.value; sensors[0].second = sensorTemperatures.plocMissionboard.value;
sensors[1].first = sensorTemperatures.plocMissionboard.isValid(); sensors[1].first = sensorTemperatures.plocHeatspreader.isValid();
sensors[1].second = sensorTemperatures.plocMissionboard.value; sensors[1].second = sensorTemperatures.plocHeatspreader.value;
sensors[2].first = sensorTemperatures.dacHeatspreader.isValid(); sensors[2].first = sensorTemperatures.dacHeatspreader.isValid();
sensors[2].second = sensorTemperatures.dacHeatspreader.value; sensors[2].second = sensorTemperatures.dacHeatspreader.value;
numSensors = 3; numSensors = 3;

View File

@ -79,7 +79,7 @@ class AcsParameters : public HasParametersIF {
float mgm13variance[3] = {pow(1.5e-8, 2), pow(1.5e-8, 2), pow(1.5e-8, 2)}; float mgm13variance[3] = {pow(1.5e-8, 2), pow(1.5e-8, 2), pow(1.5e-8, 2)};
float mgm4variance[3] = {pow(1.7e-6, 2), pow(1.7e-6, 2), pow(1.7e-6, 2)}; float mgm4variance[3] = {pow(1.7e-6, 2), pow(1.7e-6, 2), pow(1.7e-6, 2)};
float mgmVectorFilterWeight = 0.85; float mgmVectorFilterWeight = 0.85;
float mgmDerivativeFilterWeight = 0.85; float mgmDerivativeFilterWeight = 0.99;
uint8_t useMgm4 = false; uint8_t useMgm4 = false;
} mgmHandlingParameters; } mgmHandlingParameters;
@ -771,7 +771,7 @@ class AcsParameters : public HasParametersIF {
-0.000889232196185857, -0.00168429567131815}}; -0.000889232196185857, -0.00168429567131815}};
float susBrightnessThreshold = 0.7; float susBrightnessThreshold = 0.7;
float susVectorFilterWeight = .85; float susVectorFilterWeight = .85;
float susRateFilterWeight = .85; float susRateFilterWeight = .99;
} susHandlingParameters; } susHandlingParameters;
struct GyrHandlingParameters { struct GyrHandlingParameters {
@ -834,15 +834,15 @@ class AcsParameters : public HasParametersIF {
double k_alignGyr = 4.0e-5; double k_alignGyr = 4.0e-5;
double k_parallelGyr = 3.75e-4; double k_parallelGyr = 3.75e-4;
double k_orthoSusMgm = 1.1e-2; double k_orthoSusMgm = 4.4e-3;
double k_alignSusMgm = 2.0e-5; double k_alignSusMgm = 4.0e-5;
double k_parallelSusMgm = 4.4e-4; double k_parallelSusMgm = 3.75e-4;
double sunTargetDirLeop[3] = {0, sqrt(.5), sqrt(.5)}; double sunTargetDirLeop[3] = {0, sqrt(.5), sqrt(.5)};
double sunTargetDir[3] = {0, 0, 1}; double sunTargetDir[3] = {0, 0, 1};
uint8_t useMekf = false; uint8_t useMekf = false;
uint8_t useGyr = true; uint8_t useGyr = false;
uint8_t dampingDuringEclipse = true; uint8_t dampingDuringEclipse = true;
float sineLimitSunRotRate = 0.24; float sineLimitSunRotRate = 0.24;