From 06ef498a18a10683a6ec86225f88213f0625b838 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Mon, 17 Jul 2023 14:48:37 +0200 Subject: [PATCH] start implementing put request function --- src/fsfw/cfdp/handler/SourceHandler.cpp | 14 ++++++++++++++ src/fsfw/cfdp/handler/SourceHandler.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/fsfw/cfdp/handler/SourceHandler.cpp b/src/fsfw/cfdp/handler/SourceHandler.cpp index 05c4f315..e439cc29 100644 --- a/src/fsfw/cfdp/handler/SourceHandler.cpp +++ b/src/fsfw/cfdp/handler/SourceHandler.cpp @@ -83,5 +83,19 @@ ReturnValue_t cfdp::SourceHandler::checksumGeneration() { } ReturnValue_t cfdp::SourceHandler::putRequest(PutRequestFull& putRequest, RemoteEntityCfg& cfg) { + transactionParams.closureRequested = putRequest.closureRequested; + transactionParams.destId = putRequest.destId; + transactionParams.transmissionMode = putRequest.transmissionMode; + if (transactionParams.transmissionMode == TransmissionMode::ACKNOWLEDGED) { + } + if (putRequest.sourceNameSize > transactionParams.sourceName.size()) { + return FAILED; + } + std::memcpy(transactionParams.sourceName.data(), putRequest.sourceName, + putRequest.sourceNameSize); + if (putRequest.destNameSize > transactionParams.destName.size()) { + return FAILED; + } + std::memcpy(transactionParams.destName.data(), putRequest.destName, putRequest.destNameSize); return 0; } diff --git a/src/fsfw/cfdp/handler/SourceHandler.h b/src/fsfw/cfdp/handler/SourceHandler.h index eced72be..197f0978 100644 --- a/src/fsfw/cfdp/handler/SourceHandler.h +++ b/src/fsfw/cfdp/handler/SourceHandler.h @@ -55,6 +55,9 @@ class SourceHandler { std::vector sourceName; std::vector destName; cfdp::FileSize fileSize; + EntityId destId; + TransmissionMode transmissionMode; + bool closureRequested; } transactionParams; cfdp::CfdpState state = cfdp::CfdpState::IDLE; TransactionStep step = TransactionStep::IDLE;