Merge pull request 'Feature: Set health overrides' (#563) from feature_set_health_overrides into develop
All checks were successful
EIVE/eive-obsw/pipeline/head This commit looks good

Reviewed-on: #563
This commit is contained in:
Robin Müller 2023-04-04 18:52:06 +02:00
commit 85cf95d6bb
14 changed files with 30 additions and 5 deletions

View File

@ -18,6 +18,9 @@ will consitute of a breaking change warranting a new major release:
## Changed
- PCDU components only allow setting `NEEDS_RECOVERY`, `HEALTHY` and `EXTERNAL_CONTROL` health
states now. TMP sensor components only allow `HEALTHY` , `EXTERNAL_CONTROL`, `FAULTY` and
`PERMANENT_FAULTY`.
- TCS controller now does a sanity check on the temperature values: Values below -80 C or above
160 C are ignored.

View File

@ -26,7 +26,7 @@
#include <mission/power/CspCookie.h>
#include <mission/system/acs/ImtqAssembly.h>
#include <mission/system/acs/StrAssembly.h>
#include <mission/system/fdir/StrFdir.h>
#include <mission/system/acs/StrFdir.h>
#include <mission/system/objects/CamSwitcher.h>
#include <mission/system/objects/SyrlinksAssembly.h>
@ -62,7 +62,7 @@
#include "mission/system/acs/acsModeTree.h"
#include "mission/system/com/SyrlinksFdir.h"
#include "mission/system/com/comModeTree.h"
#include "mission/system/fdir/GomspacePowerFdir.h"
#include "mission/system/power/GomspacePowerFdir.h"
#include "mission/system/fdir/RtdFdir.h"
#include "mission/system/objects/TcsBoardAssembly.h"
#include "mission/system/tree/payloadModeTree.h"

View File

@ -642,3 +642,11 @@ ReturnValue_t GomspaceDeviceHandler::parsePduHkTable(PDU::PduCoreHk& coreHk, PDU
}
return returnvalue::OK;
}
ReturnValue_t GomspaceDeviceHandler::setHealth(HealthState health) {
if (health != HealthState::HEALTHY and health != HealthState::EXTERNAL_CONTROL and
health != HealthState::NEEDS_RECOVERY) {
return returnvalue::FAILED;
}
return returnvalue::OK;
}

View File

@ -80,6 +80,9 @@ class GomspaceDeviceHandler : public DeviceHandlerBase {
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override;
void setNormalDatapoolEntriesInvalid() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t setHealth(HealthState health) override;
/**
* @brief The command to generate a request to receive the full housekeeping table is device
* specific. Thus the child has to build this command.

View File

@ -3,5 +3,6 @@ add_subdirectory(tree)
add_subdirectory(acs)
add_subdirectory(com)
add_subdirectory(fdir)
add_subdirectory(power)
target_sources(${LIB_EIVE_MISSION} PRIVATE DualLanePowerStateMachine.cpp)

View File

@ -9,4 +9,5 @@ target_sources(
SusAssembly.cpp
AcsBoardFdir.cpp
acsModeTree.cpp
SusFdir.cpp)
SusFdir.cpp
StrFdir.cpp)

View File

@ -1,2 +1 @@
target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp StrFdir.cpp
GomspacePowerFdir.cpp)
target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp)

View File

@ -0,0 +1 @@
target_sources(${LIB_EIVE_MISSION} PRIVATE GomspacePowerFdir.cpp)

View File

@ -132,3 +132,11 @@ ReturnValue_t Tmp1075Handler::initializeLocalDataPool(localpool::DataPool &local
}
void Tmp1075Handler::setModeNormal() { setMode(_MODE_TO_NORMAL); }
ReturnValue_t Tmp1075Handler::setHealth(HealthState health) {
if (health != FAULTY and health != PERMANENT_FAULTY and health != HEALTHY and
health != EXTERNAL_CONTROL) {
return returnvalue::FAILED;
}
return returnvalue::OK;
}

View File

@ -37,6 +37,7 @@ class Tmp1075Handler : public DeviceHandlerBase {
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override;
ReturnValue_t setHealth(HealthState health) override;
private:
/**