92 lines
2.4 KiB
C++
92 lines
2.4 KiB
C++
|
#include "plocMpsocHelpers.h"
|
||
|
|
||
|
uint16_t mpsoc::getStatusFromRawData(const uint8_t* data) {
|
||
|
return (*(data + STATUS_OFFSET) << 8) | *(data + STATUS_OFFSET + 1);
|
||
|
}
|
||
|
std::string mpsoc::getStatusString(uint16_t status) {
|
||
|
switch (status) {
|
||
|
case (mpsoc::status_code::UNKNOWN_APID): {
|
||
|
return "Unknown APID";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::INCORRECT_LENGTH): {
|
||
|
return "Incorrect length";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::INCORRECT_CRC): {
|
||
|
return "Incorrect crc";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::INCORRECT_PKT_SEQ_CNT): {
|
||
|
return "Incorrect packet sequence count";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::TC_NOT_ALLOWED_IN_MODE): {
|
||
|
return "TC not allowed in this mode";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::TC_EXEUTION_DISABLED): {
|
||
|
return "TC execution disabled";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_MOUNT_FAILED): {
|
||
|
return "Flash mount failed";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_FILE_ALREADY_CLOSED): {
|
||
|
return "Flash file already closed";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_FILE_OPEN_FAILED): {
|
||
|
return "Flash file open failed";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_FILE_NOT_OPEN): {
|
||
|
return "Flash file not open";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_UNMOUNT_FAILED): {
|
||
|
return "Flash unmount failed";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::HEAP_ALLOCATION_FAILED): {
|
||
|
return "Heap allocation failed";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::INVALID_PARAMETER): {
|
||
|
return "Invalid parameter";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::NOT_INITIALIZED): {
|
||
|
return "Not initialized";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::REBOOT_IMMINENT): {
|
||
|
return "Reboot imminent";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::CORRUPT_DATA): {
|
||
|
return "Corrupt data";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_CORRECTABLE_MISMATCH): {
|
||
|
return "Flash correctable mismatch";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::FLASH_UNCORRECTABLE_MISMATCH): {
|
||
|
return "Flash uncorrectable mismatch";
|
||
|
break;
|
||
|
}
|
||
|
case (mpsoc::status_code::DEFAULT_ERROR_CODE): {
|
||
|
return "Default error code";
|
||
|
break;
|
||
|
}
|
||
|
default:
|
||
|
std::stringstream ss;
|
||
|
ss << "0x" << std::hex << status;
|
||
|
return ss.str().c_str();
|
||
|
break;
|
||
|
}
|
||
|
return "";
|
||
|
}
|