#ifndef DUMMIES_IMTQDUMMY_H_ #define DUMMIES_IMTQDUMMY_H_ #include #include "mission/acs/imtqHelpers.h" class ImtqDummy : public DeviceHandlerBase { public: static const DeviceCommandId_t SIMPLE_COMMAND = 1; static const DeviceCommandId_t PERIODIC_REPLY = 2; static const uint8_t SIMPLE_COMMAND_DATA = 1; static const uint8_t PERIODIC_REPLY_DATA = 2; ImtqDummy(object_id_t objectId, object_id_t comif, CookieIF *comCookie, power::Switch_t pwrSwitcher, bool enableHkSets); ~ImtqDummy() override; protected: bool enableHkSets; imtq::StatusDataset statusSet; imtq::DipoleActuationSet dipoleSet; imtq::RawMtmMeasurementNoTorque rawMtmNoTorque; imtq::HkDatasetNoTorque hkDatasetNoTorque; imtq::RawMtmMeasurementWithTorque rawMtmWithTorque; imtq::HkDatasetWithTorque hkDatasetWithTorque; imtq::CalibratedMtmMeasurementSet calMtmMeasurementSet; PoolEntry statusMode = PoolEntry({0}); PoolEntry statusError = PoolEntry({0}); PoolEntry statusConfig = PoolEntry({0}); PoolEntry statusUptime = PoolEntry({0}); PoolEntry mgmCalEntry = PoolEntry(3); PoolEntry dipolesPoolEntry = PoolEntry({0, 0, 0}, false); PoolEntry torqueDurationEntry = PoolEntry({0}, false); PoolEntry coilCurrentsMilliampsNoTorque = PoolEntry(3); PoolEntry coilCurrentsMilliampsWithTorque = PoolEntry(3); PoolEntry coilTempsNoTorque = PoolEntry(3); PoolEntry coilTempsWithTorque = PoolEntry(3); PoolEntry mtmRawNoTorque = PoolEntry(3); PoolEntry actStatusNoTorque = PoolEntry(1); PoolEntry mtmRawWithTorque = PoolEntry(3); PoolEntry actStatusWithTorque = PoolEntry(1); power::Switch_t switcher = power::NO_SWITCH; ReturnValue_t getSwitches(const uint8_t **switches, uint8_t *numberOfSwitches) override; void doStartUp() override; void doShutDown() override; ReturnValue_t buildNormalDeviceCommand(DeviceCommandId_t *id) override; ReturnValue_t buildTransitionDeviceCommand(DeviceCommandId_t *id) override; ReturnValue_t buildCommandFromCommand(DeviceCommandId_t deviceCommand, const uint8_t *commandData, size_t commandDataLen) override; ReturnValue_t scanForReply(const uint8_t *start, size_t len, DeviceCommandId_t *foundId, size_t *foundLen) override; ReturnValue_t interpretDeviceReply(DeviceCommandId_t id, const uint8_t *packet) override; void fillCommandAndReplyMap() override; uint32_t getTransitionDelayMs(Mode_t modeFrom, Mode_t modeTo) override; ReturnValue_t initializeLocalDataPool(localpool::DataPool &localDataPoolMap, LocalDataPoolManager &poolManager) override; LocalPoolDataSetBase *getDataSetHandle(sid_t sid) override; }; #endif /* DUMMIES_IMTQDUMMY_H_ */