Reset RW dataset on shutdown #485

Merged
muellerr merged 2 commits from rw-dataset-reset into develop 2023-03-15 11:27:30 +01:00
2 changed files with 15 additions and 1 deletions

View File

@ -16,6 +16,10 @@ will consitute of a breaking change warranting a new major release:
# [unreleased] # [unreleased]
## 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);
} }