diff --git a/CMakeLists.txt b/CMakeLists.txt index f31cd6bc..0c0d2bb4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -345,9 +345,15 @@ if(FSFW_BUILD_TESTS) DEPENDENCIES ${FSFW_TEST_TGT}) else() setup_target_for_coverage_lcov( - NAME ${FSFW_TEST_TGT}_coverage EXECUTABLE ${FSFW_TEST_TGT} - DEPENDENCIES ${FSFW_TEST_TGT} - GENHTML_ARGS --html-epilog ${CMAKE_SOURCE_DIR}/unittests/lcov_epilog.html) + NAME + ${FSFW_TEST_TGT}_coverage + EXECUTABLE + ${FSFW_TEST_TGT} + DEPENDENCIES + ${FSFW_TEST_TGT} + GENHTML_ARGS + --html-epilog + ${CMAKE_SOURCE_DIR}/unittests/lcov_epilog.html) endif() endif() endif() diff --git a/src/fsfw/pus/Service17Test.cpp b/src/fsfw/pus/Service17Test.cpp index bea2eeb8..35fc7c9d 100644 --- a/src/fsfw/pus/Service17Test.cpp +++ b/src/fsfw/pus/Service17Test.cpp @@ -1,5 +1,7 @@ #include "fsfw/pus/Service17Test.h" +#include + #include "fsfw/FSFW.h" #include "fsfw/objectmanager/ObjectManager.h" #include "fsfw/objectmanager/SystemObject.h" @@ -31,6 +33,15 @@ ReturnValue_t Service17Test::handleRequest(uint8_t subservice) { } return tmHelper.storeAndSendTmPacket(); } + case Subservice::PING_WITH_DATA: { + SerializeElement receivedDataLen = currentPacket.getUserDataLen(); + ReturnValue_t result = + tmHelper.prepareTmPacket(Subservice::PING_WITH_DATA_REPORT_WITH_SIZE, receivedDataLen); + if (result != returnvalue::OK) { + return result; + } + return tmHelper.storeAndSendTmPacket(); + } default: return AcceptsTelecommandsIF::INVALID_SUBSERVICE; } diff --git a/src/fsfw/pus/Service17Test.h b/src/fsfw/pus/Service17Test.h index f2ec6e4f..d3b6a6dc 100644 --- a/src/fsfw/pus/Service17Test.h +++ b/src/fsfw/pus/Service17Test.h @@ -32,6 +32,9 @@ class Service17Test : public PusServiceBase { CONNECTION_TEST_REPORT = 2, //! [EXPORT] : [COMMAND] Trigger test reply and test event EVENT_TRIGGER_TEST = 128, + PING_WITH_DATA = 129, + //! [EXPORT] : [COMMAND] Report which reports the sent user data size + PING_WITH_DATA_REPORT_WITH_SIZE = 130 }; explicit Service17Test(PsbParams params);