better PDEC FDIR
This commit is contained in:
@ -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) {
|
||||
|
Reference in New Issue
Block a user