add new HasReturnvaluesIF features
This commit is contained in:
parent
e48b6f1432
commit
bdf71d4e66
@ -70,10 +70,11 @@ class ProvidesDataPoolSubscriptionIF {
|
|||||||
virtual ReturnValue_t subscribeForDiagPeriodicPacket(
|
virtual ReturnValue_t subscribeForDiagPeriodicPacket(
|
||||||
subdp::DiagnosticsHkPeriodicParams params) = 0;
|
subdp::DiagnosticsHkPeriodicParams params) = 0;
|
||||||
|
|
||||||
[[deprecated("Please use the new API which takes all arguments as one wrapper struct")]]
|
[[deprecated(
|
||||||
virtual ReturnValue_t subscribeForPeriodicPacket(sid_t sid, bool enableReporting,
|
"Please use the new API which takes all arguments as one wrapper "
|
||||||
float collectionInterval, bool isDiagnostics,
|
"struct")]] virtual ReturnValue_t
|
||||||
object_id_t packetDestination) {
|
subscribeForPeriodicPacket(sid_t sid, bool enableReporting, float collectionInterval,
|
||||||
|
bool isDiagnostics, object_id_t packetDestination) {
|
||||||
if (isDiagnostics) {
|
if (isDiagnostics) {
|
||||||
subdp::DiagnosticsHkPeriodicParams params(sid, enableReporting, collectionInterval);
|
subdp::DiagnosticsHkPeriodicParams params(sid, enableReporting, collectionInterval);
|
||||||
return subscribeForDiagPeriodicPacket(params);
|
return subscribeForDiagPeriodicPacket(params);
|
||||||
@ -96,9 +97,10 @@ class ProvidesDataPoolSubscriptionIF {
|
|||||||
virtual ReturnValue_t subscribeForRegularUpdatePacket(subdp::RegularHkUpdateParams params) = 0;
|
virtual ReturnValue_t subscribeForRegularUpdatePacket(subdp::RegularHkUpdateParams params) = 0;
|
||||||
virtual ReturnValue_t subscribeForDiagUpdatePacket(subdp::DiagnosticsHkUpdateParams params) = 0;
|
virtual ReturnValue_t subscribeForDiagUpdatePacket(subdp::DiagnosticsHkUpdateParams params) = 0;
|
||||||
|
|
||||||
[[deprecated("Please use the new API which takes all arguments as one wrapper struct")]]
|
[[deprecated(
|
||||||
virtual ReturnValue_t subscribeForUpdatePacket(sid_t sid, bool reportingEnabled,
|
"Please use the new API which takes all arguments as one wrapper "
|
||||||
bool isDiagnostics,
|
"struct")]] virtual ReturnValue_t
|
||||||
|
subscribeForUpdatePacket(sid_t sid, bool reportingEnabled, bool isDiagnostics,
|
||||||
object_id_t packetDestination) {
|
object_id_t packetDestination) {
|
||||||
if (isDiagnostics) {
|
if (isDiagnostics) {
|
||||||
subdp::DiagnosticsHkUpdateParams params(sid, reportingEnabled);
|
subdp::DiagnosticsHkUpdateParams params(sid, reportingEnabled);
|
||||||
|
@ -10,11 +10,21 @@
|
|||||||
#define MAKE_RETURN_CODE(number) ((INTERFACE_ID << 8) + (number))
|
#define MAKE_RETURN_CODE(number) ((INTERFACE_ID << 8) + (number))
|
||||||
typedef uint16_t ReturnValue_t;
|
typedef uint16_t ReturnValue_t;
|
||||||
|
|
||||||
|
namespace retval {
|
||||||
|
static constexpr ReturnValue_t OK = 0;
|
||||||
|
static constexpr ReturnValue_t FAILED = 1;
|
||||||
|
|
||||||
|
static constexpr ReturnValue_t makeCode(uint8_t classId, uint8_t number) {
|
||||||
|
return (static_cast<ReturnValue_t>(classId) << 8) + number;
|
||||||
|
}
|
||||||
|
} // namespace retval
|
||||||
|
|
||||||
class HasReturnvaluesIF {
|
class HasReturnvaluesIF {
|
||||||
public:
|
public:
|
||||||
static const ReturnValue_t RETURN_OK = 0;
|
static const ReturnValue_t RETURN_OK = retval::OK;
|
||||||
static const ReturnValue_t RETURN_FAILED = 1;
|
static const ReturnValue_t RETURN_FAILED = retval::FAILED;
|
||||||
virtual ~HasReturnvaluesIF() {}
|
|
||||||
|
virtual ~HasReturnvaluesIF() = default;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* It is discouraged to use the input parameters 0,0 and 0,1 as this
|
* It is discouraged to use the input parameters 0,0 and 0,1 as this
|
||||||
@ -23,8 +33,9 @@ class HasReturnvaluesIF {
|
|||||||
* @param number
|
* @param number
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
static constexpr ReturnValue_t makeReturnCode(uint8_t classId, uint8_t number) {
|
[[deprecated("Use retval::makeCode instead")]] static constexpr ReturnValue_t makeReturnCode(
|
||||||
return (static_cast<ReturnValue_t>(classId) << 8) + number;
|
uint8_t classId, uint8_t number) {
|
||||||
|
return retval::makeCode(classId, number);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -9,5 +9,6 @@ target_sources(
|
|||||||
SpacePacketParser.cpp
|
SpacePacketParser.cpp
|
||||||
TmStoreHelper.cpp
|
TmStoreHelper.cpp
|
||||||
TmSendHelper.cpp
|
TmSendHelper.cpp
|
||||||
|
TmStoreAndSendHelper.cpp
|
||||||
tcHelpers.cpp
|
tcHelpers.cpp
|
||||||
tmHelpers.cpp)
|
tmHelpers.cpp)
|
||||||
|
3
src/fsfw/tmtcservices/TmStoreAndSendHelper.cpp
Normal file
3
src/fsfw/tmtcservices/TmStoreAndSendHelper.cpp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#include "TmStoreAndSendHelper.h"
|
||||||
|
|
||||||
|
StoreAndSendWrapper::StoreAndSendWrapper(TmStoreHelper& storeHelper, TmSendHelper& sendHelper) {}
|
18
src/fsfw/tmtcservices/TmStoreAndSendHelper.h
Normal file
18
src/fsfw/tmtcservices/TmStoreAndSendHelper.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#ifndef FSFW_TMTCSERVICES_TMSTOREANDSENDHELPER_H
|
||||||
|
#define FSFW_TMTCSERVICES_TMSTOREANDSENDHELPER_H
|
||||||
|
|
||||||
|
#include "TmSendHelper.h"
|
||||||
|
#include "TmStoreHelper.h"
|
||||||
|
|
||||||
|
class StoreAndSendWrapper {
|
||||||
|
public:
|
||||||
|
StoreAndSendWrapper(TmStoreHelper& storeHelper, TmSendHelper& sendHelper)
|
||||||
|
: storeHelper(storeHelper), sendHelper(sendHelper) {}
|
||||||
|
ReturnValue_t storeAndSendTmPacket(TmStoreHelper& storeHelper, TmSendHelper& sendHelper,
|
||||||
|
bool delOnFailure = true);
|
||||||
|
TmStoreHelper& storeHelper;
|
||||||
|
TmSendHelper& sendHelper;
|
||||||
|
bool delOnFailure = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // FSFW_TMTCSERVICES_TMSTOREANDSENDHELPER_H
|
@ -7,9 +7,6 @@
|
|||||||
// I'd prefer to use tm, but there have been nameclashes with the tm struct
|
// I'd prefer to use tm, but there have been nameclashes with the tm struct
|
||||||
namespace telemetry {
|
namespace telemetry {
|
||||||
|
|
||||||
ReturnValue_t storeAndSendTmPacket(TmStoreHelper& storeHelper, TmSendHelper& sendHelper,
|
|
||||||
bool delOnFailure = true);
|
|
||||||
|
|
||||||
class DataWithObjectIdPrefix : public SerializeIF {
|
class DataWithObjectIdPrefix : public SerializeIF {
|
||||||
public:
|
public:
|
||||||
DataWithObjectIdPrefix(object_id_t objectId, const uint8_t* srcData, size_t srcDataLen)
|
DataWithObjectIdPrefix(object_id_t objectId, const uint8_t* srcData, size_t srcDataLen)
|
||||||
@ -34,8 +31,11 @@ class DataWithObjectIdPrefix : public SerializeIF {
|
|||||||
|
|
||||||
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
|
ReturnValue_t deSerialize(const uint8_t** buffer, size_t* size,
|
||||||
Endianness streamEndianness) override {
|
Endianness streamEndianness) override {
|
||||||
// TODO: Implement
|
ReturnValue_t result = SerializeAdapter::deSerialize(&objectId, buffer, size, streamEndianness);
|
||||||
return HasReturnvaluesIF::RETURN_FAILED;
|
if (result != retval::OK) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
return retval::FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -30,6 +30,4 @@ int customSetup() {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int customTeardown() {
|
int customTeardown() { return 0; }
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
@ -7,11 +7,10 @@
|
|||||||
#include <fsfw/datapoollocal/LocalPoolVariable.h>
|
#include <fsfw/datapoollocal/LocalPoolVariable.h>
|
||||||
#include <fsfw/datapoollocal/LocalPoolVector.h>
|
#include <fsfw/datapoollocal/LocalPoolVector.h>
|
||||||
#include <fsfw/datapoollocal/StaticLocalDataSet.h>
|
#include <fsfw/datapoollocal/StaticLocalDataSet.h>
|
||||||
#include "fsfw/datapool/PoolEntry.h"
|
|
||||||
|
|
||||||
#include <fsfw/ipc/QueueFactory.h>
|
#include <fsfw/ipc/QueueFactory.h>
|
||||||
#include <fsfw/objectmanager/SystemObject.h>
|
#include <fsfw/objectmanager/SystemObject.h>
|
||||||
|
|
||||||
|
#include "fsfw/datapool/PoolEntry.h"
|
||||||
#include "mocks/MessageQueueMock.h"
|
#include "mocks/MessageQueueMock.h"
|
||||||
#include "tests/TestsConfig.h"
|
#include "tests/TestsConfig.h"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user