kenning west alder

This commit is contained in:
2023-05-16 13:34:06 +02:00
parent 468fa01650
commit 4ba9ebf58f
4 changed files with 65 additions and 122 deletions

View File

@ -562,11 +562,11 @@ ReturnValue_t PlocMpsocHandler::prepareTcMemWrite(const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcMemWrite tcMemWrite(spParams, sequenceCount);
result = tcMemWrite.buildPacket(commandData, commandDataLen);
result = tcMemWrite.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcMemWrite.getFullPacketLen());
finishTcPrep(tcMemWrite);
return returnvalue::OK;
}
@ -574,11 +574,11 @@ ReturnValue_t PlocMpsocHandler::prepareTcMemRead(const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcMemRead tcMemRead(spParams, sequenceCount);
result = tcMemRead.buildPacket(commandData, commandDataLen);
result = tcMemRead.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcMemRead.getFullPacketLen());
finishTcPrep(tcMemRead);
tmMemReadReport.rememberRequestedSize = tcMemRead.getMemLen() * 4 + TmMemReadReport::FIX_SIZE;
return returnvalue::OK;
}
@ -590,12 +590,12 @@ ReturnValue_t PlocMpsocHandler::prepareTcFlashDelete(const uint8_t* commandData,
}
ReturnValue_t result = returnvalue::OK;
mpsoc::TcFlashDelete tcFlashDelete(spParams, sequenceCount);
result = tcFlashDelete.buildPacket(
std::string(reinterpret_cast<const char*>(commandData), commandDataLen));
std::string filename = std::string(reinterpret_cast<const char*>(commandData), commandDataLen);
result = tcFlashDelete.setPayload(filename);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcFlashDelete.getFullPacketLen());
finishTcPrep(tcFlashDelete);
return returnvalue::OK;
}
@ -603,22 +603,17 @@ ReturnValue_t PlocMpsocHandler::prepareTcReplayStart(const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcReplayStart tcReplayStart(spParams, sequenceCount);
result = tcReplayStart.buildPacket(commandData, commandDataLen);
result = tcReplayStart.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcReplayStart.getFullPacketLen());
finishTcPrep(tcReplayStart);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcReplayStop() {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcReplayStop tcReplayStop(spParams, sequenceCount);
result = tcReplayStop.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcReplayStop.getFullPacketLen());
finishTcPrep(tcReplayStop);
return returnvalue::OK;
}
@ -626,78 +621,49 @@ ReturnValue_t PlocMpsocHandler::prepareTcDownlinkPwrOn(const uint8_t* commandDat
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcDownlinkPwrOn tcDownlinkPwrOn(spParams, sequenceCount);
result = tcDownlinkPwrOn.buildPacket(commandData, commandDataLen);
result = tcDownlinkPwrOn.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcDownlinkPwrOn.getFullPacketLen());
finishTcPrep(tcDownlinkPwrOn);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcDownlinkPwrOff() {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcDownlinkPwrOff tcDownlinkPwrOff(spParams, sequenceCount);
result = tcDownlinkPwrOff.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcDownlinkPwrOff.getFullPacketLen());
finishTcPrep(tcDownlinkPwrOff);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcGetHkReport() {
mpsoc::TcGetHkReport tcGetHkReport(spParams, sequenceCount);
ReturnValue_t result = tcGetHkReport.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcGetHkReport.getFullPacketLen());
finishTcPrep(tcGetHkReport);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcReplayWriteSequence(const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcReplayWriteSeq tcReplayWriteSeq(spParams, sequenceCount);
result = tcReplayWriteSeq.buildPacket(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcReplayWriteSeq.getFullPacketLen());
finishTcPrep(tcReplayWriteSeq);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcModeReplay() {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcModeReplay tcModeReplay(spParams, sequenceCount);
result = tcModeReplay.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcModeReplay.getFullPacketLen());
finishTcPrep(tcModeReplay);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcModeIdle() {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcModeIdle tcModeIdle(spParams, sequenceCount);
result = tcModeIdle.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcModeIdle.getFullPacketLen());
finishTcPrep(tcModeIdle);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcCamCmdSend(const uint8_t* commandData,
size_t commandDataLen) {
ReturnValue_t result = returnvalue::OK;
mpsoc::TcCamcmdSend tcCamCmdSend(spParams, sequenceCount);
result = tcCamCmdSend.buildPacket(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcCamCmdSend.getFullPacketLen());
finishTcPrep(tcCamCmdSend);
nextReplyId = mpsoc::TM_CAM_CMD_RPT;
return returnvalue::OK;
}
@ -705,62 +671,59 @@ ReturnValue_t PlocMpsocHandler::prepareTcCamCmdSend(const uint8_t* commandData,
ReturnValue_t PlocMpsocHandler::prepareTcCamTakePic(const uint8_t* commandData,
size_t commandDataLen) {
mpsoc::TcCamTakePic tcCamTakePic(spParams, sequenceCount);
ReturnValue_t result = tcCamTakePic.buildPacket(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcCamTakePic.getFullPacketLen());
finishTcPrep(tcCamTakePic);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcSimplexSendFile(const uint8_t* commandData,
size_t commandDataLen) {
mpsoc::TcSimplexSendFile tcSimplexSendFile(spParams, sequenceCount);
ReturnValue_t result = tcSimplexSendFile.buildPacket(commandData, commandDataLen);
ReturnValue_t result = tcSimplexSendFile.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcSimplexSendFile.getFullPacketLen());
finishTcPrep(tcSimplexSendFile);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcGetDirContent(const uint8_t* commandData,
size_t commandDataLen) {
mpsoc::TcGetDirContent tcGetDirContent(spParams, sequenceCount);
ReturnValue_t result = tcGetDirContent.buildPacket(commandData, commandDataLen);
ReturnValue_t result = tcGetDirContent.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcGetDirContent.getFullPacketLen());
finishTcPrep(tcGetDirContent);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcDownlinkDataModulate(const uint8_t* commandData,
size_t commandDataLen) {
mpsoc::TcDownlinkDataModulate tcDownlinkDataModulate(spParams, sequenceCount);
ReturnValue_t result = tcDownlinkDataModulate.buildPacket(commandData, commandDataLen);
ReturnValue_t result = tcDownlinkDataModulate.setPayload(commandData, commandDataLen);
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcDownlinkDataModulate.getFullPacketLen());
finishTcPrep(tcDownlinkDataModulate);
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::prepareTcModeSnapshot() {
mpsoc::TcModeSnapshot tcModeSnapshot(spParams, sequenceCount);
ReturnValue_t result = tcModeSnapshot.buildPacket();
if (result != returnvalue::OK) {
return result;
}
finishTcPrep(tcModeSnapshot.getFullPacketLen());
finishTcPrep(tcModeSnapshot);
return returnvalue::OK;
}
void PlocMpsocHandler::finishTcPrep(size_t packetLen) {
ReturnValue_t PlocMpsocHandler::finishTcPrep(mpsoc::TcBase& tcBase) {
nextReplyId = mpsoc::ACK_REPORT;
ReturnValue_t result = tcBase.finishPacket();
if (result != returnvalue::OK) {
return result;
}
rawPacket = commandBuffer;
rawPacketLen = packetLen;
rawPacketLen = tcBase.getFullPacketLen();
sequenceCount++;
return returnvalue::OK;
}
ReturnValue_t PlocMpsocHandler::verifyPacket(const uint8_t* start, size_t foundLen) {