trigger special reboot events

This commit is contained in:
2023-04-14 20:04:51 +02:00
parent 7f1fe3a2d8
commit aa800c4524
2 changed files with 5 additions and 1 deletions

View File

@ -4,6 +4,7 @@
#include <fsfw/events/EventManager.h>
#include <fsfw/ipc/QueueFactory.h>
#include <fsfw/power/PowerSwitchIF.h>
#include <fsfw/tasks/TaskFactory.h>
#include <mission/acs/defs.h>
#include <mission/com/defs.h>
#include <mission/controller/tcsDefs.h>
@ -64,7 +65,6 @@ void EiveSystem::performChildOperation() {
return;
}
pdecRecoveryLogic();
i2cRecoveryLogic();
}
@ -189,6 +189,7 @@ void EiveSystem::i2cRecoveryLogic() {
// Try recovery.
executeAction(EXECUTE_I2C_REBOOT, MessageQueueIF::NO_QUEUE, nullptr, 0);
} else {
triggerEvent(core::I2C_REBOOT);
// We already tried an I2C recovery but the bus is still broken.
// Send full reboot request to core controller.
sendFullRebootCommand();
@ -286,6 +287,7 @@ void EiveSystem::pdecRecoveryLogic() {
// If a PTME reset was already attempted and there is still an issue receiving TC frames,
// reboot the system.
if (ptmeResetWasAttempted) {
triggerEvent(core::PDEC_REBOOT);
// Send reboot command.
sendFullRebootCommand();
} else {