fsfw/parameters/ParameterMessage.h

44 lines
1.6 KiB
C
Raw Normal View History

2020-08-28 18:45:19 +02:00
#ifndef FSFW_PARAMETERS_PARAMETERMESSAGE_H_
#define FSFW_PARAMETERS_PARAMETERMESSAGE_H_
2020-08-28 18:33:29 +02:00
2020-08-28 18:45:19 +02:00
#include "HasParametersIF.h"
2020-08-28 18:33:29 +02:00
#include "../ipc/CommandMessage.h"
#include "../storagemanager/StorageManagerIF.h"
class ParameterMessage {
private:
ParameterMessage();
public:
static const uint8_t MESSAGE_ID = messagetypes::PARAMETER;
static const Command_t CMD_PARAMETER_LOAD = MAKE_COMMAND_ID( 0x01 );
static const Command_t CMD_PARAMETER_DUMP = MAKE_COMMAND_ID( 0x02 );
static const Command_t REPLY_PARAMETER_DUMP = MAKE_COMMAND_ID( 0x03 );
static ParameterId_t getParameterId(const CommandMessage* message);
static store_address_t getStoreId(const CommandMessage* message);
static void setParameterDumpCommand(CommandMessage* message,
ParameterId_t id);
static void setParameterDumpReply(CommandMessage* message,
ParameterId_t id, store_address_t storageID);
2020-10-18 17:32:10 +02:00
/**
* Command to set a load parameter message. The CCSDS / ECSS type in
* form of a PTC and a PFC is expected. See ECSS-E-ST-70-41C15 p.428
* for all types or the Type class in globalfunctions.
* @param message
* @param id
* @param storeId
2020-10-19 00:43:10 +02:00
* @param ptc Type information according to CCSDS/ECSS standards
* @param pfc Type information according to CCSDS/ECSS standards
* @param rows Set number of rows in parameter set, minimum one.
* @param columns Set number of columns in parameter set, minimum one
2020-10-18 17:32:10 +02:00
*/
2020-08-28 18:33:29 +02:00
static void setParameterLoadCommand(CommandMessage* message,
2020-10-18 17:23:47 +02:00
ParameterId_t id, store_address_t storeId, uint8_t ptc,
2020-10-19 00:43:10 +02:00
uint8_t pfc, uint8_t rows, uint8_t columns);
2020-08-28 18:33:29 +02:00
static void clear(CommandMessage* message);
};
2020-08-28 18:45:19 +02:00
#endif /* FSFW_PARAMETERS_PARAMETERMESSAGE_H_ */