Rcuxx::RcuACL Struct Reference
[RCU interface classes]

#include <rcuxx/Rcu.h>

Inheritance diagram for Rcuxx::RcuACL:

Inheritance graph
Collaboration diagram for Rcuxx::RcuACL:

Collaboration graph

List of all members.


Detailed Description

Interface to the RCU Active Channel List memory.

Public Member Functions

 RcuACL (Rcu &rcu, size_t base, size_t n, bool byIndex)
void EnableChannel (unsigned int board, unsigned int chip, unsigned int channel)
void DisableChannel (unsigned int board, unsigned int chip, unsigned int channel)
bool CheckChannel (unsigned int board, unsigned int chip, unsigned int channel) const
void EnableChip (unsigned int board, unsigned int chip, unsigned int mask=0xFFFF)
void DisableChip (unsigned int board, unsigned int chip)
unsigned int CheckChip (unsigned int board, unsigned int chip) const
void EnableCard (unsigned int board, unsigned int *masks, unsigned int max)
void DisableCard (unsigned int board)
void CheckBoard (unsigned int board, unsigned int *mask, unsigned int max) const
void EnableBoard (unsigned int board, unsigned int *mask, unsigned int max)
void DisableBoard (unsigned int board)
virtual unsigned int Update (size_t off, size_t n)
virtual unsigned int Commit (size_t off, size_t n)
virtual unsigned int Update ()
virtual unsigned int Commit ()
virtual unsigned int Clear ()
virtual void Zero ()
void Print () const

Protected Member Functions

Hide base class member functions
void Set (size_t off, size_t n, unsigned int *d)
void Get (size_t off, size_t n, unsigned int *d)
Cache_tData ()

Protected Attributes

bool fByIndex
ChannelList fChannels

Constructor & Destructor Documentation

Rcuxx::RcuACL::RcuACL ( Rcu rcu,
size_t  base,
size_t  n,
bool  byIndex 
) [inline]

Constructor.

Parameters:
rcu Reference to low-level interface
base Base address
n Number of words


Member Function Documentation

void Rcuxx::RcuACL::EnableChannel ( unsigned int  board,
unsigned int  chip,
unsigned int  channel 
) [inline]

Enable a channel.

References CheckChannel(), and fChannels.

Referenced by EnableChip(), and Update().

void Rcuxx::RcuACL::DisableChannel ( unsigned int  board,
unsigned int  chip,
unsigned int  channel 
) [inline]

Enable a channel.

References fChannels.

Referenced by DisableChip(), and EnableChip().

bool Rcuxx::RcuACL::CheckChannel ( unsigned int  board,
unsigned int  chip,
unsigned int  channel 
) const [inline]

Check a channel.

References fChannels.

Referenced by CheckChip(), and EnableChannel().

void Rcuxx::RcuACL::EnableChip ( unsigned int  board,
unsigned int  chip,
unsigned int  mask = 0xFFFF 
) [inline]

Enable a full chip.

References DisableChannel(), and EnableChannel().

Referenced by Rcuxx::RcuACTFEC::ACLSync(), and EnableBoard().

void Rcuxx::RcuACL::DisableChip ( unsigned int  board,
unsigned int  chip 
) [inline]

Enable a full chip.

References DisableChannel().

Referenced by DisableBoard().

unsigned int Rcuxx::RcuACL::CheckChip ( unsigned int  board,
unsigned int  chip 
) const [inline]

Get a mask of enabled channels in a chip.

References CheckChannel().

Referenced by CheckBoard(), and Rcuxx::RcuACTFEC::SyncToACL().

void Rcuxx::RcuACL::EnableCard ( unsigned int  board,
unsigned int *  masks,
unsigned int  max 
)

Enable a full card.

void Rcuxx::RcuACL::DisableCard ( unsigned int  board  ) 

Enable a full card.

void Rcuxx::RcuACL::CheckBoard ( unsigned int  board,
unsigned int *  mask,
unsigned int  max 
) const [inline]

Get a list of masks for a board.

References CheckChip().

void Rcuxx::RcuACL::EnableBoard ( unsigned int  board,
unsigned int *  mask,
unsigned int  max 
) [inline]

Enable a board.

References EnableChip().

void Rcuxx::RcuACL::DisableBoard ( unsigned int  board  )  [inline]

Disable a board.

References DisableChip().

unsigned int Rcuxx::RcuACL::Update ( size_t  off,
size_t  n 
) [inline, virtual]

Update the cache (restricted).

Parameters:
off Where to start reading
n How many words to read
Returns:
0 on success, error code otherwise

Reimplemented from Rcuxx::RcuMemory.

References EnableChannel(), fByIndex, fChannels, Rcuxx::RcuMemory::fData, Rcuxx::RcuMemory::fSize, and Rcuxx::RcuMemory::Update().

unsigned int Rcuxx::RcuACL::Commit ( size_t  off,
size_t  n 
) [inline, virtual]

Write to the hardware (restricted).

Parameters:
off Where to start writing
n How many words to write
Returns:
0 on success, error code otherwise

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::Commit(), fByIndex, fChannels, Rcuxx::RcuMemory::fData, and Rcuxx::RcuMemory::fSize.

virtual unsigned int Rcuxx::RcuACL::Update (  )  [inline, virtual]

Update the cache.

Returns:
0 on success, error code otherwise

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::fSize.

virtual unsigned int Rcuxx::RcuACL::Commit (  )  [inline, virtual]

Commit to the RCU.

Returns:
0 on success, error code otherwise

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::fSize.

virtual unsigned int Rcuxx::RcuACL::Clear (  )  [inline, virtual]

Clear memory.

Reimplemented from Rcuxx::RcuMemory.

References fChannels.

Referenced by Zero().

virtual void Rcuxx::RcuACL::Zero (  )  [inline, virtual]

Zero the memory.

Reimplemented from Rcuxx::RcuMemory.

References Clear(), and Rcuxx::RcuMemory::Zero().

void Rcuxx::RcuACL::Print (  )  const [inline, virtual]

Print cache to standard output.

Reimplemented from Rcuxx::RcuMemory.

References fChannels.

void Rcuxx::RcuACL::Set ( size_t  off,
size_t  n,
unsigned int *  d 
) [inline, protected]

Set the cache.

Parameters:
off Starting offset
n How many words (size of d)
d The values Set

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::Set().

void Rcuxx::RcuACL::Get ( size_t  off,
size_t  n,
unsigned int *  d 
) [inline, protected]

Get the cache.

Parameters:
off Starting offset
n How many words (size of d)
d On return, the values

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::Get().

Cache_t& Rcuxx::RcuACL::Data (  )  [inline, protected]

Returns:
Get the data

Reimplemented from Rcuxx::RcuMemory.

References Rcuxx::RcuMemory::fData.


Member Data Documentation

bool Rcuxx::RcuACL::fByIndex [protected]

Whether cards/channels are index by location, or by entries.

Referenced by Commit(), and Update().


The documentation for this struct was generated from the following file:
Top of page Last update Wed Jun 4 00:50:17 2008
Copyright © 2004 Christian Holm Created by DoxyGen 1.5.6