add STR assy
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit

This commit is contained in:
2023-03-06 15:51:53 +01:00
parent 6aae94823e
commit 4e9646fe10
6 changed files with 58 additions and 9 deletions

View File

@ -13,6 +13,7 @@ target_sources(
SusAssembly.cpp
RwAssembly.cpp
DualLanePowerStateMachine.cpp
StrAssembly.cpp
PowerStateMachineBase.cpp
DualLaneAssemblyBase.cpp
TcsBoardAssembly.cpp)

View File

@ -0,0 +1,30 @@
#include "StrAssembly.h"
#include <eive/objects.h>
StrAssembly::StrAssembly(object_id_t objectId) {
ModeListEntry entry;
entry.setObject(objects::STAR_TRACKER);
entry.setMode(MODE_OFF);
entry.setSubmode(SUBMODE_NONE);
commandTable.insert(entry);
}
ReturnValue_t StrAssembly::commandChildren(Mode_t mode, Submode_t submode) {
commandTable[0].setMode(mode);
commandTable[0].setSubmode(submode);
HybridIterator<ModeListEntry> iter(commandTable.begin(), commandTable.end());
executeTable(iter);
return returnvalue::OK;
}
ReturnValue_t StrAssembly::checkChildrenStateOn(Mode_t wantedMode, Submode_t wantedSubmode) {
if (childrenMap[objects::STAR_TRACKER].mode != wantedMode) {
return NOT_ENOUGH_CHILDREN_IN_CORRECT_STATE;
}
return returnvalue::OK;
}
ReturnValue_t StrAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
return returnvalue::OK;
}

View File

@ -0,0 +1,18 @@
#ifndef MISSION_SYSTEM_OBJECTS_STRASSEMBLY_H_
#define MISSION_SYSTEM_OBJECTS_STRASSEMBLY_H_
#include "fsfw/devicehandlers/AssemblyBase.h"
class StrAssembly : public AssemblyBase {
public:
StrAssembly(object_id_t objectId);
private:
FixedArrayList<ModeListEntry, 1> commandTable;
ReturnValue_t commandChildren(Mode_t mode, Submode_t submode) override;
ReturnValue_t checkChildrenStateOn(Mode_t wantedMode, Submode_t wantedSubmode) override;
ReturnValue_t isModeCombinationValid(Mode_t mode, Submode_t submode) override;
};
#endif /* MISSION_SYSTEM_OBJECTS_STRASSEMBLY_H_ */