diff --git a/linux/devices/ploc/PlocMPSoCHandler.cpp b/linux/devices/ploc/PlocMPSoCHandler.cpp index dc37390f..07a658bf 100644 --- a/linux/devices/ploc/PlocMPSoCHandler.cpp +++ b/linux/devices/ploc/PlocMPSoCHandler.cpp @@ -258,80 +258,6 @@ void PlocMPSoCHandler::fillCommandAndReplyMap() { this->insertInReplyMap(mpsoc::TM_CAM_CMD_RPT, 2, nullptr, SpacePacket::PACKET_MAX_SIZE); } -ReturnValue_t PlocMPSoCHandler::enableReplyInReplyMap(DeviceCommandMap::iterator command, - uint8_t expectedReplies, bool useAlternateId, - DeviceCommandId_t alternateReplyID) { - ReturnValue_t result = RETURN_OK; - - uint8_t enabledReplies = 0; - - switch (command->first) { - case mpsoc::TC_MEM_WRITE: - case mpsoc::TC_FLASHDELETE: - case mpsoc::TC_REPLAY_START: - case mpsoc::TC_REPLAY_STOP: - case mpsoc::TC_DOWNLINK_PWR_ON: - case mpsoc::TC_DOWNLINK_PWR_OFF: - case mpsoc::TC_REPLAY_WRITE_SEQUENCE: - case mpsoc::TC_MODE_REPLAY: - enabledReplies = 2; - break; - case mpsoc::TC_MEM_READ: { - enabledReplies = 3; - result = DeviceHandlerBase::enableReplyInReplyMap(command, enabledReplies, true, - mpsoc::TM_MEMORY_READ_REPORT); - if (result != RETURN_OK) { - sif::debug << "PlocMPSoCHandler::enableReplyInReplyMap: Reply with id " - << mpsoc::TM_MEMORY_READ_REPORT << " not in replyMap" << std::endl; - } - break; - } - case mpsoc::OBSW_RESET_SEQ_COUNT: - break; - default: - sif::debug << "PlocMPSoCHandler::enableReplyInReplyMap: Unknown command id" << std::endl; - break; - } - - /** - * Every command causes at least one acknowledgment and one execution report. Therefore both - * replies will be enabled here. - */ - result = - DeviceHandlerBase::enableReplyInReplyMap(command, enabledReplies, true, mpsoc::ACK_REPORT); - if (result != RETURN_OK) { - sif::debug << "PlocMPSoCHandler::enableReplyInReplyMap: Reply with id " << mpsoc::ACK_REPORT - << " not in replyMap" << std::endl; - } - - result = - DeviceHandlerBase::enableReplyInReplyMap(command, enabledReplies, true, mpsoc::EXE_REPORT); - if (result != RETURN_OK) { - sif::debug << "PlocMPSoCHandler::enableReplyInReplyMap: Reply with id " << mpsoc::EXE_REPORT - << " not in replyMap" << std::endl; - } - - switch (command->first) { - case mpsoc::TC_REPLAY_WRITE_SEQUENCE: { - DeviceReplyIter iter = deviceReplyMap.find(mpsoc::EXE_REPORT); - // Overwrite delay cycles because replay write sequence command can required up to - // 30 seconds for execution - iter->second.delayCycles = mpsoc::TC_WRITE_SEQ_EXECUTION_DELAY; - break; - } - case mpsoc::TC_DOWNLINK_PWR_ON: { - DeviceReplyIter iter = deviceReplyMap.find(mpsoc::EXE_REPORT); - // - iter->second.delayCycles = mpsoc::TC_DOWNLINK_PWR_ON; - break; - } - default: - break; - } - - return RETURN_OK; -} - ReturnValue_t PlocMPSoCHandler::scanForReply(const uint8_t* start, size_t remainingSize, DeviceCommandId_t* foundId, size_t* foundLen) { ReturnValue_t result = RETURN_OK; diff --git a/linux/devices/ploc/PlocMemoryDumper.cpp b/linux/devices/ploc/PlocMemoryDumper.cpp index a73a2606..871c69a8 100644 --- a/linux/devices/ploc/PlocMemoryDumper.cpp +++ b/linux/devices/ploc/PlocMemoryDumper.cpp @@ -168,12 +168,12 @@ void PlocMemoryDumper::commandNextMramDump(ActionId_t dumpCommand) { tempStartAddress = mram.startAddress; tempEndAddress = mram.startAddress + MAX_MRAM_DUMP_SIZE; mram.startAddress += MAX_MRAM_DUMP_SIZE; - mram.lastStartAddress = tempStartAddress; } else { tempStartAddress = mram.startAddress; tempEndAddress = mram.endAddress; mram.startAddress = mram.endAddress; } + mram.lastStartAddress = tempStartAddress; MemoryParams params(tempStartAddress, tempEndAddress); diff --git a/linux/devices/ploc/PlocSupervisorHandler.cpp b/linux/devices/ploc/PlocSupervisorHandler.cpp index 2de67b4e..d131b63b 100644 --- a/linux/devices/ploc/PlocSupervisorHandler.cpp +++ b/linux/devices/ploc/PlocSupervisorHandler.cpp @@ -1550,6 +1550,7 @@ ReturnValue_t PlocSupervisorHandler::parseMramPackets(const uint8_t* packet, siz *foundLen = remainingSize; disableAllReplies(); bufferTop = 0; + sif::info << "PlocSupervisorHandler::parseMramPackets: Can not find MRAM packet in space packet buffer" << std::endl; return SupvReturnValuesIF::MRAM_PACKET_PARSING_FAILURE; } } @@ -1634,6 +1635,7 @@ void PlocSupervisorHandler::increaseExpectedMramReplies(DeviceCommandId_t id) { ReturnValue_t PlocSupervisorHandler::checkMramPacketApid() { uint16_t apid = (spacePacketBuffer[0] << 8 | spacePacketBuffer[1]) & supv::APID_MASK; if (apid != supv::APID_MRAM_DUMP_TM) { + sif::warning << "PlocSupervisorHandler::checkMramPacketApid: 0x" << std::hex << apid << std::endl; return SupvReturnValuesIF::NO_MRAM_PACKET; } return APERIODIC_REPLY; diff --git a/tmtc b/tmtc index 0cb9dbef..ad53f3e9 160000 --- a/tmtc +++ b/tmtc @@ -1 +1 @@ -Subproject commit 0cb9dbefca140a184d899fb525ce0fcf3b0fcd2d +Subproject commit ad53f3e9bb526bf030905d24781af57ae6ac5b01