Revert ACS Safe Mode Controller to FLP Design #466

Merged
muellerr merged 64 commits from acs-flp-safe into develop 2023-04-14 20:26:20 +02:00
386 changed files with 5181 additions and 8812 deletions
Showing only changes of commit 906413e800 - Show all commits

View File

@@ -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; std::error_code e;
if (not std::filesystem::exists(SD_0_SKEWED_PTG_FILE, e) or if (not std::filesystem::exists(SD_0_SKEWED_PTG_FILE, e) or
not std::filesystem::exists(SD_1_SKEWED_PTG_FILE, e)) { not std::filesystem::exists(SD_1_SKEWED_PTG_FILE, e)) {
std::memcpy(sunTargetSafe, acsParameters->safeModeControllerParameters.sunTargetDir, std::memcpy(sunTargetSafe, acsParameters->safeModeControllerParameters.sunTargetDir,
3 * sizeof(double)); sizeof(&sunTargetSafe));
std::memcpy(inertiaEive, acsParameters->inertiaEIVE.inertiaMatrixDeployed,
sizeof(&inertiaEive));
} else { } else {
std::memcpy(sunTargetSafe, acsParameters->safeModeControllerParameters.sunTargetDirLeop, 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, std::memcpy(satRateSafe, acsParameters->safeModeControllerParameters.satRateRef,
3 * sizeof(double)); sizeof(&satRateSafe));
} }
ReturnValue_t Guidance::solarArrayDeploymentComplete() { ReturnValue_t Guidance::solarArrayDeploymentComplete() {

View File

@@ -12,7 +12,7 @@ class Guidance {
Guidance(AcsParameters *acsParameters_); Guidance(AcsParameters *acsParameters_);
virtual ~Guidance(); 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(); ReturnValue_t solarArrayDeploymentComplete();
// Function to get the target quaternion and refence rotation rate from gps position and // Function to get the target quaternion and refence rotation rate from gps position and