copy adc data to mram command

This commit is contained in:
Jakob.Meier 2021-07-28 11:08:40 +02:00
parent 14cd3e9eea
commit 3d39ddf85c
2 changed files with 17 additions and 2 deletions

View File

@ -170,6 +170,11 @@ ReturnValue_t PlocSupervisorHandler::buildCommandFromCommand(
prepareEmptyCmd(PLOC_SPV::APID_GET_LATCHUP_STATUS_REPORT); prepareEmptyCmd(PLOC_SPV::APID_GET_LATCHUP_STATUS_REPORT);
result = RETURN_OK; result = RETURN_OK;
break; break;
}
case(PLOC_SPV::COPY_ADC_DATA_TO_MRAM): {
prepareEmptyCmd(PLOC_SPV::APID_COPY_ADC_DATA_TO_MRAM);
result = RETURN_OK;
break;
} }
default: default:
sif::debug << "PlocSupervisorHandler::buildCommandFromCommand: Command not implemented" sif::debug << "PlocSupervisorHandler::buildCommandFromCommand: Command not implemented"
@ -213,6 +218,7 @@ void PlocSupervisorHandler::fillCommandAndReplyMap() {
this->insertInCommandMap(PLOC_SPV::SET_ADC_WINDOW_AND_STRIDE); this->insertInCommandMap(PLOC_SPV::SET_ADC_WINDOW_AND_STRIDE);
this->insertInCommandMap(PLOC_SPV::SET_ADC_THRESHOLD); this->insertInCommandMap(PLOC_SPV::SET_ADC_THRESHOLD);
this->insertInCommandMap(PLOC_SPV::GET_LATCHUP_STATUS_REPORT); this->insertInCommandMap(PLOC_SPV::GET_LATCHUP_STATUS_REPORT);
this->insertInCommandMap(PLOC_SPV::COPY_ADC_DATA_TO_MRAM);
this->insertInReplyMap(PLOC_SPV::ACK_REPORT, 3, nullptr, PLOC_SPV::SIZE_ACK_REPORT); this->insertInReplyMap(PLOC_SPV::ACK_REPORT, 3, nullptr, PLOC_SPV::SIZE_ACK_REPORT);
this->insertInReplyMap(PLOC_SPV::EXE_REPORT, 3, nullptr, PLOC_SPV::SIZE_EXE_REPORT); this->insertInReplyMap(PLOC_SPV::EXE_REPORT, 3, nullptr, PLOC_SPV::SIZE_EXE_REPORT);
this->insertInReplyMap(PLOC_SPV::HK_REPORT, 3, &hkset, PLOC_SPV::SIZE_HK_REPORT); this->insertInReplyMap(PLOC_SPV::HK_REPORT, 3, &hkset, PLOC_SPV::SIZE_HK_REPORT);
@ -246,6 +252,10 @@ ReturnValue_t PlocSupervisorHandler::scanForReply(const uint8_t *start,
*foundLen = PLOC_SPV::SIZE_BOOT_STATUS_REPORT; *foundLen = PLOC_SPV::SIZE_BOOT_STATUS_REPORT;
*foundId = PLOC_SPV::BOOT_STATUS_REPORT; *foundId = PLOC_SPV::BOOT_STATUS_REPORT;
break; break;
case(PLOC_SPV::APID_LATCHUP_STATUS_REPORT):
*foundLen = PLOC_SPV::SIZE_LATCHUP_STATUS_REPORT;
*foundId = PLOC_SPV::LATCHUP_REPORT;
break;
case(PLOC_SPV::APID_EXE_SUCCESS): case(PLOC_SPV::APID_EXE_SUCCESS):
*foundLen = PLOC_SPV::SIZE_EXE_REPORT; *foundLen = PLOC_SPV::SIZE_EXE_REPORT;
*foundId = PLOC_SPV::EXE_REPORT; *foundId = PLOC_SPV::EXE_REPORT;
@ -282,6 +292,10 @@ ReturnValue_t PlocSupervisorHandler::interpretDeviceReply(DeviceCommandId_t id,
result = handleBootStatusReport(packet); result = handleBootStatusReport(packet);
break; break;
} }
case (PLOC_SPV::LATCHUP_REPORT): {
result = handleLatchupStatusReport(packet);
break;
}
case (PLOC_SPV::EXE_REPORT): { case (PLOC_SPV::EXE_REPORT): {
result = handleExecutionReport(packet); result = handleExecutionReport(packet);
break; break;
@ -684,7 +698,7 @@ ReturnValue_t PlocSupervisorHandler::handleLatchupStatusReport(const uint8_t* da
ReturnValue_t result = RETURN_OK; ReturnValue_t result = RETURN_OK;
result = verifyPacket(data, PLOC_SPV::SIZE_BOOT_STATUS_REPORT); result = verifyPacket(data, PLOC_SPV::SIZE_LATCHUP_STATUS_REPORT);
if(result == CRC_FAILURE) { if(result == CRC_FAILURE) {
sif::error << "PlocSupervisorHandler::handleLatchupStatusReport: Latchup status report has " sif::error << "PlocSupervisorHandler::handleLatchupStatusReport: Latchup status report has "

View File

@ -49,6 +49,7 @@ static const DeviceCommandId_t READ_GPIO = 35;
static const DeviceCommandId_t RESTART_SUPERVISOR = 36; static const DeviceCommandId_t RESTART_SUPERVISOR = 36;
static const DeviceCommandId_t FACTORY_RESET = 37; static const DeviceCommandId_t FACTORY_RESET = 37;
static const DeviceCommandId_t REQUEST_LOGGING_DATA = 38; static const DeviceCommandId_t REQUEST_LOGGING_DATA = 38;
static const DeviceCommandId_t UPDATE_IMAGE_DATA = 39;
/** Reply IDs */ /** Reply IDs */
static const DeviceCommandId_t ACK_REPORT = 50; static const DeviceCommandId_t ACK_REPORT = 50;
@ -61,7 +62,7 @@ static const uint16_t SIZE_ACK_REPORT = 14;
static const uint16_t SIZE_EXE_REPORT = 14; static const uint16_t SIZE_EXE_REPORT = 14;
static const uint16_t SIZE_HK_REPORT = 48; static const uint16_t SIZE_HK_REPORT = 48;
static const uint16_t SIZE_BOOT_STATUS_REPORT = 22; static const uint16_t SIZE_BOOT_STATUS_REPORT = 22;
static const uint16_t SIZE_LATCHUP_STATUS_REPORT = 55; static const uint16_t SIZE_LATCHUP_STATUS_REPORT = 51;
/** /**
* SpacePacket apids of telemetry packets * SpacePacket apids of telemetry packets