WIP: Update DHB command and reply map helpers #103
@ -8,7 +8,6 @@
|
|||||||
#include "DeviceHandlerIF.h"
|
#include "DeviceHandlerIF.h"
|
||||||
#include "DeviceHandlerThermalSet.h"
|
#include "DeviceHandlerThermalSet.h"
|
||||||
#include "DhbCfgHelpers.h"
|
#include "DhbCfgHelpers.h"
|
||||||
|
|
||||||
#include "fsfw/action/ActionHelper.h"
|
#include "fsfw/action/ActionHelper.h"
|
||||||
#include "fsfw/action/HasActionsIF.h"
|
#include "fsfw/action/HasActionsIF.h"
|
||||||
#include "fsfw/datapool/PoolVariableIF.h"
|
#include "fsfw/datapool/PoolVariableIF.h"
|
||||||
@ -490,7 +489,9 @@ class DeviceHandlerBase : public DeviceHandlerIF,
|
|||||||
* @return - @c RETURN_OK when the command was successfully inserted,
|
* @return - @c RETURN_OK when the command was successfully inserted,
|
||||||
* - @c RETURN_FAILED else.
|
* - @c RETURN_FAILED else.
|
||||||
*/
|
*/
|
||||||
ReturnValue_t insertInCommandMap(CmdCfg cfg);
|
ReturnValue_t insertInCommandMap(
|
||||||
|
DeviceCommandId_t deviceCommand, bool useAlternativeReply = false,
|
||||||
|
DeviceCommandId_t alternativeReplyId = DeviceHandlerIF::NO_COMMAND_ID);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables a periodic reply for a given command. It sets to delay cycles to the specified
|
* Enables a periodic reply for a given command. It sets to delay cycles to the specified
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
* combination
|
* combination
|
||||||
*/
|
*/
|
||||||
struct CfgBase {
|
struct CfgBase {
|
||||||
public:
|
public:
|
||||||
explicit CfgBase(DeviceCommandId_t cmdAndOrReplyId): cmdAndOrReplyId(cmdAndOrReplyId) {};
|
explicit CfgBase(DeviceCommandId_t cmdAndOrReplyId) : cmdAndOrReplyId(cmdAndOrReplyId){};
|
||||||
DeviceCommandId_t cmdAndOrReplyId;
|
DeviceCommandId_t cmdAndOrReplyId;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -15,8 +15,8 @@ public:
|
|||||||
* @brief Configuration class for commands
|
* @brief Configuration class for commands
|
||||||
*/
|
*/
|
||||||
struct CmdCfg {
|
struct CmdCfg {
|
||||||
public:
|
public:
|
||||||
explicit CmdCfg(DeviceCommandId_t cmdId): baseCfg(cmdId) {};
|
explicit CmdCfg(DeviceCommandId_t cmdId) : baseCfg(cmdId){};
|
||||||
|
|
||||||
CfgBase baseCfg;
|
CfgBase baseCfg;
|
||||||
//! This can be used if a command can trigger multiple replies
|
//! This can be used if a command can trigger multiple replies
|
||||||
@ -27,9 +27,14 @@ public:
|
|||||||
* @brief Configuration class for replies
|
* @brief Configuration class for replies
|
||||||
*/
|
*/
|
||||||
struct ReplyCfg {
|
struct ReplyCfg {
|
||||||
public:
|
public:
|
||||||
ReplyCfg(DeviceCommandId_t replyId, uint16_t maxDelayCycles);
|
ReplyCfg(DeviceCommandId_t replyId, uint16_t maxDelayCycles)
|
||||||
ReplyCfg(DeviceCommandId_t replyId, uint16_t maxDelayCycles);
|
: baseCfg(replyId), maxDelayCycles(maxDelayCycles){};
|
||||||
|
ReplyCfg(DeviceCommandId_t replyId, uint16_t maxDelayCycles, LocalPoolDataSetBase* set)
|
||||||
|
: ReplyCfg(replyId, maxDelayCycles) {
|
||||||
|
dataSet = set;
|
||||||
|
};
|
||||||
|
|
||||||
CfgBase baseCfg;
|
CfgBase baseCfg;
|
||||||
//! A data set can be mapped to a reply ID. This allows to omit the #getDataSetHandle
|
//! A data set can be mapped to a reply ID. This allows to omit the #getDataSetHandle
|
||||||
//! override in a user device handler as this pointer will be passed as long as the device
|
//! override in a user device handler as this pointer will be passed as long as the device
|
||||||
@ -58,8 +63,8 @@ public:
|
|||||||
* @brief Configuration class for commands and replies
|
* @brief Configuration class for commands and replies
|
||||||
*/
|
*/
|
||||||
struct CmdReplyCfg {
|
struct CmdReplyCfg {
|
||||||
public:
|
public:
|
||||||
CmdReplyCfg(CmdCfg cmdCfg, ReplyCfg replyCfg): cmdCfg(cmdCfg), replyCfg(replyCfg) {}
|
CmdReplyCfg(CmdCfg cmdCfg, ReplyCfg replyCfg) : cmdCfg(cmdCfg), replyCfg(replyCfg) {}
|
||||||
CmdCfg cmdCfg;
|
CmdCfg cmdCfg;
|
||||||
ReplyCfg replyCfg;
|
ReplyCfg replyCfg;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user