diff --git a/src/fsfw/cfdp/handler/SourceHandler.cpp b/src/fsfw/cfdp/handler/SourceHandler.cpp index e439cc29..49c6160d 100644 --- a/src/fsfw/cfdp/handler/SourceHandler.cpp +++ b/src/fsfw/cfdp/handler/SourceHandler.cpp @@ -97,5 +97,6 @@ ReturnValue_t cfdp::SourceHandler::putRequest(PutRequestFull& putRequest, Remote return FAILED; } std::memcpy(transactionParams.destName.data(), putRequest.destName, putRequest.destNameSize); - return 0; + currentRemoteCfg = cfg; + return OK; } diff --git a/src/fsfw/cfdp/handler/SourceHandler.h b/src/fsfw/cfdp/handler/SourceHandler.h index 197f0978..4f15c39e 100644 --- a/src/fsfw/cfdp/handler/SourceHandler.h +++ b/src/fsfw/cfdp/handler/SourceHandler.h @@ -63,6 +63,7 @@ class SourceHandler { TransactionStep step = TransactionStep::IDLE; SourceHandlerParams sourceParams; cfdp::FsfwParams fsfwParams; + RemoteEntityCfg currentRemoteCfg; void fsmNacked(); ReturnValue_t checksumGeneration(); diff --git a/src/fsfw/cfdp/handler/mib.h b/src/fsfw/cfdp/handler/mib.h index 553596a6..5d6ec8ad 100644 --- a/src/fsfw/cfdp/handler/mib.h +++ b/src/fsfw/cfdp/handler/mib.h @@ -27,6 +27,7 @@ struct LocalEntityCfg { }; struct RemoteEntityCfg { + RemoteEntityCfg() = default; explicit RemoteEntityCfg(EntityId id) : remoteId(std::move(id)) {} EntityId remoteId; size_t maxFileSegmentLen = 2048; @@ -34,7 +35,7 @@ struct RemoteEntityCfg { bool crcOnTransmission = false; TransmissionMode defaultTransmissionMode = TransmissionMode::UNACKNOWLEDGED; ChecksumType defaultChecksum = ChecksumType::NULL_CHECKSUM; - const uint8_t version = CFDP_VERSION_2; + uint8_t version = CFDP_VERSION_2; }; } // namespace cfdp