Robin Mueller
00f411eaca
Some checks failed
EIVE/eive-obsw/pipeline/head There was a failure building this commit
36 lines
1.3 KiB
C++
36 lines
1.3 KiB
C++
#ifndef LINUX_DEVICES_PLPCDUHANDLER_H_
|
|
#define LINUX_DEVICES_PLPCDUHANDLER_H_
|
|
|
|
#include <fsfw/devicehandlers/DeviceHandlerBase.h>
|
|
|
|
class PayloadPcduHandler : DeviceHandlerBase {
|
|
public:
|
|
PayloadPcduHandler(object_id_t objectId, object_id_t comIF, CookieIF* cookie);
|
|
|
|
private:
|
|
enum class States {
|
|
ADC_OFF_PL_OFF,
|
|
SWITCH_ON_RELAY,
|
|
ADC_ON_PL_OFF,
|
|
SWITCH_ON_HPA,
|
|
ADC_ON_PL_ON
|
|
};
|
|
States state;
|
|
|
|
void doStartUp() override;
|
|
void doShutDown() override;
|
|
ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t* id) override;
|
|
ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t* id) override;
|
|
void fillCommandAndReplyMap() override;
|
|
ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t* commandData,
|
|
size_t commandDataLen) override;
|
|
ReturnValue_t scanForReply(const uint8_t* start, size_t remainingSize, DeviceCommandId_t* foundId,
|
|
size_t* foundLen) override;
|
|
ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t* packet) override;
|
|
uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override;
|
|
ReturnValue_t initializeLocalDataPool(localpool::DataPool& localDataPoolMap,
|
|
LocalDataPoolManager& poolManager) override;
|
|
};
|
|
|
|
#endif /* LINUX_DEVICES_PLPCDUHANDLER_H_ */
|