fdhwlib  2.0.25
FltPixRegister Class Reference

#include <FltPixRegister.h>

Inheritance diagram for FltPixRegister:
Pbus FltCurrent FltHitrate FltPeriphRegister FltStatistic FltSum FltTestPattern FltThreshold KaFltThreshold

List of all members.

Public Member Functions

Private Attributes


Detailed Description

General class for Register vectors on the FLT boards - in most cases the elements correspond with the pixel in one column.

The registers are numbered always starting from 0. E.g. the pixel in one column can be addressed from 0..21.

Changes:

  • The address model changed because of the extended ADC RAM in FLT Version 3.
  • The address model changes in Flt version 2.00
Todo:
Remove the simulation of the block transfer in the functions read/write when DMA access becomes available
See also:
Flt FltRegister

Definition at line 42 of file FltPixRegister.h.


Constructor & Destructor Documentation

FltPixRegister::FltPixRegister ( const char *  name,
int  slotID,
int  regID,
int  r,
int  w,
int  len 
)
virtual FltPixRegister::~FltPixRegister ( ) [virtual]

Member Function Documentation

void FltPixRegister::broadcast ( unsigned long  data,
int  mode 
)

Write to all to all registers (mode=0) and/or all registers in all slots (mode=1) at the same time.

void FltPixRegister::get ( FEunitData **  data)

Get the data of the register.

unsigned long FltPixRegister::getAddr ( int  ch = 0)

Get address.

int FltPixRegister::getLength ( )

Display the length of the register vector.

const char* FltPixRegister::getName ( )
bool FltPixRegister::isReadable ( )
bool FltPixRegister::isWriteable ( )
unsigned long FltPixRegister::read ( int  ch)

Read the register number <ch>

Reimplemented in FltPeriphRegister, FltThreshold, FltCurrent, and FltSum.

void FltPixRegister::read ( unsigned long *  data,
int  allPixel = 0 
)

Perform a block read on all registers.

The Array <data> must have an appropriate size.

Parameters:
dataArray of 22, 24, 440 or 480 elements depending on the register
allPixel0 = Read only the pixel in this column, 1 = Read the values of all pixel
void FltPixRegister::write ( int  ch,
unsigned long  data 
)

Write to the register number <ch>

Reimplemented in FltPeriphRegister, FltThreshold, and FltCurrent.

void FltPixRegister::write ( unsigned long *  data)

Perform a block write on all registers.

The Array <data> must have an appropriate size.

Reimplemented in FltPeriphRegister, FltThreshold, and FltTestPattern.

void FltPixRegister::writeBits ( int  ch,
unsigned long  data,
unsigned long  mask,
int  shift 
)

Write the <data> to a bit sequence in register number <ch>.

An example is given with FltRegister::writeBits

Reimplemented in FltPeriphRegister.

virtual int FltPixRegister::writeBitsByName ( int  ch,
char *  name,
unsigned long  data 
) [virtual]

Set a bit field by name.

The bit field have to be defined in the specialized classes.

Parameters:
chnumber of the channel
namename of the bit field
datavaues to write to the specified bit field
Returns:
0 Ok, 1 bit field unknown

Reimplemented in FltPeriphStatus, FltThreshold, and FltStatistic.


Member Data Documentation

unsigned long FltPixRegister::addr [private]

Pbus base address.

Definition at line 123 of file FltPixRegister.h.

int FltPixRegister::len [private]

Length of the register vector.

Definition at line 139 of file FltPixRegister.h.

const char* FltPixRegister::name [private]

Name.

Definition at line 127 of file FltPixRegister.h.

bool FltPixRegister::readable [private]

Definition at line 131 of file FltPixRegister.h.

bool FltPixRegister::writeable [private]

Definition at line 135 of file FltPixRegister.h.


The documentation for this class was generated from the following file: