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 ## 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 - TCS controller now does a sanity check on the temperature values: Values below -80 C or above
160 C are ignored. 160 C are ignored.

View File

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

View File

@ -642,3 +642,11 @@ ReturnValue_t GomspaceDeviceHandler::parsePduHkTable(PDU::PduCoreHk& coreHk, PDU
} }
return returnvalue::OK; 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; ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override;
void setNormalDatapoolEntriesInvalid() override; void setNormalDatapoolEntriesInvalid() override;
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) 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 * @brief The command to generate a request to receive the full housekeeping table is device
* specific. Thus the child has to build this command. * specific. Thus the child has to build this command.

View File

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

View File

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

View File

@ -1,2 +1 @@
target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp StrFdir.cpp target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp)
GomspacePowerFdir.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); } 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; uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap, ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap,
LocalDataPoolManager &poolManager) override; LocalDataPoolManager &poolManager) override;
ReturnValue_t setHealth(HealthState health) override;
private: private:
/** /**