some more mode checks
This commit is contained in:
parent
600921e3a0
commit
f5e47c6114
@ -112,8 +112,11 @@ ReturnValue_t DualLaneAssemblyBase::pwrStateMachineWrapper() {
|
|||||||
|
|
||||||
ReturnValue_t DualLaneAssemblyBase::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
ReturnValue_t DualLaneAssemblyBase::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
||||||
using namespace duallane;
|
using namespace duallane;
|
||||||
if (submode != A_SIDE and submode != B_SIDE and submode != DUAL_MODE) {
|
if (mode != MODE_OFF and (submode != A_SIDE and submode != B_SIDE and submode != DUAL_MODE)) {
|
||||||
return returnvalue::FAILED;
|
return HasModesIF::INVALID_SUBMODE;
|
||||||
|
}
|
||||||
|
if(mode == MODE_OFF and submode != SUBMODE_NONE) {
|
||||||
|
return HasModesIF::INVALID_SUBMODE;
|
||||||
}
|
}
|
||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,8 @@ class DualLaneAssemblyBase : public AssemblyBase, public ConfirmsFailuresIF {
|
|||||||
* @param submode
|
* @param submode
|
||||||
*/
|
*/
|
||||||
virtual ReturnValue_t pwrStateMachineWrapper();
|
virtual ReturnValue_t pwrStateMachineWrapper();
|
||||||
virtual ReturnValue_t isModeCombinationValid(Mode_t mode, Submode_t submode) override;
|
ReturnValue_t isModeCombinationValid(Mode_t mode, Submode_t submode) override;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom recovery implementation to ensure that the power lines are commanded off for a
|
* Custom recovery implementation to ensure that the power lines are commanded off for a
|
||||||
* recovery.
|
* recovery.
|
||||||
|
@ -35,9 +35,12 @@ ReturnValue_t ImtqAssembly::checkChildrenStateOn(Mode_t wantedMode, Submode_t wa
|
|||||||
|
|
||||||
ReturnValue_t ImtqAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
ReturnValue_t ImtqAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
||||||
if (mode == MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL or mode == MODE_OFF) {
|
if (mode == MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL or mode == MODE_OFF) {
|
||||||
|
if(submode != SUBMODE_NONE) {
|
||||||
|
return HasModesIF::INVALID_SUBMODE;
|
||||||
|
}
|
||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
return returnvalue::FAILED;
|
return HasModesIF::INVALID_MODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t ImtqAssembly::checkAndHandleHealthState(Mode_t deviceMode, Submode_t deviceSubmode) {
|
ReturnValue_t ImtqAssembly::checkAndHandleHealthState(Mode_t deviceMode, Submode_t deviceSubmode) {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#include "SyrlinksAssembly.h"
|
#include "SyrlinksAssembly.h"
|
||||||
|
|
||||||
#include <eive/objects.h>
|
#include <eive/objects.h>
|
||||||
|
#include <mission/com/defs.h>
|
||||||
|
|
||||||
using namespace returnvalue;
|
using namespace returnvalue;
|
||||||
|
|
||||||
@ -34,10 +35,16 @@ ReturnValue_t SyrlinksAssembly::checkChildrenStateOn(Mode_t wantedMode, Submode_
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t SyrlinksAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
ReturnValue_t SyrlinksAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
||||||
if (mode == MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL or mode == MODE_OFF) {
|
if (mode == MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL) {
|
||||||
|
if (submode >= com::Submode::NUM_SUBMODES or submode < com::Submode::RX_ONLY) {
|
||||||
|
return HasModesIF::INVALID_SUBMODE;
|
||||||
|
}
|
||||||
return returnvalue::OK;
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
return returnvalue::FAILED;
|
if(mode == MODE_OFF and submode != SUBMODE_NONE) {
|
||||||
|
return HasModesIF::INVALID_SUBMODE;
|
||||||
|
}
|
||||||
|
return returnvalue::OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnValue_t SyrlinksAssembly::checkAndHandleHealthState(Mode_t deviceMode,
|
ReturnValue_t SyrlinksAssembly::checkAndHandleHealthState(Mode_t deviceMode,
|
||||||
|
Loading…
Reference in New Issue
Block a user