#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_OPEN): { return "Flash file already open"; 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 ""; }