/** * @file Clcw.cpp * @brief This file defines the Clcw class. * @date 17.04.2013 * @author baetz */ #include "Clcw.h" #include "../serviceinterface/ServiceInterfaceStream.h" Clcw::Clcw() { content.raw = 0; content.status = STATUS_FIELD_DEFAULT; } Clcw::~Clcw() { } void Clcw::setVirtualChannel(uint8_t setChannel) { content.virtualChannelIdSpare = ((setChannel & 0x3F) << 2); } void Clcw::setLockoutFlag(bool lockout) { content.flags = (content.flags & LOCKOUT_FLAG_MASK) | (lockout << LOCKOUT_FLAG_POSITION); } void Clcw::setWaitFlag(bool waitFlag) { content.flags = (content.flags & WAIT_FLAG_MASK) | (waitFlag << WAIT_FLAG_POSITION); } void Clcw::setRetransmitFlag(bool retransmitFlag) { content.flags = (content.flags & RETRANSMIT_FLAG_MASK) | (retransmitFlag << RETRANSMIT_FLAG_POSITION); } void Clcw::setFarmBCount(uint8_t count) { content.flags = (content.flags & FARM_B_COUNT_MASK) | ((count & 0x03) << 1); } void Clcw::setReceiverFrameSequenceNumber(uint8_t vR) { content.vRValue = vR; } uint32_t Clcw::getAsWhole() { return content.raw; } void Clcw::setRFAvailable(bool rfAvailable) { content.flags = (content.flags & NO_RF_AVIALABLE_MASK) | (!rfAvailable << NO_RF_AVIALABLE_POSITION); } void Clcw::setBitLock(bool bitLock) { content.flags = (content.flags & NO_BIT_LOCK_MASK) | (!bitLock << NO_BIT_LOCK_POSITION); } void Clcw::print() { sif::debug << "Clcw::print: Clcw is: " << std::hex << getAsWhole() << std::dec << std::endl; } void Clcw::setWhole(uint32_t rawClcw) { content.raw = rawClcw; }