boot sequence EIVE sys
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
All checks were successful
EIVE/eive-obsw/pipeline/pr-develop This commit looks good
This commit is contained in:
parent
f8c9ddbc3c
commit
dcbf1502a2
@ -15,6 +15,7 @@
|
|||||||
#include "fsfw/tasks/TaskFactory.h"
|
#include "fsfw/tasks/TaskFactory.h"
|
||||||
#include "fsfw/version.h"
|
#include "fsfw/version.h"
|
||||||
#include "mission/acsDefs.h"
|
#include "mission/acsDefs.h"
|
||||||
|
#include "mission/comDefs.h"
|
||||||
#include "mission/system/tree/system.h"
|
#include "mission/system/tree/system.h"
|
||||||
#include "q7sConfig.h"
|
#include "q7sConfig.h"
|
||||||
#include "watchdog/definitions.h"
|
#include "watchdog/definitions.h"
|
||||||
@ -116,7 +117,22 @@ void obsw::commandEiveSystemToSafe() {
|
|||||||
ReturnValue_t result =
|
ReturnValue_t result =
|
||||||
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
|
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
sif::error << "Sending safe mode command to EIVE system failed" << std::endl;
|
sif::error << "obsw: Sending safe mode command to EIVE system failed" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void obsw::commandComSubsystemRxOnly() {
|
||||||
|
auto* comSs = ObjectManager::instance()->get<HasModesIF>(objects::COM_SUBSYSTEM);
|
||||||
|
if (comSs == nullptr) {
|
||||||
|
sif::error << "obsw: Could not retrieve COM subsystem object" << std::endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
CommandMessage msg;
|
||||||
|
ModeMessage::setCmdModeMessage(msg, com::RX_ONLY, 0);
|
||||||
|
ReturnValue_t result = MessageQueueSenderIF::sendMessage(comSs->getCommandQueue(), &msg,
|
||||||
|
MessageQueueIF::NO_QUEUE, false);
|
||||||
|
if (result != returnvalue::OK) {
|
||||||
|
sif::error << "obsw: Sending RX_ONLY mode command to COM subsystem failed" << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,6 +143,6 @@ void obsw::announceAllModes() {
|
|||||||
ReturnValue_t result =
|
ReturnValue_t result =
|
||||||
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
|
MessageQueueSenderIF::sendMessage(sysQueueId, &msg, MessageQueueIF::NO_QUEUE, false);
|
||||||
if (result != returnvalue::OK) {
|
if (result != returnvalue::OK) {
|
||||||
sif::error << "Sending safe mode command to EIVE system failed" << std::endl;
|
sif::error << "obsw: Sending safe mode command to EIVE system failed" << std::endl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ int obsw(int argc, char* argv[]);
|
|||||||
|
|
||||||
void bootDelayHandling();
|
void bootDelayHandling();
|
||||||
void commandEiveSystemToSafe();
|
void commandEiveSystemToSafe();
|
||||||
|
void commandComSubsystemRxOnly();
|
||||||
void announceAllModes();
|
void announceAllModes();
|
||||||
|
|
||||||
}; // namespace obsw
|
}; // namespace obsw
|
||||||
|
@ -98,7 +98,6 @@ void buildSafeSequence(Subsystem& ss, ModeListEntry& eh) {
|
|||||||
|
|
||||||
// Build SAFE transition 0.
|
// Build SAFE transition 0.
|
||||||
iht(objects::TCS_SUBSYSTEM, NML, 0, EIVE_TABLE_SAFE_TRANS_0.second);
|
iht(objects::TCS_SUBSYSTEM, NML, 0, EIVE_TABLE_SAFE_TRANS_0.second);
|
||||||
iht(objects::COM_SUBSYSTEM, com::RX_ONLY, 0, EIVE_TABLE_SAFE_TRANS_0.second);
|
|
||||||
iht(objects::PL_SUBSYSTEM, OFF, 0, EIVE_TABLE_SAFE_TRANS_0.second);
|
iht(objects::PL_SUBSYSTEM, OFF, 0, EIVE_TABLE_SAFE_TRANS_0.second);
|
||||||
iht(objects::ACS_SUBSYSTEM, acs::AcsMode::SAFE, 0, EIVE_TABLE_SAFE_TRANS_0.second, true);
|
iht(objects::ACS_SUBSYSTEM, acs::AcsMode::SAFE, 0, EIVE_TABLE_SAFE_TRANS_0.second, true);
|
||||||
check(ss.addTable(TableEntry(EIVE_TABLE_SAFE_TRANS_0.first, &EIVE_TABLE_SAFE_TRANS_0.second)),
|
check(ss.addTable(TableEntry(EIVE_TABLE_SAFE_TRANS_0.first, &EIVE_TABLE_SAFE_TRANS_0.second)),
|
||||||
@ -192,4 +191,5 @@ void buildBootSequence(Subsystem& ss, ModeListEntry& eh) {
|
|||||||
check(ss.addSequence(SequenceEntry(EIVE_SEQUENCE_BOOT.first, &EIVE_SEQUENCE_BOOT.second,
|
check(ss.addSequence(SequenceEntry(EIVE_SEQUENCE_BOOT.first, &EIVE_SEQUENCE_BOOT.second,
|
||||||
EIVE_SEQUENCE_SAFE.first)),
|
EIVE_SEQUENCE_SAFE.first)),
|
||||||
ctxc);
|
ctxc);
|
||||||
|
}
|
||||||
} // namespace
|
} // namespace
|
||||||
|
Loading…
Reference in New Issue
Block a user