71 lines
1.5 KiB
C
71 lines
1.5 KiB
C
|
/**
|
||
|
* @file ClcwIF.h
|
||
|
* @brief This file defines the ClcwIF class.
|
||
|
* @date 17.04.2013
|
||
|
* @author baetz
|
||
|
*/
|
||
|
|
||
|
#ifndef CLCWIF_H_
|
||
|
#define CLCWIF_H_
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
/**
|
||
|
* 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_ */
|