CCAENV977 Class Reference

#include <CCAENV977.h>

List of all members.

Public Member Functions

 CCAENV977 (ULong_t lBase, UShort_t nCrate=0)
virtual ~CCAENV977 ()
 CCAENV977 (const CCAENV977 &rhs)
CCAENV977operator= (const CCAENV977 &rhs)
int operator== (const CCAENV977 &rhs) const
int operator!= (const CCAENV977 &rhs) const
UShort_t inputSet ()
 'useful' operations.
void inputSet (UShort_t value)
UShort_t inputMask ()
void inputMask (UShort_t mask)
UShort_t inputRead ()
UShort_t singleHitRead ()
UShort_t multihitRead ()
UShort_t outputSet ()
void outputSet (UShort_t pattern)
UShort_t outputMask ()
void outputMask (UShort_t mask)
UShort_t interruptMask ()
void interruptMask (UShort_t mask)
void outputClear ()
UShort_t singleHitReadAndClear ()
UShort_t multiHitReadAndClear ()
UShort_t testControlRegister ()
void testControlRegister (UShort_t mask)
UShort_t serialNumber ()
UShort_t firmwareLevel ()
void controlRegister (UShort_t mask)
UShort_t controlRegister ()
void Reset ()

Static Public Attributes

static const UShort_t test_Clear = 1
static const UShort_t test_Mask = 2
static const UShort_t test_OrMask = 4
static const UShort_t test_IrqMask = 8
static const UShort_t test_Read = 0x10
static const UShort_t control_Pattern = 1
static const UShort_t control_gateMask = 2
static const UShort_t control_OrMask = 4

Private Attributes

CVmeModulem_Module


Detailed Description

Low level driver for the CCAENV977 I/O register module. This class provides member functions and state to interact with a single module.In addition to the member shown, we'll need several static const members representing bits in the control/status registers:

ControlRegister:

Definition at line 57 of file CCAENV977.h.


Constructor & Destructor Documentation

CCAENV977::CCAENV977 ( ULong_t  lBase,
UShort_t  nCrate = 0 
)

Construct a CAENV977 I/O register.

Parameters:
base Base address of the module in the rotary switches
crate Crate in which the module is installed (defaults to 0).

Definition at line 66 of file CCAENV977.cpp.

CCAENV977::~CCAENV977 (  )  [virtual]

The destructor must delete the vme module.

Definition at line 76 of file CCAENV977.cpp.

References m_Module.

CCAENV977::CCAENV977 ( const CCAENV977 rhs  ) 

Copy construction:

Definition at line 83 of file CCAENV977.cpp.


Member Function Documentation

CCAENV977 & CCAENV977::operator= ( const CCAENV977 rhs  ) 

Assignment:

Definition at line 91 of file CCAENV977.cpp.

References m_Module.

int CCAENV977::operator== ( const CCAENV977 rhs  )  const

Equality comparison

Definition at line 102 of file CCAENV977.cpp.

References m_Module.

int CCAENV977::operator!= ( const CCAENV977 rhs  )  const

Inequality

Definition at line 110 of file CCAENV977.cpp.

UShort_t CCAENV977::inputSet (  ) 

'useful' operations.

Read the input set register.

Definition at line 121 of file CCAENV977.cpp.

References INPUT_SET(), m_Module, and CVmeModule::peekw().

void CCAENV977::inputSet ( UShort_t  value  ) 

Write the input set register.

Parameters:
value New value for the

Definition at line 133 of file CCAENV977.cpp.

References INPUT_SET(), m_Module, and CVmeModule::pokew().

UShort_t CCAENV977::inputMask (  ) 

Read the input mask register.

Definition at line 143 of file CCAENV977.cpp.

References INPUT_MASK(), m_Module, and CVmeModule::peekw().

void CCAENV977::inputMask ( UShort_t  mask  ) 

write the input mask register.

Parameters:
mask New input mask value.

Definition at line 155 of file CCAENV977.cpp.

References INPUT_MASK(), m_Module, and CVmeModule::pokew().

UShort_t CCAENV977::inputRead (  ) 

Read the input read register (which reflects the value of the instantaneous inputs to the module).

Definition at line 167 of file CCAENV977.cpp.

References INPUT_READ(), m_Module, and CVmeModule::peekw().

UShort_t CCAENV977::singleHitRead (  ) 

Read the single hit read register.

Definition at line 177 of file CCAENV977.cpp.

References m_Module, CVmeModule::peekw(), and SINGLEHIT_READ().

UShort_t CCAENV977::multihitRead (  ) 

Read the multihit read register.

Definition at line 187 of file CCAENV977.cpp.

References m_Module, MULTIHIT_READ(), and CVmeModule::peekw().

UShort_t CCAENV977::outputSet (  ) 

Read the output set register.

Definition at line 197 of file CCAENV977.cpp.

References m_Module, OUTPUT_SET(), and CVmeModule::peekw().

void CCAENV977::outputSet ( UShort_t  pattern  ) 

Write the output set register.

Parameters:
pattern New output pattern.

Definition at line 209 of file CCAENV977.cpp.

References m_Module, OUTPUT_SET(), and CVmeModule::pokew().

