added option to change initial submode

This commit is contained in:
Robin Müller 2022-04-28 16:48:14 +02:00
parent e98857fab4
commit bf2e0f2d73
2 changed files with 7 additions and 2 deletions

View File

@ -459,6 +459,7 @@ ReturnValue_t Subsystem::initialize() {
} }
mode = initialMode; mode = initialMode;
submode = initSubmode;
return RETURN_OK; return RETURN_OK;
} }
@ -596,7 +597,10 @@ ReturnValue_t Subsystem::checkObjectConnections() {
return RETURN_OK; return RETURN_OK;
} }
void Subsystem::setInitialMode(Mode_t mode) { initialMode = mode; } void Subsystem::setInitialMode(Mode_t mode, Submode_t submode) {
this->initialMode = mode;
this->initSubmode = submode;
}
void Subsystem::cantKeepMode() { void Subsystem::cantKeepMode() {
ReturnValue_t result; ReturnValue_t result;

View File

@ -75,7 +75,7 @@ class Subsystem : public SubsystemBase, public HasModeSequenceIF {
ReturnValue_t addTable(ArrayList<ModeListEntry> *table, Mode_t id, bool inStore = true, ReturnValue_t addTable(ArrayList<ModeListEntry> *table, Mode_t id, bool inStore = true,
bool preInit = true); bool preInit = true);
void setInitialMode(Mode_t mode); void setInitialMode(Mode_t mode, Submode_t submode = SUBMODE_NONE);
virtual ReturnValue_t initialize() override; virtual ReturnValue_t initialize() override;
@ -114,6 +114,7 @@ class Subsystem : public SubsystemBase, public HasModeSequenceIF {
Submode_t targetSubmode; Submode_t targetSubmode;
Mode_t initialMode = 0; Mode_t initialMode = 0;
Submode_t initSubmode = SUBMODE_NONE;
HybridIterator<ModeListEntry> currentSequenceIterator; HybridIterator<ModeListEntry> currentSequenceIterator;