1
0
forked from fsfw/fsfw

updating code from Flying Laptop

This is the framework of Flying Laptop OBSW version A.13.0.
This commit is contained in:
2018-07-12 16:29:32 +02:00
parent 1d22a6c97e
commit 575f70ba03
395 changed files with 12807 additions and 8404 deletions

View File

@ -6,23 +6,13 @@
class MonitoringMessage: public CommandMessage {
public:
static const uint8_t MESSAGE_ID = LIMIT_MESSAGE_ID;
static const Command_t ADD_MONITOR = MAKE_COMMAND_ID(1); //PID(uint32_t), Data(type, {LIMIT_ID(uint8_t), initialLimits(data, depends)})
static const Command_t UPDATE_PARAMETER_MONITOR = MAKE_COMMAND_ID(2); //PID(uint32_t), Data{type, n_entries {LIMIT_ID(uint8_t), TYPE(uint8_t) newLimits(data, depends)
static const Command_t UPDATE_OBJECT_MONITOR = MAKE_COMMAND_ID(3);
static const Command_t CHANGE_REPORTING_STRATEGY = MAKE_COMMAND_ID(4); //PID(uint32_t), Data{type, n_entries {LIMIT_ID(uint8_t), TYPE(uint8_t) newLimits(data, depends)
//Optional
// static const Command_t REPORT_LIMIT_DEFINITIONS = MAKE_COMMAND_ID(3); //N_PIDS, PID(uint32_t)
// static const Command_t LIMIT_DEFINITION_REPORT = MAKE_COMMAND_ID(3); //Eventually multiple reports per type or even per definition.
static const uint8_t MESSAGE_ID = MESSAGE_TYPE::MONITORING;
//Object id could be useful, but we better manage that on service level (register potential reporters).
static const Command_t LIMIT_VIOLATION_REPORT = MAKE_COMMAND_ID(10);
virtual ~MonitoringMessage();
static void setAddLimitCommand(CommandMessage* message, store_address_t storeId);
static void setChangeReportingStrategy(CommandMessage* message, uint8_t strategy, store_address_t storeId);
static void setLimitViolationReport(CommandMessage* message, store_address_t storeId);
static void clear(CommandMessage* message);
static store_address_t getStoreId(const CommandMessage* message);
static uint8_t getReportingStategy(CommandMessage* message);
static void setTypicalMessage(CommandMessage* message, Command_t type, store_address_t storeId);
};