added relevant parameters

This commit is contained in:
Marius Eggert 2023-03-22 08:59:13 +01:00
parent d00cfc420c
commit f6a0954315
2 changed files with 25 additions and 8 deletions

View File

@ -321,29 +321,41 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case (0x8): // SafeModeControllerParameters case (0x8): // SafeModeControllerParameters
switch (parameterId) { switch (parameterId) {
case 0x0: case 0x0:
parameterWrapper->set(safeModeControllerParameters.k_rate_mekf); parameterWrapper->set(safeModeControllerParameters.k_ortho_mekf);
break; break;
case 0x1: case 0x1:
parameterWrapper->set(safeModeControllerParameters.k_align_mekf); parameterWrapper->set(safeModeControllerParameters.k_align_mekf);
break; break;
case 0x2: case 0x2:
parameterWrapper->set(safeModeControllerParameters.k_rate_no_mekf); parameterWrapper->set(safeModeControllerParameters.k_parallel_mekf);
break; break;
case 0x3: case 0x3:
parameterWrapper->set(safeModeControllerParameters.k_align_no_mekf); parameterWrapper->set(safeModeControllerParameters.k_ortho_no_mekf);
break; break;
case 0x4: case 0x4:
parameterWrapper->set(safeModeControllerParameters.sunMagAngleMin); parameterWrapper->set(safeModeControllerParameters.k_align_no_mekf);
break; break;
case 0x5: case 0x5:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDirLeop); parameterWrapper->set(safeModeControllerParameters.k_parallel_no_mekf);
break; break;
case 0x6: case 0x6:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDir); parameterWrapper->set(safeModeControllerParameters.sunMagAngleMin);
break; break;
case 0x7: case 0x7:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDirLeop);
break;
case 0x8:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDir);
break;
case 0x9:
parameterWrapper->setVector(safeModeControllerParameters.satRateRef); parameterWrapper->setVector(safeModeControllerParameters.satRateRef);
break; break;
case 0xA:
parameterWrapper->set(safeModeControllerParameters.cosineStartSpin);
break;
case 0xB:
parameterWrapper->set(safeModeControllerParameters.sineCalculateOmegaSun);
break;
default: default:
return INVALID_IDENTIFIER_ID; return INVALID_IDENTIFIER_ID;
} }

View File

@ -811,11 +811,13 @@ class AcsParameters : public HasParametersIF {
} rwMatrices; } rwMatrices;
struct SafeModeControllerParameters { struct SafeModeControllerParameters {
double k_rate_mekf = 0.00059437; double k_ortho_mekf = 0.00059437;
double k_align_mekf = 0.000056875; double k_align_mekf = 0.000056875;
double k_parallel_mekf = 0;
double k_rate_no_mekf = 0.00059437; double k_ortho_no_mekf = 0.00059437;
double k_align_no_mekf = 0.000056875; double k_align_no_mekf = 0.000056875;
double k_parallel_no_mekf = 0;
double sunMagAngleMin = 5 * M_PI / 180; double sunMagAngleMin = 5 * M_PI / 180;
@ -823,6 +825,9 @@ class AcsParameters : public HasParametersIF {
double sunTargetDir[3] = {0, 0, 1}; double sunTargetDir[3] = {0, 0, 1};
double satRateRef[3] = {0, 0, 0}; double satRateRef[3] = {0, 0, 0};
float cosineStartSpin = 0.9;
float sineCalculateOmegaSun = 0.24;
} safeModeControllerParameters; } safeModeControllerParameters;
struct PointingLawParameters { struct PointingLawParameters {