improved acknowledgment and execution handling in supervisor handler
This commit is contained in:
@ -1425,6 +1425,8 @@ class ExecutionReport : public VerificationReport {
|
||||
}
|
||||
|
||||
private:
|
||||
static constexpr char STATUS_PRINTOUT_PREFIX[] = "Supervisor execution failure report status: ";
|
||||
|
||||
enum class StatusCode : uint16_t {
|
||||
OK = 0x0,
|
||||
INIT_ERROR = 0x1,
|
||||
@ -1478,191 +1480,191 @@ class ExecutionReport : public VerificationReport {
|
||||
StatusCode statusCode = static_cast<StatusCode>(getStatusCode());
|
||||
switch (statusCode) {
|
||||
case StatusCode::OK: {
|
||||
sif::warning << "Supervisor execution report status: Ok" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Ok" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::INIT_ERROR: {
|
||||
sif::warning << "Supervisor execution report status: Init error" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Init error" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::BAD_PARAM: {
|
||||
sif::warning << "Supervisor execution report status: Bad param" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Bad param" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::NOT_INITIALIZED: {
|
||||
sif::warning << "Supervisor execution report status: Not initialized" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Not initialized" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::BAD_PERIPH_ID: {
|
||||
sif::warning << "Supervisor execution report status: Bad periph ID" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Bad periph ID" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::TIMEOUT: {
|
||||
sif::warning << "Supervisor execution report status: Timeout" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Timeout" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::RX_ERROR: {
|
||||
sif::warning << "Supervisor execution report status: RX error" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "RX error" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::TX_ERROR: {
|
||||
sif::warning << "Supervisor execution report status: TX error" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "TX error" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::BUF_EMPTY: {
|
||||
sif::warning << "Supervisor execution report status: Buf empty" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Buf empty" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::BUF_FULL: {
|
||||
sif::warning << "Supervisor execution report status: Buf full" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Buf full" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::NAK: {
|
||||
sif::warning << "Supervisor execution report status: Nak, default error code" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Nak, default error code" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::ARB_LOST: {
|
||||
sif::warning << "Supervisor execution report status: Arb lost" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Arb lost" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::BUSY: {
|
||||
sif::warning << "Supervisor execution report status: Busy" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Busy" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::NOT_IMPLEMENTED: {
|
||||
sif::warning << "Supervisor execution report status: Not implemented" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Not implemented" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::ALIGNEMENT_ERROR: {
|
||||
sif::warning << "Supervisor execution report status: Alignment error" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Alignment error" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PERIPH_ERR: {
|
||||
sif::warning << "Supervisor execution report status: Periph error" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Periph error" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::FAILED_LATCH: {
|
||||
sif::warning << "Supervisor execution report status: Failed latch" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Failed latch" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::GPIO_HIGH: {
|
||||
sif::warning << "Supervisor execution report status: GPIO high" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "GPIO high" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::GPIO_LOW: {
|
||||
sif::warning << "Supervisor execution report status: GPIO low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "GPIO low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::TEST_PASSED: {
|
||||
sif::warning << "Supervisor execution report status: Test passed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Test passed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::TEST_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: Test failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Test failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::NOTHING_TODO: {
|
||||
sif::warning
|
||||
<< "Supervisor execution report status: Nothing todo, not an error but a warning"
|
||||
<< STATUS_PRINTOUT_PREFIX << "Nothing todo, not an error but a warning"
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::POWER_FAULT: {
|
||||
sif::warning << "Supervisor execution report status: Power fault" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Power fault" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::INVALID_LENGTH: {
|
||||
sif::warning << "Supervisor execution report status: Invalid length" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Invalid length" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::OUT_OF_RANGE: {
|
||||
sif::warning
|
||||
<< "Supervisor execution report status: Out of range, lenght check of parameter failed"
|
||||
<< STATUS_PRINTOUT_PREFIX << "Out of range, lenght check of parameter failed"
|
||||
<< std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::OUT_OF_HEAP_MEMORY: {
|
||||
sif::warning << "Supervisor execution report status: Out of heap memory" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Out of heap memory" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::INVALID_STATE_TRANSITION: {
|
||||
sif::warning << "Supervisor execution report status: Invalid state transition" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Invalid state transition" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::MPSOC_BOOT_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: MPSoC boot failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "MPSoC boot failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::SP_NOT_AVAILABLE: {
|
||||
sif::warning << "Supervisor execution report status: SP not available" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "SP not available" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::SP_DATA_INSUFFICIENT: {
|
||||
sif::warning << "Supervisor execution report status: SP data insufficient" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "SP data insufficient" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::SP_MEMORY_ID_INVALID: {
|
||||
sif::warning << "Supervisor execution report status: SP data insufficient" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "SP data insufficient" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::MPSOC_NOT_IN_RESET: {
|
||||
sif::warning << "Supervisor execution report status: MPSoC not in reset" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "MPSoC not in reset" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::FLASH_INIT_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: Flash init failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Flash init failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::FLASH_ERASE_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: Flash erase failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Flash erase failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::FLASH_WRITE_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: Flash write failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Flash write failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::FLASH_VERIFY_FAILED: {
|
||||
sif::warning << "Supervisor execution report status: Flash verify failed" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Flash verify failed" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::CANNOT_ACCESS_TM: {
|
||||
sif::warning << "Supervisor execution report status: Can not access tm" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Can not access tm" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::CANNOT_SEND_TM: {
|
||||
sif::warning << "Supervisor execution report status: Can not access tm" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "Can not access tm" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_5V_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG 5V low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG 5V low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_0V85_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG 0V85 low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG 0V85 low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_1V8_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG 1V8 low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG 1V8 low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_MISC_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG misc low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG misc low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_3V3_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG 3V3 low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG 3V3 low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_MB_VAIO_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG mb vaio low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG mb vaio low" << std::endl;
|
||||
break;
|
||||
}
|
||||
case StatusCode::PG_MB_MPSOCIO_LOW: {
|
||||
sif::warning << "Supervisor execution report status: PG mb mpsocio low" << std::endl;
|
||||
sif::warning << STATUS_PRINTOUT_PREFIX << "PG mb mpsocio low" << std::endl;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
Reference in New Issue
Block a user