ACS Ptg Ctrl Fixes #643

Merged
muellerr merged 35 commits from acs-ptg-ctrl-fixes-2 into v3.0.0-dev 2023-06-07 11:49:10 +02:00
2 changed files with 15 additions and 1 deletions
Showing only changes of commit 376c359d6e - Show all commits

View File

@ -16,7 +16,7 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
# [v2.2.0] to be released # [v4.0.0] to be released
# [v3.0.0] to be released # [v3.0.0] to be released
@ -94,6 +94,7 @@ will consitute of a breaking change warranting a new major release:
- Prevent spam of TCS controller heater unavailability event if all heaters are in external control. - Prevent spam of TCS controller heater unavailability event if all heaters are in external control.
- TCS heater switch info set contained invalid values because of a faulty `memcpy` in the TCS - TCS heater switch info set contained invalid values because of a faulty `memcpy` in the TCS
controller. There is not crash risk but the heater states were invalid. controller. There is not crash risk but the heater states were invalid.
- STR datasets were not set to invalid on shutdown.
- Fixed usage of quaternion valid flag, which does not actually represent the validity of the - Fixed usage of quaternion valid flag, which does not actually represent the validity of the
quaternion. quaternion.
- Various fixes for the pointing modes of the `ACS Controller`. All modes should work now as - Various fixes for the pointing modes of the `ACS Controller`. All modes should work now as

View File

@ -100,6 +100,19 @@ void StarTrackerHandler::doShutDown() {
startupState = StartupState::IDLE; startupState = StartupState::IDLE;
bootState = FwBootState::NONE; bootState = FwBootState::NONE;
solutionSet.setReportingEnabled(false); solutionSet.setReportingEnabled(false);
{
PoolReadGuard pg(&solutionSet);
solutionSet.caliQw.value = 0.0;
solutionSet.caliQx.value = 0.0;
solutionSet.caliQy.value = 0.0;
solutionSet.caliQz.value = 0.0;
solutionSet.isTrustWorthy = 0;
solutionSet.setValidity(false, true);
}
{
PoolReadGuard pg(&temperatureSet);
temperatureSet.setValidity(false, true);
}
reinitNextSetParam = false; reinitNextSetParam = false;
setMode(_MODE_POWER_DOWN); setMode(_MODE_POWER_DOWN);
} }