From 8fd8a37f59a9b596c36064576b920db5e8f21992 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 16 Aug 2022 17:10:48 +0200 Subject: [PATCH 1/4] flip verif reporter ctor arguments --- src/fsfw/tmtcservices/VerificationReporter.cpp | 2 +- src/fsfw/tmtcservices/VerificationReporter.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/fsfw/tmtcservices/VerificationReporter.cpp b/src/fsfw/tmtcservices/VerificationReporter.cpp index 2eb0c771..cce8f95d 100644 --- a/src/fsfw/tmtcservices/VerificationReporter.cpp +++ b/src/fsfw/tmtcservices/VerificationReporter.cpp @@ -7,7 +7,7 @@ object_id_t VerificationReporter::DEFAULT_RECEIVER = objects::PUS_SERVICE_1_VERIFICATION; object_id_t VerificationReporter::DEFAULT_REPORTER = objects::TC_VERIFICATOR; -VerificationReporter::VerificationReporter(AcceptsVerifyMessageIF* receiver, object_id_t objectId) +VerificationReporter::VerificationReporter(object_id_t objectId, AcceptsVerifyMessageIF* receiver) : SystemObject(objectId) { if (receiver != nullptr) { acknowledgeQueue = receiver->getVerificationQueue(); diff --git a/src/fsfw/tmtcservices/VerificationReporter.h b/src/fsfw/tmtcservices/VerificationReporter.h index 78c60962..5fb67f74 100644 --- a/src/fsfw/tmtcservices/VerificationReporter.h +++ b/src/fsfw/tmtcservices/VerificationReporter.h @@ -27,8 +27,8 @@ class VerificationReporter : public SystemObject, public VerificationReporterIF friend void Factory::setStaticFrameworkObjectIds(); public: - explicit VerificationReporter(AcceptsVerifyMessageIF* receiver, - object_id_t objectId = DEFAULT_REPORTER); + explicit VerificationReporter(object_id_t objectId = DEFAULT_REPORTER, + AcceptsVerifyMessageIF* receiver = nullptr); ~VerificationReporter() override; void setReceiver(AcceptsVerifyMessageIF& receiver); From 875174c4ad9524b9d1da0b9ed365e820646673ae Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 16 Aug 2022 17:17:45 +0200 Subject: [PATCH 2/4] better name for global object --- src/fsfw/objectmanager/frameworkObjects.h | 2 +- src/fsfw/tcdistribution/PusDistributor.cpp | 2 +- src/fsfw/tmtcservices/CommandingServiceBase.cpp | 2 +- src/fsfw/tmtcservices/PusServiceBase.cpp | 2 +- src/fsfw/tmtcservices/VerificationReporter.cpp | 2 +- unittests/tmtcservices/testPsb.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fsfw/objectmanager/frameworkObjects.h b/src/fsfw/objectmanager/frameworkObjects.h index be664621..9487147d 100644 --- a/src/fsfw/objectmanager/frameworkObjects.h +++ b/src/fsfw/objectmanager/frameworkObjects.h @@ -33,7 +33,7 @@ enum framework_objects : object_id_t { TC_STORE = 0x534f0100, TM_STORE = 0x534f0200, TIME_STAMPER = 0x53500010, - TC_VERIFICATOR = 0x53500020, + VERIFICATION_REPORTER = 0x53500020, FSFW_OBJECTS_END = 0x53ffffff, NO_OBJECT = 0xFFFFFFFF diff --git a/src/fsfw/tcdistribution/PusDistributor.cpp b/src/fsfw/tcdistribution/PusDistributor.cpp index ade49201..bb8708cd 100644 --- a/src/fsfw/tcdistribution/PusDistributor.cpp +++ b/src/fsfw/tcdistribution/PusDistributor.cpp @@ -137,7 +137,7 @@ ReturnValue_t PusDistributor::initialize() { return ObjectManagerIF::CHILD_INIT_FAILED; } if (verifyChannel == nullptr) { - verifyChannel = ObjectManager::instance()->get(objects::TC_VERIFICATOR); + verifyChannel = ObjectManager::instance()->get(objects::VERIFICATION_REPORTER); if (verifyChannel == nullptr) { return ObjectManagerIF::CHILD_INIT_FAILED; } diff --git a/src/fsfw/tmtcservices/CommandingServiceBase.cpp b/src/fsfw/tmtcservices/CommandingServiceBase.cpp index d7e3b514..7856abd0 100644 --- a/src/fsfw/tmtcservices/CommandingServiceBase.cpp +++ b/src/fsfw/tmtcservices/CommandingServiceBase.cpp @@ -124,7 +124,7 @@ ReturnValue_t CommandingServiceBase::initialize() { if (verificationReporter == nullptr) { verificationReporter = - ObjectManager::instance()->get(objects::TC_VERIFICATOR); + ObjectManager::instance()->get(objects::VERIFICATION_REPORTER); if (verificationReporter == nullptr) { return ObjectManagerIF::CHILD_INIT_FAILED; } diff --git a/src/fsfw/tmtcservices/PusServiceBase.cpp b/src/fsfw/tmtcservices/PusServiceBase.cpp index b555449b..0319652d 100644 --- a/src/fsfw/tmtcservices/PusServiceBase.cpp +++ b/src/fsfw/tmtcservices/PusServiceBase.cpp @@ -126,7 +126,7 @@ ReturnValue_t PusServiceBase::initialize() { if (psbParams.verifReporter == nullptr) { psbParams.verifReporter = - ObjectManager::instance()->get(objects::TC_VERIFICATOR); + ObjectManager::instance()->get(objects::VERIFICATION_REPORTER); if (psbParams.verifReporter == nullptr) { return ObjectManagerIF::CHILD_INIT_FAILED; } diff --git a/src/fsfw/tmtcservices/VerificationReporter.cpp b/src/fsfw/tmtcservices/VerificationReporter.cpp index cce8f95d..46d3eba1 100644 --- a/src/fsfw/tmtcservices/VerificationReporter.cpp +++ b/src/fsfw/tmtcservices/VerificationReporter.cpp @@ -5,7 +5,7 @@ #include "fsfw/tmtcservices/PusVerificationReport.h" object_id_t VerificationReporter::DEFAULT_RECEIVER = objects::PUS_SERVICE_1_VERIFICATION; -object_id_t VerificationReporter::DEFAULT_REPORTER = objects::TC_VERIFICATOR; +object_id_t VerificationReporter::DEFAULT_REPORTER = objects::VERIFICATION_REPORTER; VerificationReporter::VerificationReporter(object_id_t objectId, AcceptsVerifyMessageIF* receiver) : SystemObject(objectId) { diff --git a/unittests/tmtcservices/testPsb.cpp b/unittests/tmtcservices/testPsb.cpp index 464fb3da..7f33c0dc 100644 --- a/unittests/tmtcservices/testPsb.cpp +++ b/unittests/tmtcservices/testPsb.cpp @@ -211,7 +211,7 @@ TEST_CASE("Pus Service Base", "[pus-service-base]") { SECTION("Auto Initialize Verification Reporter") { psbParams.verifReporter = nullptr; psbParams.objectId = 1; - object_id_t reporterId = objects::TC_VERIFICATOR; + object_id_t reporterId = objects::VERIFICATION_REPORTER; PusVerificationReporterMock otherReporter(reporterId); auto psb2 = PsbMock(psbParams); REQUIRE(psb2.initialize() == result::OK); From 239d053562d87da5b68bd10538a3ebe9171cd71d Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Tue, 16 Aug 2022 17:23:10 +0200 Subject: [PATCH 3/4] update changelog --- CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf50b683..bfca814b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,19 @@ and this project adheres to [Semantic Versioning](http://semver.org/). # [unreleased] +# [v6.0.0] + ## Added - Add new `UnsignedByteField` class +## Changes + +- Overhaul of the TMTC stack, including various changes and improvements + for other modules + PR: https://egit.irs.uni-stuttgart.de/fsfw/fsfw/pulls/655 + which also includes a migration guide + # [v5.0.0] 25.07.2022 ## Changes From ff6de8e378ee8444f4773763167c3e5daee1f961 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Thu, 18 Aug 2022 11:19:42 +0200 Subject: [PATCH 4/4] important bugfix for verif reporter --- src/fsfw/tcdistribution/PusDistributor.cpp | 5 ++--- src/fsfw/tmtcservices/VerificationReporter.h | 5 +---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/fsfw/tcdistribution/PusDistributor.cpp b/src/fsfw/tcdistribution/PusDistributor.cpp index bb8708cd..0ae36c88 100644 --- a/src/fsfw/tcdistribution/PusDistributor.cpp +++ b/src/fsfw/tcdistribution/PusDistributor.cpp @@ -105,14 +105,13 @@ ReturnValue_t PusDistributor::callbackAfterSending(ReturnValue_t queueStatus) { tcStatus = queueStatus; } if (tcStatus != RETURN_OK) { - verifyChannel->sendFailureReport( - VerifFailureParams(tcverif::ACCEPTANCE_FAILURE, reader, tcStatus)); + verifyChannel->sendFailureReport({tcverif::ACCEPTANCE_FAILURE, reader, tcStatus}); // A failed packet is deleted immediately after reporting, // otherwise it will block memory. store->deleteData(currentMessage.getStorageId()); return RETURN_FAILED; } else { - verifyChannel->sendSuccessReport(VerifSuccessParams(tcverif::ACCEPTANCE_SUCCESS, reader)); + verifyChannel->sendSuccessReport({tcverif::ACCEPTANCE_SUCCESS, reader}); return RETURN_OK; } } diff --git a/src/fsfw/tmtcservices/VerificationReporter.h b/src/fsfw/tmtcservices/VerificationReporter.h index 5fb67f74..f6152614 100644 --- a/src/fsfw/tmtcservices/VerificationReporter.h +++ b/src/fsfw/tmtcservices/VerificationReporter.h @@ -33,10 +33,7 @@ class VerificationReporter : public SystemObject, public VerificationReporterIF void setReceiver(AcceptsVerifyMessageIF& receiver); - // TODO: The API is a little bit bloated. It might be better to group all the parameters - // into a dedicated struct ReturnValue_t sendSuccessReport(VerifSuccessParams params) override; - ReturnValue_t sendFailureReport(VerifFailureParams params) override; static object_id_t DEFAULT_REPORTER; @@ -44,7 +41,7 @@ class VerificationReporter : public SystemObject, public VerificationReporterIF ReturnValue_t initialize() override; private: - MessageQueueId_t acknowledgeQueue; + MessageQueueId_t acknowledgeQueue = MessageQueueIF::NO_QUEUE; }; #endif /* FSFW_TMTCSERVICES_VERIFICATIONREPORTER_H_ */