tb_processor.h
// INCLUDE THE BASE CLASS DECLARATION

#include "processor.h"

// INCLUDE CLASSES USED IN THE INTERFACE/IMPLEMENTATION

#include "tb_values.h"
#include <string>

//*******************************************
// CLASS DECLARATION: TB_Processor(Processor)
//*******************************************

class TB_Processor:
    public Processor
{
public:
    // CONSTRUCTOR
    //
    // ARGUMENT: name
    //   SMI instance name.
    //
    // ARGUMENT: adc, dac
    //   Storage objects for read and write channel data respectively.

    TB_Processor(const string& name, TB_Values& adc, TB_Values& dac);

    // DESTRUCTOR

    virtual ~TB_Processor();

    // METHOD: interrupt();
    //
    // DESCRIPTION:
    //   Interrupt service routine. Transfers channel data between storage and
    //   the ASIC using programmable I/O operations.

    virtual void interrupt();

private:

    // DATA: STORAGE OBJECT FOR READ CHANNEL DATA

    TB_Values& d_adc;

    // DATA: STORAGE OBJECT FOR WRITE CHANNEL DATA

    TB_Values& d_dac;

    // DISABLE DEFAULT CONSTRUCTORS

    TB_Processor();
    TB_Processor(const TB_Processor&);
};
© Copyright 2000-2001 Adrian Lewis