UShort_t CCAENV977::outputMask (  ) 

Read the output mask register.

Definition at line 219 of file CCAENV977.cpp.

References m_Module, OUTPUT_MASK(), and CVmeModule::peekw().

void CCAENV977::outputMask ( UShort_t  mask  ) 

Write the output mask register.

Parameters:
mask New output mask value.

Definition at line 231 of file CCAENV977.cpp.

References m_Module, OUTPUT_MASK(), and CVmeModule::pokew().

UShort_t CCAENV977::interruptMask (  ) 

Read the interrupt mask register.

Definition at line 241 of file CCAENV977.cpp.

References INTERRUPT_MASK(), m_Module, and CVmeModule::peekw().

void CCAENV977::interruptMask ( UShort_t  mask  ) 

Write the interrupt mask register.

Parameters:
mask New interrupt mask value.

Definition at line 253 of file CCAENV977.cpp.

References INTERRUPT_MASK(), m_Module, and CVmeModule::pokew().

void CCAENV977::outputClear (  ) 

Clears all output flipflops.

Definition at line 263 of file CCAENV977.cpp.

References CLEAR_OUTPUT(), m_Module, and CVmeModule::pokew().

UShort_t CCAENV977::singleHitReadAndClear (  ) 

Read the single hit register and clear it.

Definition at line 273 of file CCAENV977.cpp.

References m_Module, CVmeModule::peekw(), and SINGLEHIT_RDCLEAR().

UShort_t CCAENV977::multiHitReadAndClear (  ) 

Read and clear the multi hit read register.

Definition at line 284 of file CCAENV977.cpp.

References m_Module, MULTIHIT_RDCLEAR(), and CVmeModule::peekw().

UShort_t CCAENV977::testControlRegister (  ) 

Read the test control register.

Definition at line 297 of file CCAENV977.cpp.

References m_Module, CVmeModule::peekw(), TEST_CONTROL(), and validTestBits.

void CCAENV977::testControlRegister ( UShort_t  mask  ) 

Write the test control register.

Parameters:
mask New mask of bits to write to the Test Control register. If this has invalid bits set, a contract violation is thrown.

Definition at line 311 of file CCAENV977.cpp.

References m_Module, CVmeModule::pokew(), TEST_CONTROL(), and validTestBits.

UShort_t CCAENV977::serialNumber (  ) 

Read the serial number register.

Definition at line 325 of file CCAENV977.cpp.

References m_Module, CVmeModule::peekw(), and SERIAL().

UShort_t CCAENV977::firmwareLevel (  ) 

Read the firmware revision level.

Definition at line 337 of file CCAENV977.cpp.

References FIRMWARE_REV(), m_Module, and CVmeModule::peekw().

void CCAENV977::controlRegister ( UShort_t  mask  ) 

Write the control register.

Parameters:
mask new mask of control register bits. If extraneous bits are set, a contract violation is thrown.

Definition at line 352 of file CCAENV977.cpp.

References CONTROL_REGISTER(), m_Module, CVmeModule::pokew(), and validControlBits.

UShort_t CCAENV977::controlRegister (  ) 

Read the control register.

Definition at line 365 of file CCAENV977.cpp.

References CONTROL_REGISTER(), m_Module, CVmeModule::peekw(), and validControlBits.

void CCAENV977::Reset (  ) 

Resets the module to default conditions.

Definition at line 376 of file CCAENV977.cpp.

References m_Module, CVmeModule::pokew(), and SOFTWARE_RESET().


Member Data Documentation

CVmeModule& CCAENV977::m_Module [private]

Device indpedendent way to access a set of VME addresses.

Definition at line 63 of file CCAENV977.h.

Referenced by controlRegister(), firmwareLevel(), inputMask(), inputRead(), inputSet(), interruptMask(), multihitRead(), multiHitReadAndClear(), operator=(), operator==(), outputClear(), outputMask(), outputSet(), Reset(), serialNumber(), singleHitRead(), singleHitReadAndClear(), testControlRegister(), and ~CCAENV977().

const UShort_t CCAENV977::test_Clear = 1 [static]

Definition at line 70 of file CCAENV977.h.

const UShort_t CCAENV977::test_Mask = 2 [static]

Definition at line 71 of file CCAENV977.h.

const UShort_t CCAENV977::test_OrMask = 4 [static]

Definition at line 72 of file CCAENV977.h.

const UShort_t CCAENV977::test_IrqMask = 8 [static]

Definition at line 73 of file CCAENV977.h.

const UShort_t CCAENV977::test_Read = 0x10 [static]

Definition at line 74 of file CCAENV977.h.

const UShort_t CCAENV977::control_Pattern = 1 [static]

Definition at line 78 of file CCAENV977.h.

const UShort_t CCAENV977::control_gateMask = 2 [static]

Definition at line 79 of file CCAENV977.h.

const UShort_t CCAENV977::control_OrMask = 4 [static]

Definition at line 80 of file CCAENV977.h.


The documentation for this class was generated from the following files:
Generated on Wed Sep 17 08:38:11 2008 for NSCL Device support. by  doxygen 1.5.1