Merge pull request 'added 201 packet' (#284) from KSat/fsfw:mueller/service201-packets into development

Reviewed-on: fsfw/fsfw#284
This commit is contained in:
Robin Müller 2020-12-01 16:06:08 +01:00
commit f0f7388c0d

View File

@ -0,0 +1,48 @@
#ifndef FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_
#define FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_
#include "../../serialize/SerialLinkedListAdapter.h"
#include "../../serialize/SerializeIF.h"
#include "../../health/HasHealthIF.h"
class HealthSetCommand: public SerialLinkedListAdapter<SerializeIF> { //!< [EXPORT] : [SUBSERVICE] 1
public:
HealthSetCommand() {
setLinks();
}
HasHealthIF::HealthState getHealth() {
return static_cast<HasHealthIF::HealthState>(health.entry);
}
private:
void setLinks() {
setStart(&objectId);
objectId.setNext(&health);
}
SerializeElement<uint32_t> objectId; //!< [EXPORT] : [COMMENT] Target object Id
SerializeElement<uint8_t> health; //!< [EXPORT] : [COMMENT] Health to set
};
class HealthSetReply: public SerialLinkedListAdapter<SerializeIF> { //!< [EXPORT] : [SUBSERVICE] 2
public:
HealthSetReply(uint8_t health_, uint8_t oldHealth_):
health(health_), oldHealth(oldHealth_)
{
setLinks();
}
private:
HealthSetReply(const HealthSetReply &reply);
void setLinks() {
setStart(&objectId);
objectId.setNext(&health);
health.setNext(&oldHealth);
}
SerializeElement<uint32_t> objectId; //!< [EXPORT] : [COMMENT] Source object ID
SerializeElement<uint8_t> health; //!< [EXPORT] : [COMMENT] New Health
SerializeElement<uint8_t> oldHealth; //!< [EXPORT] : [COMMENT] Old Health
};
#endif /* FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_ */