diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c1891d6..0e0a74b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,11 @@ will consitute of a breaking change warranting a new major release: # [unreleased] +## Changed + +- Telemetry relevant datasets for the RWs are now set invalid and partially reset on shotdown. +- Bump FSFW: merged upstream. + # [v1.37.2] 2023-03-14 - Changed `PoolManager` bugfix implementation in the FSFW. diff --git a/fsfw b/fsfw index cf27954a..d0607824 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit cf27954a867a1c16b4e5b0fe72cd79df946ff903 +Subproject commit d0607824ad551771e4e3ec1f1752f5f2f6a1a7a8 diff --git a/mission/devices/RwHandler.cpp b/mission/devices/RwHandler.cpp index 7f82b202..e70152dd 100644 --- a/mission/devices/RwHandler.cpp +++ b/mission/devices/RwHandler.cpp @@ -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; } } - RwHandler::~RwHandler() {} void RwHandler::doStartUp() { @@ -43,6 +42,17 @@ void RwHandler::doShutDown() { } internalState = InternalState::DEFAULT; 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. setMode(MODE_OFF); }