This commit is contained in:
parent
4c0bf18268
commit
f90120191f
2
fsfw
2
fsfw
@ -1 +1 @@
|
|||||||
Subproject commit 0e8f5ddd26d586dd40e69f52aef1a63c0d5a9da6
|
Subproject commit 530a261e142ae4ab2c7726303e4d571d03200e47
|
@ -25,31 +25,31 @@ static const auto OFF = HasModesIF::MODE_OFF;
|
|||||||
static const auto ON = HasModesIF::MODE_ON;
|
static const auto ON = HasModesIF::MODE_ON;
|
||||||
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
|
static const auto NML = DeviceHandlerIF::MODE_NORMAL;
|
||||||
|
|
||||||
auto PL_SEQUENCE_OFF = std::make_pair(OFF << 24, FixedArrayList<ModeListEntry, 2>());
|
auto PL_SEQUENCE_OFF = std::make_pair(OFF << 24, FixedArrayList<ModeListEntry, 3>());
|
||||||
auto PL_TABLE_OFF_TGT = std::make_pair((OFF << 24) | 1, FixedArrayList<ModeListEntry, 0>());
|
auto PL_TABLE_OFF_TGT = std::make_pair((OFF << 24) | 1, FixedArrayList<ModeListEntry, 0>());
|
||||||
auto PL_TABLE_OFF_TRANS_0 = std::make_pair((OFF << 24) | 2, FixedArrayList<ModeListEntry, 5>());
|
auto PL_TABLE_OFF_TRANS_0 = std::make_pair((OFF << 24) | 2, FixedArrayList<ModeListEntry, 5>());
|
||||||
auto PL_TABLE_OFF_TRANS_1 = std::make_pair((OFF << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
auto PL_TABLE_OFF_TRANS_1 = std::make_pair((OFF << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
||||||
|
|
||||||
auto PL_SEQUENCE_MPSOC_STREAM =
|
auto PL_SEQUENCE_MPSOC_STREAM =
|
||||||
std::make_pair(payload::Modes::MPSOC_STREAM << 24, FixedArrayList<ModeListEntry, 2>());
|
std::make_pair(payload::Modes::MPSOC_STREAM << 24, FixedArrayList<ModeListEntry, 3>());
|
||||||
auto PL_TABLE_MPSOC_STREAM_TGT =
|
auto PL_TABLE_MPSOC_STREAM_TGT =
|
||||||
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 1, FixedArrayList<ModeListEntry, 4>());
|
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 1, FixedArrayList<ModeListEntry, 5>());
|
||||||
auto PL_TABLE_MPSOC_STREAM_TRANS_0 =
|
auto PL_TABLE_MPSOC_STREAM_TRANS_0 =
|
||||||
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 2, FixedArrayList<ModeListEntry, 3>());
|
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 2, FixedArrayList<ModeListEntry, 4>());
|
||||||
auto PL_TABLE_MPSOC_STREAM_TRANS_1 =
|
auto PL_TABLE_MPSOC_STREAM_TRANS_1 =
|
||||||
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair((payload::Modes::MPSOC_STREAM << 24) | 3, FixedArrayList<ModeListEntry, 2>());
|
||||||
|
|
||||||
auto PL_SEQUENCE_CAM_STREAM =
|
auto PL_SEQUENCE_CAM_STREAM =
|
||||||
std::make_pair(payload::Modes::CAM_STREAM << 24, FixedArrayList<ModeListEntry, 2>());
|
std::make_pair(payload::Modes::CAM_STREAM << 24, FixedArrayList<ModeListEntry, 3>());
|
||||||
auto PL_TABLE_CAM_STREAM_TGT =
|
auto PL_TABLE_CAM_STREAM_TGT =
|
||||||
std::make_pair((payload::Modes::CAM_STREAM << 24) | 1, FixedArrayList<ModeListEntry, 2>());
|
std::make_pair((payload::Modes::CAM_STREAM << 24) | 1, FixedArrayList<ModeListEntry, 2>());
|
||||||
auto PL_TABLE_CAM_STREAM_TRANS_0 =
|
auto PL_TABLE_CAM_STREAM_TRANS_0 =
|
||||||
std::make_pair((payload::Modes::CAM_STREAM << 24) | 2, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair((payload::Modes::CAM_STREAM << 24) | 2, FixedArrayList<ModeListEntry, 4>());
|
||||||
auto PL_TABLE_CAM_STREAM_TRANS_1 =
|
auto PL_TABLE_CAM_STREAM_TRANS_1 =
|
||||||
std::make_pair((payload::Modes::CAM_STREAM << 24) | 3, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair((payload::Modes::CAM_STREAM << 24) | 3, FixedArrayList<ModeListEntry, 2>());
|
||||||
|
|
||||||
auto PL_SEQUENCE_SUPV_ONLY =
|
auto PL_SEQUENCE_SUPV_ONLY =
|
||||||
std::make_pair(payload::Modes::SUPV_ONLY << 24, FixedArrayList<ModeListEntry, 2>());
|
std::make_pair(payload::Modes::SUPV_ONLY << 24, FixedArrayList<ModeListEntry, 3>());
|
||||||
auto PL_TABLE_SUPV_ONLY_TGT =
|
auto PL_TABLE_SUPV_ONLY_TGT =
|
||||||
std::make_pair((payload::Modes::SUPV_ONLY << 24) | 1, FixedArrayList<ModeListEntry, 5>());
|
std::make_pair((payload::Modes::SUPV_ONLY << 24) | 1, FixedArrayList<ModeListEntry, 5>());
|
||||||
auto PL_TABLE_SUPV_ONLY_TRANS_0 =
|
auto PL_TABLE_SUPV_ONLY_TRANS_0 =
|
||||||
@ -67,7 +67,7 @@ auto PL_TABLE_EARTH_OBSV_TRANS_1 =
|
|||||||
std::make_pair((payload::Modes::EARTH_OBSV << 24) | 3, FixedArrayList<ModeListEntry, 2>());
|
std::make_pair((payload::Modes::EARTH_OBSV << 24) | 3, FixedArrayList<ModeListEntry, 2>());
|
||||||
|
|
||||||
auto PL_SEQUENCE_SCEX =
|
auto PL_SEQUENCE_SCEX =
|
||||||
std::make_pair(payload::Modes::SCEX << 24, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair(payload::Modes::SCEX << 24, FixedArrayList<ModeListEntry, 2>());
|
||||||
auto PL_TABLE_SCEX_TGT =
|
auto PL_TABLE_SCEX_TGT =
|
||||||
std::make_pair((payload::Modes::SCEX << 24) | 1, FixedArrayList<ModeListEntry, 1>());
|
std::make_pair((payload::Modes::SCEX << 24) | 1, FixedArrayList<ModeListEntry, 1>());
|
||||||
auto PL_TABLE_SCEX_TRANS_0 =
|
auto PL_TABLE_SCEX_TRANS_0 =
|
||||||
@ -165,13 +165,13 @@ void initPlMpsocStreamSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
// Build MPSoC stream transition 0
|
// Build MPSoC stream transition 0
|
||||||
iht(objects::CAM_SWITCHER, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
iht(objects::CAM_SWITCHER, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
||||||
iht(objects::SCEX, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
iht(objects::SCEX, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
||||||
iht(objects::PLOC_SUPERVISOR_HANDLER, NML, 0, PL_TABLE_MPSOC_STREAM_TGT.second);
|
iht(objects::PLOC_SUPERVISOR_HANDLER, NML, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
||||||
check(ss->addTable(
|
check(ss->addTable(
|
||||||
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_0.first, &PL_TABLE_MPSOC_STREAM_TRANS_0.second)),
|
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_0.first, &PL_TABLE_MPSOC_STREAM_TRANS_0.second)),
|
||||||
ctxc);
|
ctxc);
|
||||||
|
|
||||||
// Build MPSoC stream transition 1
|
// Build MPSoC stream transition 1
|
||||||
iht(objects::PLOC_MPSOC_HANDLER, NML, 0, PL_TABLE_MPSOC_STREAM_TGT.second);
|
iht(objects::PLOC_MPSOC_HANDLER, NML, 0, PL_TABLE_MPSOC_STREAM_TRANS_1.second);
|
||||||
check(ss->addTable(
|
check(ss->addTable(
|
||||||
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_1.first, &PL_TABLE_MPSOC_STREAM_TRANS_1.second)),
|
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_1.first, &PL_TABLE_MPSOC_STREAM_TRANS_1.second)),
|
||||||
ctxc);
|
ctxc);
|
||||||
@ -186,7 +186,7 @@ void initPlMpsocStreamSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void initPlCamStreamSequence(Subsystem* ss, ModeListEntry& eh) {
|
void initPlCamStreamSequence(Subsystem* ss, ModeListEntry& eh) {
|
||||||
std::string context = "satsystem::payload::initPlCamSequence";
|
std::string context = "satsystem::payload::initPlCamStreamSequence";
|
||||||
auto ctxc = context.c_str();
|
auto ctxc = context.c_str();
|
||||||
// Insert Helper Table
|
// Insert Helper Table
|
||||||
auto iht = [&](object_id_t obj, Mode_t mode, Submode_t submode,
|
auto iht = [&](object_id_t obj, Mode_t mode, Submode_t submode,
|
||||||
@ -214,17 +214,17 @@ void initPlCamStreamSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
|
|
||||||
// Build CAM transition 0
|
// Build CAM transition 0
|
||||||
// PLOC is actively commanded off here
|
// PLOC is actively commanded off here
|
||||||
iht(objects::PLOC_MPSOC_HANDLER, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
iht(objects::PLOC_MPSOC_HANDLER, OFF, 0, PL_TABLE_CAM_STREAM_TRANS_0.second);
|
||||||
iht(objects::CAM_SWITCHER, ON, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
iht(objects::CAM_SWITCHER, ON, 0, PL_TABLE_CAM_STREAM_TRANS_0.second);
|
||||||
iht(objects::SCEX, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_0.second);
|
iht(objects::SCEX, OFF, 0, PL_TABLE_CAM_STREAM_TRANS_0.second);
|
||||||
check(ss->addTable(
|
check(ss->addTable(
|
||||||
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_0.first, &PL_TABLE_MPSOC_STREAM_TRANS_0.second)),
|
TableEntry(PL_TABLE_CAM_STREAM_TRANS_0.first, &PL_TABLE_CAM_STREAM_TRANS_0.second)),
|
||||||
ctxc);
|
ctxc);
|
||||||
|
|
||||||
// Build CAM transition 1
|
// Build CAM transition 1
|
||||||
iht(objects::PLOC_SUPERVISOR_HANDLER, OFF, 0, PL_TABLE_MPSOC_STREAM_TRANS_1.second);
|
iht(objects::PLOC_SUPERVISOR_HANDLER, OFF, 0, PL_TABLE_CAM_STREAM_TRANS_1.second);
|
||||||
check(ss->addTable(
|
check(ss->addTable(
|
||||||
TableEntry(PL_TABLE_MPSOC_STREAM_TRANS_1.first, &PL_TABLE_MPSOC_STREAM_TRANS_1.second)),
|
TableEntry(PL_TABLE_CAM_STREAM_TRANS_1.first, &PL_TABLE_CAM_STREAM_TRANS_1.second)),
|
||||||
ctxc);
|
ctxc);
|
||||||
|
|
||||||
// Build CAM stream sequence
|
// Build CAM stream sequence
|
||||||
@ -270,6 +270,9 @@ void initPlSpvSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
|
|
||||||
// Build Payload Supervisor Only transition 1
|
// Build Payload Supervisor Only transition 1
|
||||||
iht(objects::PLOC_MPSOC_HANDLER, OFF, 0, PL_TABLE_SUPV_ONLY_TRANS_1.second);
|
iht(objects::PLOC_MPSOC_HANDLER, OFF, 0, PL_TABLE_SUPV_ONLY_TRANS_1.second);
|
||||||
|
check(ss->addTable(
|
||||||
|
TableEntry(PL_TABLE_SUPV_ONLY_TRANS_1.first, &PL_TABLE_SUPV_ONLY_TRANS_1.second)),
|
||||||
|
ctxc);
|
||||||
|
|
||||||
// Build Payload Supervisor Only Sequence
|
// Build Payload Supervisor Only Sequence
|
||||||
ihs(PL_SEQUENCE_SUPV_ONLY.second, PL_TABLE_SUPV_ONLY_TGT.first, 0, true);
|
ihs(PL_SEQUENCE_SUPV_ONLY.second, PL_TABLE_SUPV_ONLY_TGT.first, 0, true);
|
||||||
|
@ -6,10 +6,12 @@
|
|||||||
void subsystem::checkInsert(ReturnValue_t result, const char* ctx) {
|
void subsystem::checkInsert(ReturnValue_t result, const char* ctx) {
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
sif::warning << "satsystem::checkInsert: Insertion failed at " << ctx;
|
sif::warning << "satsystem::checkInsert: Insertion failed at " << ctx;
|
||||||
if (result == mapdefs::KEY_ALREADY_EXISTS) {
|
if (result == containers::KEY_ALREADY_EXISTS) {
|
||||||
sif::warning << ": Key already exists" << std::endl;
|
sif::warning << ": Key already exists" << std::endl;
|
||||||
} else if (result == mapdefs::MAP_FULL) {
|
} else if (result == containers::MAP_FULL) {
|
||||||
sif::warning << ": Map full" << std::endl;
|
sif::warning << ": Map full" << std::endl;
|
||||||
|
} else if (result == containers::LIST_FULL) {
|
||||||
|
sif::warning << ": List full" << std::endl;
|
||||||
} else {
|
} else {
|
||||||
sif::warning << std::endl;
|
sif::warning << std::endl;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user