Use SGP4 Propagator for GPS #770
@ -665,6 +665,9 @@ ReturnValue_t AcsParameters::getParameter(uint8_t domainId, uint8_t parameterId,
|
|||||||
case 0x3:
|
case 0x3:
|
||||||
parameterWrapper->set(gpsParameters.fdirAltitude);
|
parameterWrapper->set(gpsParameters.fdirAltitude);
|
||||||
break;
|
break;
|
||||||
|
case 0x4:
|
||||||
|
parameterWrapper->set(gpsParameters.useSpg4);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return INVALID_IDENTIFIER_ID;
|
return INVALID_IDENTIFIER_ID;
|
||||||
}
|
}
|
||||||
|
@ -916,6 +916,7 @@ class AcsParameters : public HasParametersIF {
|
|||||||
double minimumFdirAltitude = 475 * 1e3; // [m]
|
double minimumFdirAltitude = 475 * 1e3; // [m]
|
||||||
double maximumFdirAltitude = 575 * 1e3; // [m]
|
double maximumFdirAltitude = 575 * 1e3; // [m]
|
||||||
double fdirAltitude = 525 * 1e3; // [m]
|
double fdirAltitude = 525 * 1e3; // [m]
|
||||||
|
uint8_t useSpg4 = true;
|
||||||
} gpsParameters;
|
} gpsParameters;
|
||||||
|
|
||||||
struct SunModelParameters {
|
struct SunModelParameters {
|
||||||
|
@ -541,7 +541,7 @@ void SensorProcessing::processGps(const double gpsLatitude, const double gpsLong
|
|||||||
gpsVelocityE[3] = {0, 0, 0};
|
gpsVelocityE[3] = {0, 0, 0};
|
||||||
uint8_t gpsSource = acs::GpsSource::NONE;
|
uint8_t gpsSource = acs::GpsSource::NONE;
|
||||||
// We do not trust the GPS and therefore it shall die here if SPG4 is running
|
// We do not trust the GPS and therefore it shall die here if SPG4 is running
|
||||||
if (gpsDataProcessed->source.value == acs::GpsSource::SPG4) {
|
if (gpsDataProcessed->source.value == acs::GpsSource::SPG4 and gpsParameters->useSpg4) {
|
||||||
MathOperations<double>::latLongAltFromCartesian(gpsDataProcessed->gpsPosition.value, gdLatitude,
|
MathOperations<double>::latLongAltFromCartesian(gpsDataProcessed->gpsPosition.value, gdLatitude,
|
||||||
gdLongitude, altitude);
|
gdLongitude, altitude);
|
||||||
double factor = 1 - pow(ECCENTRICITY_WGS84, 2);
|
double factor = 1 - pow(ECCENTRICITY_WGS84, 2);
|
||||||
|
Loading…
Reference in New Issue
Block a user