Merge remote-tracking branch 'origin/develop' into tweak_syrlinks_hk
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
commit
f2a2c73984
@ -26,6 +26,9 @@ will consitute of a breaking change warranting a new major release:
|
||||
|
||||
- Doubled GS PST interval instead of scheduling everything twice.
|
||||
- Syrlinks now only has one `PERFORM_OPERATION` step, but still has two communication steps.
|
||||
- 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.
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -278,9 +278,24 @@ ReturnValue_t AcsBoardAssembly::checkAndHandleHealthStates(Mode_t deviceMode,
|
||||
modeHelper.setForced(true);
|
||||
}
|
||||
};
|
||||
if (healthHelper.healthTable->getHealth(helper.gpsId) == EXTERNAL_CONTROL) {
|
||||
if (healthHelper.healthTable->getHealth(helper.healthDevGps0) == EXTERNAL_CONTROL or
|
||||
healthHelper.healthTable->getHealth(helper.healthDevGps1) == EXTERNAL_CONTROL) {
|
||||
modeHelper.setForced(true);
|
||||
}
|
||||
if (healthHelper.healthTable->getHealth(helper.healthDevGps0) == PERMANENT_FAULTY and
|
||||
healthHelper.healthTable->getHealth(helper.healthDevGps1) == FAULTY) {
|
||||
overwriteDeviceHealth(helper.healthDevGps1, FAULTY);
|
||||
} else if (healthHelper.healthTable->getHealth(helper.healthDevGps1) == PERMANENT_FAULTY and
|
||||
healthHelper.healthTable->getHealth(helper.healthDevGps0) == FAULTY) {
|
||||
overwriteDeviceHealth(helper.healthDevGps0, FAULTY);
|
||||
} else if (healthHelper.healthTable->isFaulty(helper.healthDevGps0) and
|
||||
healthHelper.healthTable->isFaulty(helper.healthDevGps1)) {
|
||||
overwriteDeviceHealth(helper.healthDevGps0,
|
||||
healthHelper.healthTable->getHealth(helper.healthDevGps0));
|
||||
overwriteDeviceHealth(helper.healthDevGps1,
|
||||
healthHelper.healthTable->getHealth(helper.healthDevGps1));
|
||||
}
|
||||
|
||||
if (deviceSubmode == duallane::DUAL_MODE) {
|
||||
checkAcsBoardSensorGroup(helper.mgm0Lis3IdSideA, helper.mgm1Rm3100IdSideA,
|
||||
helper.mgm2Lis3IdSideB, helper.mgm3Rm3100IdSideB);
|
||||
|
@ -9,4 +9,5 @@ target_sources(
|
||||
SusAssembly.cpp
|
||||
AcsBoardFdir.cpp
|
||||
acsModeTree.cpp
|
||||
SusFdir.cpp)
|
||||
SusFdir.cpp
|
||||
StrFdir.cpp)
|
||||
|
@ -1,2 +1 @@
|
||||
target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp StrFdir.cpp
|
||||
GomspacePowerFdir.cpp)
|
||||
target_sources(${LIB_EIVE_MISSION} PRIVATE RtdFdir.cpp)
|
||||
|
1
mission/system/power/CMakeLists.txt
Normal file
1
mission/system/power/CMakeLists.txt
Normal file
@ -0,0 +1 @@
|
||||
target_sources(${LIB_EIVE_MISSION} PRIVATE GomspacePowerFdir.cpp)
|
@ -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;
|
||||
}
|
||||
|
@ -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:
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user