43 lines
1.7 KiB
C++
43 lines
1.7 KiB
C++
|
#include <mission/system/power/epsModeTree.h>
|
||
|
|
||
|
#include "eive/objects.h"
|
||
|
#include "fsfw/devicehandlers/DeviceHandlerIF.h"
|
||
|
#include "fsfw/subsystem/Subsystem.h"
|
||
|
#include "mission/system/treeUtil.h"
|
||
|
|
||
|
EpsSubsystem satsystem::eps::SUBSYSTEM(objects::EPS_SUBSYSTEM, 12, 24);
|
||
|
|
||
|
namespace {
|
||
|
// Alias for checker function
|
||
|
const auto check = subsystem::checkInsert;
|
||
|
void buildOffSequence(Subsystem& ss, ModeListEntry& eh);
|
||
|
void buildNormalSequence(Subsystem& ss, ModeListEntry& eh);
|
||
|
} // namespace
|
||
|
|
||
|
static const auto OFF = HasModesIF::MODE_OFF;
|
||
|
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
|
||
|
|
||
|
auto EPS_SEQUENCE_OFF = std::make_pair(OFF, FixedArrayList<ModeListEntry, 3>());
|
||
|
auto EPS_TABLE_OFF_TGT = std::make_pair((OFF << 24) | 1, FixedArrayList<ModeListEntry, 2>());
|
||
|
auto EPS_TABLE_OFF_TRANS_0 = std::make_pair((OFF << 24) | 2, FixedArrayList<ModeListEntry, 2>());
|
||
|
auto EPS_TABLE_OFF_TRANS_1 = std::make_pair((OFF << 24) | 3, FixedArrayList<ModeListEntry, 7>());
|
||
|
|
||
|
auto EPS_SEQUENCE_NORMAL = std::make_pair(NML, FixedArrayList<ModeListEntry, 3>());
|
||
|
auto EPS_TABLE_NORMAL_TGT = std::make_pair((NML << 24) | 1, FixedArrayList<ModeListEntry, 2>());
|
||
|
auto EPS_TABLE_NORMAL_TRANS_0 = std::make_pair((NML << 24) | 2, FixedArrayList<ModeListEntry, 7>());
|
||
|
auto EPS_TABLE_NORMAL_TRANS_1 = std::make_pair((NML << 24) | 3, FixedArrayList<ModeListEntry, 2>());
|
||
|
|
||
|
Subsystem& satsystem::eps::init() {
|
||
|
ModeListEntry entry;
|
||
|
buildOffSequence(SUBSYSTEM, entry);
|
||
|
buildNormalSequence(SUBSYSTEM, entry);
|
||
|
SUBSYSTEM.setInitialMode(OFF);
|
||
|
return SUBSYSTEM;
|
||
|
}
|
||
|
|
||
|
namespace {
|
||
|
|
||
|
void buildOffSequence(Subsystem& ss, ModeListEntry& eh) {}
|
||
|
|
||
|
void buildNormalSequence(Subsystem& ss, ModeListEntry& eh) {} // namespace
|