tb_codec.cc
// INCLUDE THE CLASS DECLARATION

#include "tb_codec.h"

//***************************
// CLASS DEFINITION: TB_Codec
//***************************

// CONSTRUCTOR

TB_Codec::TB_Codec(const string& name, TB_Values& adc, TB_Values& dac):
    Codec(name), d_adc(adc), d_dac(dac)
{}

// DESTRUCTOR

TB_Codec::~TB_Codec()
{}

// METHOD: adcData()

unsigned long
TB_Codec::adcData()
{
    // RETURN 0 IF ALL DATA WORDS HAVE BEEN READ

    if (!d_adc.has_value())
        return 0;

    // RETURN NEXT DATA WORD

    return d_adc.get_value();
}

// METHOD: dacData(data)

void
TB_Codec::dacData(unsigned long data)
{
    // IF THE STORAGE OBJECT HAS SPACE FOR THE DATA WORD

    if (!d_dac.is_full())
    {
        // STORE DATA VALUE

        d_dac.put_value(data);
    }
}
© Copyright 2000-2001 Adrian Lewis