diff --git a/mission/controller/acs/AcsParameters.cpp b/mission/controller/acs/AcsParameters.cpp index 3ace33d9..f93c6dd3 100644 --- a/mission/controller/acs/AcsParameters.cpp +++ b/mission/controller/acs/AcsParameters.cpp @@ -33,18 +33,15 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId, case 0x2: // InertiaEIVE switch (parameterId) { case 0x0: - parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrix); - break; - case 0x1: parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixDeployed); break; - case 0x2: + case 0x1: parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixUndeployed); break; - case 0x3: + case 0x2: parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel1); break; - case 0x4: + case 0x3: parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel3); break; default: @@ -107,6 +104,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId, case 0x11: parameterWrapper->setVector(mgmHandlingParameters.mgm4variance); break; + case 0x12: + parameterWrapper->set(mgmHandlingParameters.mgmDerivativeFilterWeight); + break; default: return INVALID_IDENTIFIER_ID; } @@ -260,6 +260,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId, case 0xA: parameterWrapper->set(gyrHandlingParameters.preferAdis); break; + case 0xB: + parameterWrapper->set(gyrHandlingParameters.gyrFilterWeight); + break; default: return INVALID_IDENTIFIER_ID; } @@ -339,21 +342,18 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId, parameterWrapper->set(safeModeControllerParameters.k_parallelNonMekf); break; case 0x6: - parameterWrapper->set(safeModeControllerParameters.k_rateDamping); - break; - case 0x7: - parameterWrapper->set(safeModeControllerParameters.sunMagAngleMin); - break; - case 0x8: parameterWrapper->setVector(safeModeControllerParameters.sunTargetDirLeop); break; - case 0x9: + case 0x7: parameterWrapper->setVector(safeModeControllerParameters.sunTargetDir); break; - case 0xA: + case 0x8: parameterWrapper->set(safeModeControllerParameters.satRateRef); break; - case 0xB: + case 0x9: + parameterWrapper->set(safeModeControllerParameters.angleStartSpin); + break; + case 0xA: parameterWrapper->set(safeModeControllerParameters.angleStartSpin); break; default: diff --git a/mission/controller/acs/AcsParameters.h b/mission/controller/acs/AcsParameters.h index bf442fa9..9f7e960e 100644 --- a/mission/controller/acs/AcsParameters.h +++ b/mission/controller/acs/AcsParameters.h @@ -22,9 +22,6 @@ class AcsParameters : public HasParametersIF { } onBoardParams; struct InertiaEIVE { - double inertiaMatrix[3][3] = {{0.1539829, -0.0001821456, -0.0050135}, - {-0.0001821456, 0.1701302, 0.0004748963}, - {-0.0050135, 0.0004748963, 0.08374296}}; // 19.11.2021 // Possible inertia matrices double inertiaMatrixDeployed[3][3] = {{0.1539829, -0.0001821456, -0.0050135}, {-0.0001821456, 0.1701302, 0.0004748963}, @@ -780,7 +777,7 @@ class AcsParameters : public HasParametersIF { pow(3.0e-3, 2), // RND_y = 3.0e-3 deg/s/sqrt(Hz) rms pow(4.3e-3, 2)}; // RND_z = 4.3e-3 deg/s/sqrt(Hz) rms float gyr13variance[3] = {pow(11e-3, 2), pow(11e-3, 2), pow(11e-3, 2)}; - uint8_t preferAdis = true; + uint8_t preferAdis = false; float gyrFilterWeight = 0.6; } gyrHandlingParameters; @@ -821,16 +818,14 @@ class AcsParameters : public HasParametersIF { double k_alignNonMekf = 4.0e-4; double k_parallelNonMekf = 7.0e-5; - double k_rateDamping = 0; - - double sunMagAngleMin = 5 * M_PI / 180; - double sunTargetDirLeop[3] = {0, sqrt(.5), sqrt(.5)}; double sunTargetDir[3] = {0, 0, 1}; double satRateRef = 0; float angleStartSpin = 20 * M_PI / 180; + + uint8_t dampingDuringEclipse = true; } safeModeControllerParameters; struct PointingLawParameters {