diff --git a/mission/controller/acs/Guidance.cpp b/mission/controller/acs/Guidance.cpp index 35a2f025..4368e014 100644 --- a/mission/controller/acs/Guidance.cpp +++ b/mission/controller/acs/Guidance.cpp @@ -539,18 +539,23 @@ ReturnValue_t Guidance::getDistributionMatrixRw(ACS::SensorValues *sensorValues, } } -void Guidance::getTargetParamsSafe(double sunTargetSafe[3], double satRateSafe[3]) { +void Guidance::getTargetParamsSafe(double sunTargetSafe[3], double satRateSafe[3], + double inertiaEive[3][3]) { std::error_code e; if (not std::filesystem::exists(SD_0_SKEWED_PTG_FILE, e) or not std::filesystem::exists(SD_1_SKEWED_PTG_FILE, e)) { std::memcpy(sunTargetSafe, acsParameters->safeModeControllerParameters.sunTargetDir, - 3 * sizeof(double)); + sizeof(&sunTargetSafe)); + std::memcpy(inertiaEive, acsParameters->inertiaEIVE.inertiaMatrixDeployed, + sizeof(&inertiaEive)); } else { std::memcpy(sunTargetSafe, acsParameters->safeModeControllerParameters.sunTargetDirLeop, - 3 * sizeof(double)); + sizeof(&sunTargetSafe)); + std::memcpy(inertiaEive, acsParameters->inertiaEIVE.inertiaMatrixUndeployed, + sizeof(&inertiaEive)); } std::memcpy(satRateSafe, acsParameters->safeModeControllerParameters.satRateRef, - 3 * sizeof(double)); + sizeof(&satRateSafe)); } ReturnValue_t Guidance::solarArrayDeploymentComplete() { diff --git a/mission/controller/acs/Guidance.h b/mission/controller/acs/Guidance.h index f3369092..08183534 100644 --- a/mission/controller/acs/Guidance.h +++ b/mission/controller/acs/Guidance.h @@ -12,7 +12,7 @@ class Guidance { Guidance(AcsParameters *acsParameters_); virtual ~Guidance(); - void getTargetParamsSafe(double sunTargetSafe[3], double satRateRef[3]); + void getTargetParamsSafe(double sunTargetSafe[3], double satRateRef[3], double inertiaEive[3][3]); ReturnValue_t solarArrayDeploymentComplete(); // Function to get the target quaternion and refence rotation rate from gps position and