New Safe Mode Controller #748

Merged
muellerr merged 31 commits from acs-safe-flp-v2 into main 2023-07-26 11:08:12 +02:00
Showing only changes of commit c6294cadbd - Show all commits

View File

@ -17,17 +17,24 @@ acs::SafeModeStrategy SafeCtrl::safeCtrlStrategy(
return acs::SafeModeStrategy::SAFECTRL_NO_MAG_FIELD_FOR_CONTROL; return acs::SafeModeStrategy::SAFECTRL_NO_MAG_FIELD_FOR_CONTROL;
} else if (mekfEnabled and mekfValid) { } else if (mekfEnabled and mekfValid) {
return acs::SafeModeStrategy::SAFECTRL_MEKF; return acs::SafeModeStrategy::SAFECTRL_MEKF;
} else if (gyrEnabled and satRotRateValid and sunDirValid) { } else if (sunDirValid) {
return acs::SafeModeStrategy::SAFECTRL_GYR; if (gyrEnabled and satRotRateValid) {
} else if (not gyrEnabled and sunDirValid and fusedRateSplitValid) { return acs::SafeModeStrategy::SAFECTRL_GYR;
return acs::SafeModeStrategy::SAFECTRL_SUSMGM; } else if (not gyrEnabled and fusedRateSplitValid) {
} else if (gyrEnabled and dampingEnabled and satRotRateValid and not sunDirValid) { return acs::SafeModeStrategy::SAFECTRL_SUSMGM;
return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_DAMPING_GYR; } else {
} else if (not gyrEnabled and dampingEnabled and satRotRateValid and fusedRateTotalValid and return acs::SafeModeStrategy::SAFECTRL_NO_SENSORS_FOR_CONTROL;
not sunDirValid) { }
return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_DAMPING_SUSMGM; } else if (not sunDirValid) {
} else if (not dampingEnabled and satRotRateValid and not sunDirValid) { if (gyrEnabled and dampingEnabled and satRotRateValid) {
return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_IDELING; return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_DAMPING_GYR;
} else if (not gyrEnabled and dampingEnabled and satRotRateValid and fusedRateTotalValid) {
return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_DAMPING_SUSMGM;
} else if (not dampingEnabled and satRotRateValid) {
return acs::SafeModeStrategy::SAFECTRL_ECLIPSE_IDELING;
} else {
return acs::SafeModeStrategy::SAFECTRL_NO_SENSORS_FOR_CONTROL;
}
} else { } else {
return acs::SafeModeStrategy::SAFECTRL_NO_SENSORS_FOR_CONTROL; return acs::SafeModeStrategy::SAFECTRL_NO_SENSORS_FOR_CONTROL;
} }