proper post reset handling for PDEC reset
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:
@ -107,18 +107,7 @@ ReturnValue_t PdecHandler::firstLoop() {
|
||||
return result;
|
||||
}
|
||||
|
||||
// This configuration must be done while the PDEC is not held in reset.
|
||||
if (OP_MODE == Modes::IRQ) {
|
||||
// Configure interrupt mask register to enable interrupts
|
||||
*(registerBaseAddress + PDEC_IMR_OFFSET) = pdecConfig.getImrReg();
|
||||
}
|
||||
result = resetFarStatFlag();
|
||||
if (result != returnvalue::OK) {
|
||||
// Requires reconfiguration and reinitialization of PDEC
|
||||
triggerEvent(INVALID_FAR);
|
||||
return result;
|
||||
}
|
||||
return returnvalue::OK;
|
||||
return postResetOperation();
|
||||
}
|
||||
|
||||
ReturnValue_t PdecHandler::performOperation(uint8_t operationCode) {
|
||||
@ -785,6 +774,27 @@ void PdecHandler::pdecResetNoInit() {
|
||||
pdecToReset();
|
||||
usleep(20);
|
||||
releasePdec();
|
||||
ReturnValue_t result = postResetOperation();
|
||||
if (result != returnvalue::OK) {
|
||||
// What can we really do here? Event was already triggered if this is due to the FAR flag
|
||||
// not being reset.
|
||||
sif::error << "PdecHandler::pdecResetNoInit: Post reset operation failed unexpectedly"
|
||||
<< std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
ReturnValue_t PdecHandler::postResetOperation() {
|
||||
// This configuration must be done while the PDEC is not held in reset.
|
||||
if (OP_MODE == Modes::IRQ) {
|
||||
// Configure interrupt mask register to enable interrupts
|
||||
*(registerBaseAddress + PDEC_IMR_OFFSET) = pdecConfig.getImrReg();
|
||||
}
|
||||
ReturnValue_t result = resetFarStatFlag();
|
||||
if (result != returnvalue::OK) {
|
||||
// Requires reconfiguration and reinitialization of PDEC
|
||||
triggerEvent(INVALID_FAR);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
std::string PdecHandler::getMonStatusString(uint32_t status) {
|
||||
|
@ -365,6 +365,8 @@ class PdecHandler : public SystemObject,
|
||||
|
||||
void pdecResetNoInit();
|
||||
|
||||
ReturnValue_t postResetOperation();
|
||||
|
||||
void initFailedHandler(ReturnValue_t reason);
|
||||
|
||||
std::string getMonStatusString(uint32_t status);
|
||||
|
Reference in New Issue
Block a user