ACS Safe Ctrl Failure Event #484

Merged
muellerr merged 12 commits from acs-safe-mode-failure into develop 2023-03-15 16:27:43 +01:00
2 changed files with 15 additions and 1 deletions
Showing only changes of commit d894479f75 - Show all commits

View File

@ -22,6 +22,10 @@ will consitute of a breaking change warranting a new major release:
being in the correct mode, the assemblies should take care that this will never happen and no being in the correct mode, the assemblies should take care that this will never happen and no
additional FDIR is needed. additional FDIR is needed.
## Changed
- Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown.
# [v1.37.2] 2023-03-14 # [v1.37.2] 2023-03-14
- Changed `PoolManager` bugfix implementation in the FSFW. - Changed `PoolManager` bugfix implementation in the FSFW.

View File

@ -24,7 +24,6 @@ RwHandler::RwHandler(object_id_t objectId, object_id_t comIF, CookieIF* comCooki
sif::error << "RwHandler: Invalid gpio communication interface" << std::endl; sif::error << "RwHandler: Invalid gpio communication interface" << std::endl;
} }
} }
RwHandler::~RwHandler() {} RwHandler::~RwHandler() {}
void RwHandler::doStartUp() { void RwHandler::doStartUp() {
@ -43,6 +42,17 @@ void RwHandler::doShutDown() {
} }
internalState = InternalState::DEFAULT; internalState = InternalState::DEFAULT;
updatePeriodicReply(false, rws::REPLY_ID); updatePeriodicReply(false, rws::REPLY_ID);
{
PoolReadGuard pg(&statusSet);
statusSet.currSpeed = 0.0;
statusSet.referenceSpeed = 0.0;
statusSet.state = 0;
statusSet.setValidity(false, true);
}
{
PoolReadGuard pg(&tmDataset);
tmDataset.setValidity(false, true);
}
// The power switch is handled by the assembly, so we can go off here directly. // The power switch is handled by the assembly, so we can go off here directly.
setMode(MODE_OFF); setMode(MODE_OFF);
} }