better PDEC FDIR

This commit is contained in:
2023-04-14 13:11:11 +02:00
parent a7c227f8ea
commit 4e686b4ad0
7 changed files with 146 additions and 83 deletions

View File

@ -8,6 +8,7 @@
#include <mission/com/defs.h>
#include <mission/controller/tcsDefs.h>
#include "linux/ipcore/pdec.h"
#include "mission/power/bpxBattDefs.h"
#include "mission/power/defs.h"
#include "mission/sysDefs.h"
@ -62,6 +63,11 @@ void EiveSystem::performChildOperation() {
performSafeRecovery = false;
return;
}
if (frameDirtyCheckCd.hasTimedOut()) {
if (frameDirtyErrorCounter >= 4) {
}
frameDirtyErrorCounter = 0;
}
i2cRecoveryLogic();
}
@ -105,8 +111,7 @@ ReturnValue_t EiveSystem::initialize() {
manager->subscribeToEvent(eventQueue->getId(),
event::getEventId(tcsCtrl::PCDU_SYSTEM_OVERHEATING));
manager->subscribeToEvent(eventQueue->getId(), event::getEventId(tcsCtrl::OBC_OVERHEATING));
// manager->subscribeToEvent(eventQueue->getId(), event::getEventId(CoreController::))
manager->subscribeToEvent(eventQueue->getId(), event::getEventId(pdec::INVALID_TC_FRAME));
return Subsystem::initialize();
}
@ -117,6 +122,12 @@ void EiveSystem::handleEventMessages() {
switch (event.getMessageId()) {
case EventMessage::EVENT_MESSAGE:
switch (event.getEvent()) {
case pdec::INVALID_TC_FRAME: {
if (event.getParameter1() == static_cast<uint32_t>(pdec::FrameAna_t::FRAME_DIRTY)) {
frameDirtyErrorCounter++;
}
break;
}
case tcsCtrl::OBC_OVERHEATING:
case tcsCtrl::PCDU_SYSTEM_OVERHEATING: {
if (isInTransition) {