/** * @file ClcwIF.h * @brief This file defines the ClcwIF class. * @date 17.04.2013 * @author baetz */ #ifndef CLCWIF_H_ #define CLCWIF_H_ #include /** * Interface to manage a CLCW register. * @ingroup ccsds_handling */ class ClcwIF { public: /** * Empty virtual destructor. */ virtual ~ClcwIF() {} /** * Simple setter. * @param setChannel The virtual channel id to set. */ virtual void setVirtualChannel(uint8_t setChannel) = 0; /** * Simple setter. * @param lockout status of the flag. */ virtual void setLockoutFlag(bool lockout) = 0; /** * Simple setter. * @param waitFlag status of the flag. */ virtual void setWaitFlag(bool waitFlag) = 0; /** * Simple setter. * @param retransmitFlag status of the flag. */ virtual void setRetransmitFlag(bool retransmitFlag) = 0; /** * Sets the farm B count. * @param count A full 8bit counter value can be passed. Only the last three bits are used. */ virtual void setFarmBCount(uint8_t count) = 0; /** * Simple setter. * @param vR Value of vR. */ virtual void setReceiverFrameSequenceNumber(uint8_t vR) = 0; /** * Returns the register as a full 32bit value. * @return The value. */ virtual uint32_t getAsWhole() = 0; /** * Sets the whole content to this value. * @param rawClcw The value to set the content. */ virtual void setWhole(uint32_t rawClcw) = 0; /** * Debug method to print the CLCW. */ virtual void print() = 0; }; #endif /* CLCWIF_H_ */