fsfw/src/fsfw/pus/servicepackets/Service201Packets.h

45 lines
1.4 KiB
C
Raw Normal View History

2020-12-01 16:04:40 +01:00
#ifndef FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_
#define FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_
2022-02-02 10:29:30 +01:00
#include "../../health/HasHealthIF.h"
2020-12-01 16:04:40 +01:00
#include "../../serialize/SerialLinkedListAdapter.h"
#include "../../serialize/SerializeIF.h"
2022-02-02 10:29:30 +01:00
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
2020-12-01 16:04:40 +01:00
};
2022-02-02 10:29:30 +01:00
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
2020-12-01 16:04:40 +01:00
};
#endif /* FSFW_PUS_SERVICEPACKETS_SERVICE201PACKETS_H_ */