Flag for MGM4 Usage #778
@ -25,6 +25,8 @@ will consitute of a breaking change warranting a new major release:
|
|||||||
return the actual GPS data will be ignored once SPG4 is running. However, by setting the
|
return the actual GPS data will be ignored once SPG4 is running. However, by setting the
|
||||||
according parameter, the ACS Controller can be directed to ignore the SGP4 solution.
|
according parameter, the ACS Controller can be directed to ignore the SGP4 solution.
|
||||||
- Skyview dataset for more GPS TM has been added
|
- Skyview dataset for more GPS TM has been added
|
||||||
|
- Parameter to disable usage of MGM4, which is part of the MTQ and therefore cannot be
|
||||||
|
disabled without disabling the MTQ itself.
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
|
@ -113,6 +113,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
|
|||||||
case 0x13:
|
case 0x13:
|
||||||
parameterWrapper->set(mgmHandlingParameters.mgmDerivativeFilterWeight);
|
parameterWrapper->set(mgmHandlingParameters.mgmDerivativeFilterWeight);
|
||||||
break;
|
break;
|
||||||
|
case 0x14:
|
||||||
|
parameterWrapper->set(mgmHandlingParameters.useMgm4);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return INVALID_IDENTIFIER_ID;
|
return INVALID_IDENTIFIER_ID;
|
||||||
}
|
}
|
||||||
|
@ -80,6 +80,7 @@ class AcsParameters : public HasParametersIF {
|
|||||||
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.85;
|
||||||
|
uint8_t useMgm4 = false;
|
||||||
} mgmHandlingParameters;
|
} mgmHandlingParameters;
|
||||||
|
|
||||||
struct SusHandlingParameters {
|
struct SusHandlingParameters {
|
||||||
|
@ -101,7 +101,7 @@ void SensorProcessing::processMgm(const float *mgm0Value, bool mgm0valid, const
|
|||||||
sensorFusionDenominator[i] += 1 / mgmParameters->mgm13variance[i];
|
sensorFusionDenominator[i] += 1 / mgmParameters->mgm13variance[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mgm4valid) {
|
if (mgm4valid and mgmParameters->useMgm4) {
|
||||||
float mgm4ValueUT[3];
|
float mgm4ValueUT[3];
|
||||||
VectorOperations<float>::mulScalar(mgm4Value, 1e-3, mgm4ValueUT, 3); // nT to uT
|
VectorOperations<float>::mulScalar(mgm4Value, 1e-3, mgm4ValueUT, 3); // nT to uT
|
||||||
MatrixOperations<float>::multiply(mgmParameters->mgm4orientationMatrix[0], mgm4ValueUT,
|
MatrixOperations<float>::multiply(mgmParameters->mgm4orientationMatrix[0], mgm4ValueUT,
|
||||||
|
Loading…
Reference in New Issue
Block a user