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
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:

View File

@ -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 {