WIP: COM Subsystem #356
@@ -33,7 +33,7 @@ void satsystem::com::init() {
|
|||||||
Subsystem* comSubsystem = new Subsystem(objects::COM_SUBSYSTEM, objects::EIVE_SYSTEM, 12, 24);
|
Subsystem* comSubsystem = new Subsystem(objects::COM_SUBSYSTEM, objects::EIVE_SYSTEM, 12, 24);
|
||||||
buildTxOffSequence(comSubsystem, entry);
|
buildTxOffSequence(comSubsystem, entry);
|
||||||
buildTxOnSequence(comSubsystem, entry);
|
buildTxOnSequence(comSubsystem, entry);
|
||||||
comSubsystem->setInitialMode(NML, com::Submodes::NONE);
|
comSubsystem->setInitialMode(NML, ::com::Submodes::NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
@@ -60,9 +60,17 @@ void buildTxOffSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
// Build TX OFF table
|
// Build TX OFF table
|
||||||
iht(objects::SYRLINKS_HK_HANDLER, NML, com::NONE, COM_TABLE_TX_OFF_TGT.second);
|
iht(objects::SYRLINKS_HK_HANDLER, NML, com::NONE, COM_TABLE_TX_OFF_TGT.second);
|
||||||
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_OFF.first, &COM_TABLE_TX_OFF_TGT.second)), ctxc);
|
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_OFF.first, &COM_TABLE_TX_OFF_TGT.second)), ctxc);
|
||||||
|
|
||||||
// Build TX OFF transition
|
// Build TX OFF transition
|
||||||
iht(objects::SYRLINKS_HK_HANDLER, NML, com::NONE, COM_TABLE_TX_OFF_TRANS.second);
|
iht(objects::SYRLINKS_HK_HANDLER, NML, com::NONE, COM_TABLE_TX_OFF_TRANS.second);
|
||||||
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_OFF.first, &COM_TABLE_TX_OFF_TRANS.second)), ctxc);
|
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_OFF.first, &COM_TABLE_TX_OFF_TRANS.second)), ctxc);
|
||||||
|
|
||||||
|
// Build TX OFF sequence
|
||||||
|
ihs(COM_SEQUENCE_TX_OFF.second, COM_TABLE_TX_OFF_TGT.first, 0, false);
|
||||||
|
ihs(COM_SEQUENCE_TX_OFF.second, COM_TABLE_TX_OFF_TRANS.first, 0, false);
|
||||||
|
check(ss->addSequence(SequenceEntry(COM_TABLE_TX_OFF_TRANS.first, &COM_TABLE_TX_OFF_TRANS.second,
|
||||||
|
COM_TABLE_TX_OFF_TRANS.first)),
|
||||||
|
ctxc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void buildTxOnSequence(Subsystem* ss, ModeListEntry& eh) {
|
void buildTxOnSequence(Subsystem* ss, ModeListEntry& eh) {
|
||||||
@@ -83,6 +91,21 @@ void buildTxOnSequence(Subsystem* ss, ModeListEntry& eh) {
|
|||||||
eh.setCheckSuccess(checkSuccess);
|
eh.setCheckSuccess(checkSuccess);
|
||||||
check(sequence.insert(eh), ctxc);
|
check(sequence.insert(eh), ctxc);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Build TX ON table
|
||||||
|
iht(objects::SYRLINKS_HK_HANDLER, NML, com::TX_ON, COM_TABLE_TX_ON_TGT.second);
|
||||||
|
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_ON.first, &COM_TABLE_TX_ON_TGT.second)), ctxc);
|
||||||
|
|
||||||
|
// Build TX ON transition
|
||||||
|
iht(objects::SYRLINKS_HK_HANDLER, NML, com::NONE, COM_TABLE_TX_ON_TRANS.second);
|
||||||
|
check(ss->addTable(TableEntry(COM_SEQUENCE_TX_ON.first, &COM_TABLE_TX_ON_TRANS.second)), ctxc);
|
||||||
|
|
||||||
|
// Build TX ON sequence
|
||||||
|
ihs(COM_SEQUENCE_TX_ON.second, COM_TABLE_TX_ON_TGT.first, 0, false);
|
||||||
|
ihs(COM_SEQUENCE_TX_ON.second, COM_TABLE_TX_ON_TRANS.first, 0, false);
|
||||||
|
check(ss->addSequence(SequenceEntry(COM_TABLE_TX_ON_TRANS.first, &COM_TABLE_TX_ON_TRANS.second,
|
||||||
|
COM_TABLE_TX_ON_TRANS.first)),
|
||||||
|
ctxc);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
2
tmtc
2
tmtc
Submodule tmtc updated: 76da8042a4...168b662288
Reference in New Issue
Block a user