acsParams 1

This commit is contained in:
Marius Eggert 2023-04-06 11:15:50 +02:00
parent 0d7fe0ff74
commit 3d48f4d046
2 changed files with 18 additions and 23 deletions

View File

@ -33,18 +33,15 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case 0x2: // InertiaEIVE case 0x2: // InertiaEIVE
switch (parameterId) { switch (parameterId) {
case 0x0: case 0x0:
parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrix);
break;
case 0x1:
parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixDeployed); parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixDeployed);
break; break;
case 0x2: case 0x1:
parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixUndeployed); parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixUndeployed);
break; break;
case 0x3: case 0x2:
parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel1); parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel1);
break; break;
case 0x4: case 0x3:
parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel3); parameterWrapper->setMatrix(inertiaEIVE.inertiaMatrixPanel3);
break; break;
default: default:
@ -107,6 +104,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case 0x11: case 0x11:
parameterWrapper->setVector(mgmHandlingParameters.mgm4variance); parameterWrapper->setVector(mgmHandlingParameters.mgm4variance);
break; break;
case 0x12:
parameterWrapper->set(mgmHandlingParameters.mgmDerivativeFilterWeight);
break;
default: default:
return INVALID_IDENTIFIER_ID; return INVALID_IDENTIFIER_ID;
} }
@ -260,6 +260,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
case 0xA: case 0xA:
parameterWrapper->set(gyrHandlingParameters.preferAdis); parameterWrapper->set(gyrHandlingParameters.preferAdis);
break; break;
case 0xB:
parameterWrapper->set(gyrHandlingParameters.gyrFilterWeight);
break;
default: default:
return INVALID_IDENTIFIER_ID; return INVALID_IDENTIFIER_ID;
} }
@ -339,21 +342,18 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
parameterWrapper->set(safeModeControllerParameters.k_parallelNonMekf); parameterWrapper->set(safeModeControllerParameters.k_parallelNonMekf);
break; break;
case 0x6: case 0x6:
parameterWrapper->set(safeModeControllerParameters.k_rateDamping);
break;
case 0x7:
parameterWrapper->set(safeModeControllerParameters.sunMagAngleMin);
break;
case 0x8:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDirLeop); parameterWrapper->setVector(safeModeControllerParameters.sunTargetDirLeop);
break; break;
case 0x9: case 0x7:
parameterWrapper->setVector(safeModeControllerParameters.sunTargetDir); parameterWrapper->setVector(safeModeControllerParameters.sunTargetDir);
break; break;
case 0xA: case 0x8:
parameterWrapper->set(safeModeControllerParameters.satRateRef); parameterWrapper->set(safeModeControllerParameters.satRateRef);
break; break;
case 0xB: case 0x9:
parameterWrapper->set(safeModeControllerParameters.angleStartSpin);
break;
case 0xA:
parameterWrapper->set(safeModeControllerParameters.angleStartSpin); parameterWrapper->set(safeModeControllerParameters.angleStartSpin);
break; break;
default: default:

View File

@ -22,9 +22,6 @@ class AcsParameters : public HasParametersIF {
} onBoardParams; } onBoardParams;
struct InertiaEIVE { 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 // Possible inertia matrices
double inertiaMatrixDeployed[3][3] = {{0.1539829, -0.0001821456, -0.0050135}, double inertiaMatrixDeployed[3][3] = {{0.1539829, -0.0001821456, -0.0050135},
{-0.0001821456, 0.1701302, 0.0004748963}, {-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(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 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)}; 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; float gyrFilterWeight = 0.6;
} gyrHandlingParameters; } gyrHandlingParameters;
@ -821,16 +818,14 @@ class AcsParameters : public HasParametersIF {
double k_alignNonMekf = 4.0e-4; double k_alignNonMekf = 4.0e-4;
double k_parallelNonMekf = 7.0e-5; 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 sunTargetDirLeop[3] = {0, sqrt(.5), sqrt(.5)};
double sunTargetDir[3] = {0, 0, 1}; double sunTargetDir[3] = {0, 0, 1};
double satRateRef = 0; double satRateRef = 0;
float angleStartSpin = 20 * M_PI / 180; float angleStartSpin = 20 * M_PI / 180;
uint8_t dampingDuringEclipse = true;
} safeModeControllerParameters; } safeModeControllerParameters;
struct PointingLawParameters { struct PointingLawParameters {