Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

SctPixelRod::RodModule Class Reference

RodModule: This is a derived class providing the software interface for VME ROD modules. More...

#include <RodModule.h>

Inheritance diagram for SctPixelRod::RodModule:

SctPixelRod::VmeModule

Public Member Functions

 RodModule (unsigned long baseAddr, unsigned long mapSize, VmeInterface &ourInterface, long numSlaves) throw (RodException&, VmeException &)
virtual ~RodModule ()
unsigned long getBaseAddress ()
long getSlot () const
unsigned long getSerialNumber ()
unsigned long getRevision ()
void setNumSlaves (long numSlaves)
long getNumSlaves () const
void setFinBufferSize (long finBufferSize)
long getFinBufferSize () const
std::string getMasterImageName ()
std::string getslaveIpramName (long slaveNum)
std::string getslaveIdramName (long slaveNum)
std::string getslaveExtName (long slaveNum)
unsigned long getVmeCommandRegVal (long regNum)
VmePortgetVmePort ()
BocCardgetBocCard ()
void setOutList (RodOutList *outList)
RodOutListgetOutList ()
PrimState getPrimState ()
TextBuffState getTextState ()
long getMode ()
long getOverwrite ()
long getOverflow ()
long getWrap ()
TEXT_BUFFER_TYPE getTextBufferType ()
void initialize ()
void initialize (bool resetFlag) throw (RodException &, VmeException &)
void reset () throw (RodException&, VmeException &)
void status () throw ()
bool verify () throw ()
void initSlaveDsp (const std::string &ipramFile, const std::string &idramFile, const std::string &extFile, const long slaveNumber, char opt='n') throw (RodException&, NoImageFile&, VmeException &)
void loadSlaveImage (const std::string &filename, const unsigned long address, const long slaveNumber, char opt='n') throw (NoImageFile &, RodException &, VmeException &)
void startSlave (const long slaveNumber, char mode='s') throw (VmeException &)
void synchSendPrim (RodPrimitive &prim) throw (RodException &, VmeException &)
void sendPrimList (RodPrimList *l) throw (VmeException &)
PrimState primHandler () throw (RodException &, VmeException &)
bool getDspAck ()
 Get DspAck bit.

void setInListReady ()
 Set InListReady bit.

void deleteOutList () throw ()
 Delete reply buffer object.

long getAllTextBuffBits ()
TextBuffState textHandler () throw (VmeException &)
void getTextBuffer (char *buffer, long &length, TEXT_BUFFER_TYPE &type) throw ()
void clearTextBuffer () throw ()
unsigned long readRodStatusReg (long regNumber)
 Inline method to read one ROD Status Register via HPI.

unsigned long readRodCommandReg (long regNumber)
 Inline method to read one ROD Command Register via HPI.

bool readRodStatusBit (long regNumber, long bitNumber)
 Inline method to read one ROD Status Register Bit via HPI.

void setVmeCommandRegBit (const long bitNumber)
 Inline method to set VmeCommand Register Bit.

void clearVmeCommandRegBit (const long bitNumber)
 Inline method to clear VmeCommand Register Bit.

void hpiLoad (const unsigned long hpiReg, const unsigned long hpiValue) throw (VmeException &)
unsigned long hpiFetch (const unsigned long hpiReg) throw (VmeException &)
unsigned long mdspSingleRead (const unsigned long dspAddr) throw (VmeException &)
void mdspSingleWrite (unsigned long dspAddr, unsigned long buffer) throw (VmeException &)
void mdspBlockRead (const unsigned long dspAddr, unsigned long *buffer, long wordCount, HpidMode mode=DYNAMIC) throw (HpiException &, VmeException &)
void mdspBlockWrite (const unsigned long dspAddr, unsigned long *buffer, long wordCount, HpidMode mode=DYNAMIC) throw (HpiException &, VmeException &)
void mdspBlockDump (const unsigned long firstAddress, const unsigned long lastAddress, const std::string &fileName) throw (RodException &, VmeException &)
void slvHpiLoad (unsigned long hpiReg, unsigned long hpiValue, long slaveNum) throw (VmeException &)
unsigned long slvHpiFetch (unsigned long hpiReg, long slaveNum) throw (VmeException &)
unsigned long slvSingleRead (unsigned long dspAddr, long slaveNum) throw (VmeException &)
void slvSingleWrite (unsigned long dspAddr, unsigned long buffer, long slaveNum) throw (VmeException &)
void slvBlockRead (const unsigned long dspAddr, unsigned long buffer[], const long wordCount, long slaveNum, HpidMode mode=DYNAMIC) throw (HpiException &, VmeException &)
void slvBlockWrite (unsigned long dspAddr, unsigned long buffer[], const long wordCount, long slaveNum, HpidMode mode=DYNAMIC) throw (HpiException &, VmeException &)
void resetMasterDsp () throw (VmeException &)
void resetSlaveDsp (long slaveNumber) throw (VmeException &)
void resetAllDsps () throw (VmeException &)
void chipEraseHpi () throw (VmeException &)
void sectorErase (unsigned long sectorBaseAddress) throw (RodException &, VmeException &)
void writeByteToFlash (unsigned long address, UINT8 data) throw (RodException &, VmeException &)
void writeBlockToFlash (unsigned long address, UINT8 *data, unsigned long numBytes) throw (VmeException &)
void writeBlockToFlashHpi (unsigned long address, UINT8 *data, unsigned long numBytes) throw (RodException &, VmeException &)
UINT8 readByteFromFlash (unsigned long address, long updateAddress) throw (RodException &, VmeException &)
void vmeWriteElementFlash (UINT8 value, unsigned long address, long handshakeBit) throw (RodException &, VmeException &)
void readBlockFromFlash (unsigned long address, UINT8 *buffer, unsigned long numBytes) throw (VmeException &)
void commonEraseCommands (unsigned long flashBaseAddr) throw (VmeException &)
void commonEraseCommandsHpi (unsigned long flashBaseAddr) throw (VmeException &)
unsigned long getFlashSectorSize ()
void sleep (const double milliSecs)
unsigned long checkSum (const unsigned long *sourceArray, const long wordCount)
unsigned long endianReverse32 (const unsigned long inVal)

Private Member Functions

 RodModule (const RodModule &rhs)
RodModule & operator= (const RodModule &rhs)
void setBit (unsigned long *var, long bitNumber)
 inline bit manipulation functions

void clearBit (unsigned long *var, long bitNumber)
bool readBit (unsigned long var, long bitNumber)

Private Attributes

long m_slot
 Slot number in VME crate.

unsigned long m_serialNumber
 Board serial number (read during init, dummy valued loaded by constructor.

unsigned long m_revision
 Board vesion (read during init, dummy value loaded by constructor).

VmePortm_myVmePort
 VME Port handle.

long m_numSlaves
 Number of slave DSPs on this ROD.

long m_finBufferSize
 Size of file input buffer, in bytes. Default=4096 bytes, probably good enough.

std::string m_masterImageName
 string holding name of master image file

std::string m_slaveIpramName [4]
 string array holding names of slave IPRAM image files

std::string m_slaveIdramName [4]
 string array holding names of slave IDRAM image files

std::string m_slaveExtName [4]
 string array holding names of slave external image files

unsigned long m_vmeCommandReg [2]
 Cached copy of VME command registers and ROD status registers.

unsigned long m_rodStatusReg [3]
RodOutListm_myOutList
 A pointer to the array holding a reply buffer from a PrimList.

PrimState m_myPrimState
 State variable for sending primitive lists.

TextBuffState m_myTextState
 State variable for reading text buffers.

TEXT_BUFFER_TYPE m_textType
 Text buffer type.

TXTBUFFER m_txtBuffer
 A struct holding text buffer info from txtbuffer.h.

char m_textData [TEXT_BUFF_SIZE]
 A local buffer to hold the text data.

unsigned long * m_textBuff [N_TXT_BUFFS]
 Array of pointers to the text buffers in MasterDSP space.

BocCardm_myBoc
 BocCard handle.


Detailed Description

RodModule: This is a derived class providing the software interface for VME ROD modules.

This is the implementation of a ROD class derived from the VmeModules base class It should be the sole interface for VME communication with the ROD modules.

Author:
Tom Meyer (meyer@iastate.edu) - originator

Definition at line 123 of file RodModule.h.


Constructor & Destructor Documentation

SctPixelRod::RodModule::RodModule const RodModule &    rhs [private]
 

SctPixelRod::RodModule::RodModule unsigned long    baseAddr,
unsigned long    mapSize,
VmeInterface   ourInterface,
long    numSlaves
throw (RodException&, VmeException &)
 

virtual SctPixelRod::RodModule::~RodModule   [virtual]
 


Member Function Documentation

unsigned long SctPixelRod::RodModule::checkSum const unsigned long *    sourceArray,
const long    wordCount
 

checkSum() calculates a bit-wise XOR checksum on an array

void SctPixelRod::RodModule::chipEraseHpi   throw (VmeException &)
 

chipEraseHpi(VmeException &) erases the master program flash memory chip.

void SctPixelRod::RodModule::clearBit unsigned long *    var,
long    bitNumber
[inline, private]
 

Definition at line 499 of file RodModule.h.

void SctPixelRod::RodModule::clearTextBuffer   throw ()
 

clearTextBuffer() clears a text buffer so it can be reused.

void SctPixelRod::RodModule::clearVmeCommandRegBit const long    bitNumber [inline]
 

Inline method to clear VmeCommand Register Bit.

Definition at line 316 of file RodModule.h.

void SctPixelRod::RodModule::commonEraseCommands unsigned long    flashBaseAddr throw (VmeException &)
 

commonEraseCommands() implements common erase commands for the FPGA flash.

void SctPixelRod::RodModule::commonEraseCommandsHpi unsigned long    flashBaseAddr throw (VmeException &)
 

commonEraseCommandsHpi() implements common erase commands for the master program flash.

void SctPixelRod::RodModule::deleteOutList   throw ()
 

Delete reply buffer object.

unsigned long SctPixelRod::RodModule::endianReverse32 const unsigned long    inVal
 

endianReverse32( reverses the endian-ness of a 32 bit value

long SctPixelRod::RodModule::getAllTextBuffBits   [inline]
 

getAllTextBuffBits() reads all four text_buffer_not_empty bits at once, do if checkAllTextBuffs returns a TRUE value.

Definition at line 262 of file RodModule.h.

References SctPixelRod::TEXT_BUFF_NOT_EMPTY.

unsigned long SctPixelRod::RodModule::getBaseAddress   [inline]
 

Definition at line 136 of file RodModule.h.

BocCard* SctPixelRod::RodModule::getBocCard   [inline]
 

Definition at line 152 of file RodModule.h.

bool SctPixelRod::RodModule::getDspAck   [inline]
 

Get DspAck bit.

Definition at line 251 of file RodModule.h.

long SctPixelRod::RodModule::getFinBufferSize   const [inline]
 

Definition at line 143 of file RodModule.h.

unsigned long SctPixelRod::RodModule::getFlashSectorSize  
 

getFlashSectorSize() test the board revision and returns the correct value for the flash sector size.

std::string SctPixelRod::RodModule::getMasterImageName   [inline]
 

Definition at line 144 of file RodModule.h.

long SctPixelRod::RodModule::getMode   [inline]
 

Definition at line 158 of file RodModule.h.

long SctPixelRod::RodModule::getNumSlaves   const [inline]
 

Definition at line 141 of file RodModule.h.

RodOutList* SctPixelRod::RodModule::getOutList   [inline]
 

Definition at line 154 of file RodModule.h.

long SctPixelRod::RodModule::getOverflow   [inline]
 

Definition at line 160 of file RodModule.h.

long SctPixelRod::RodModule::getOverwrite   [inline]
 

Definition at line 159 of file RodModule.h.

PrimState SctPixelRod::RodModule::getPrimState   [inline]
 

Definition at line 155 of file RodModule.h.

References SctPixelRod::PrimState.

unsigned long SctPixelRod::RodModule::getRevision   [inline]
 

Definition at line 139 of file RodModule.h.

unsigned long SctPixelRod::RodModule::getSerialNumber   [inline]
 

Definition at line 138 of file RodModule.h.

std::string SctPixelRod::RodModule::getslaveExtName long    slaveNum [inline]
 

Definition at line 147 of file RodModule.h.

std::string SctPixelRod::RodModule::getslaveIdramName long    slaveNum [inline]
 

Definition at line 146 of file RodModule.h.

std::string SctPixelRod::RodModule::getslaveIpramName long    slaveNum [inline]
 

Definition at line 145 of file RodModule.h.

long SctPixelRod::RodModule::getSlot   const [inline]
 

Definition at line 137 of file RodModule.h.

void SctPixelRod::RodModule::getTextBuffer char *    buffer,
long &    length,
TEXT_BUFFER_TYPE   type
throw ()
 

getTextBuffer() reads a complete text buffer into destBuffer. Buffnumber is 0 for ERR buffer, 1 for INFO buffer, 2 for DIAG buffer, and 3 for the XFER buffer. This function should be called only if checkAllTextBits shows the corresponding bit set in Status Register 0.

TEXT_BUFFER_TYPE SctPixelRod::RodModule::getTextBufferType   [inline]
 

Definition at line 162 of file RodModule.h.

References SctPixelRod::TEXT_BUFFER_TYPE.

TextBuffState SctPixelRod::RodModule::getTextState   [inline]
 

Definition at line 156 of file RodModule.h.

References SctPixelRod::TextBuffState.

unsigned long SctPixelRod::RodModule::getVmeCommandRegVal long    regNum [inline]
 

Definition at line 148 of file RodModule.h.

VmePort* SctPixelRod::RodModule::getVmePort   [inline]
 

Definition at line 151 of file RodModule.h.

long SctPixelRod::RodModule::getWrap   [inline]
 

Definition at line 161 of file RodModule.h.

unsigned long SctPixelRod::RodModule::hpiFetch const unsigned long    hpiReg throw (VmeException &)
 

hpiFetch() fetches a 32-bit value from one of the HPI registers. Although the HPI has a 16-bit data path, we use a 32-bit VME access, with the ROD firmware doing the necessary conversion.

void SctPixelRod::RodModule::hpiLoad const unsigned long    hpiReg,
const unsigned long    hpiValue
throw (VmeException &)
 

hpiLoad() loads a 32-bit value into the HPIA or HPID register. Although the HPI has a 16-bit data path, we use a 32-bit VME access and the word is broken into two 16-bit values in the ROD firmware.

void SctPixelRod::RodModule::initialize bool    resetFlag throw (RodException &, VmeException &)
 

void SctPixelRod::RodModule::initialize   [virtual]
 

initialize() performs all actions necessary to place a properly loaded ROD in its initialized state, except for initializing the slave DSPs. This must be done separately using initSlaveDsp().

Activities: Reset the ROD Read ROD serial number Load 0x000l000l into Master DSP HPIC register. (Says low order 16-bit word comes first) Read back HPIC to verify Retrieve pointers to text buffer structs Initialize PrimList and TextBuff state variables

Implements SctPixelRod::VmeModule.

void SctPixelRod::RodModule::initSlaveDsp const std::string &    ipramFile,
const std::string &    idramFile,
const std::string &    extFile,
const long    slaveNumber,
char    opt = 'n'
throw (RodException&, NoImageFile&, VmeException &)
 

initSlaveDsp() initializes a given slave DSP. Activities:

  • set HPIC to make first halfword most significant
  • load the binary images for IPRAM, IDRAM, and external memory
  • start the slave executing. This should start flashing the green front panel LED for this slave.

void SctPixelRod::RodModule::loadSlaveImage const std::string &    filename,
const unsigned long    address,
const long    slaveNumber,
char    opt = 'n'
throw (NoImageFile &, RodException &, VmeException &)
 

loadSlaveImage() reads a binary file from disk and loads it into the slave memory space at the specified location. Usually, the optional last argument should be omitted.

void SctPixelRod::RodModule::mdspBlockDump const unsigned long    firstAddress,
const unsigned long    lastAddress,
const std::string &    fileName
throw (RodException &, VmeException &)
 

mdspBlockDump() reads a block of MDSP memory and write it to a binary file (debug use only)

void SctPixelRod::RodModule::mdspBlockRead const unsigned long    dspAddr,
unsigned long *    buffer,
long    wordCount,
HpidMode    mode = DYNAMIC
throw (HpiException &, VmeException &)
 

mdspBlockRead() reads a block of size wordCount 32-bit words from the Master DSP SDRAM via its Host Port Interface (HPI). The present version uses a loop over single word reads instead of a block read.

void SctPixelRod::RodModule::mdspBlockWrite const unsigned long    dspAddr,
unsigned long *    buffer,
long    wordCount,
HpidMode    mode = DYNAMIC
throw (HpiException &, VmeException &)
 

mdspBlockWrite() writes a buffer of wordCount 32-bit words to the Master DSP SDRAM via its Host Port Interface (HPI). The present version uses a loop over single word writes instead of a block write.

unsigned long SctPixelRod::RodModule::mdspSingleRead const unsigned long    dspAddr throw (VmeException &)
 

mdspSingleRead() reads a single 32-bit word from the Master DSP SDRAM via its Host Port Interface (HPI).

void SctPixelRod::RodModule::mdspSingleWrite unsigned long    dspAddr,
unsigned long    buffer
throw (VmeException &)
 

mdspSingleWrite() writes a single 32-bit word to the Master DSP SDRAM via its Host Port Interface (HPI).

RodModule& SctPixelRod::RodModule::operator= const RodModule &    rhs [private]
 

PrimState SctPixelRod::RodModule::primHandler   throw (RodException &, VmeException &)
 

primHandler() handles steps 2-4 in sending a primitive list to the master DSP. Its action depends on the value of the m_myPrimState state variable.

bool SctPixelRod::RodModule::readBit unsigned long    var,
long    bitNumber
[inline, private]
 

Definition at line 504 of file RodModule.h.

void SctPixelRod::RodModule::readBlockFromFlash unsigned long    address,
UINT8 *    buffer,
unsigned long    numBytes
throw (VmeException &)
 

readBlockFromFlash() reads a block from FPGA flash memory.

UINT8 SctPixelRod::RodModule::readByteFromFlash unsigned long    address,
long    updateAddress
throw (RodException &, VmeException &)
 

readByteFromFlash( reads a byte from FPGA flash memory.

unsigned long SctPixelRod::RodModule::readRodCommandReg long    regNumber [inline]
 

Inline method to read one ROD Command Register via HPI.

Definition at line 295 of file RodModule.h.

bool SctPixelRod::RodModule::readRodStatusBit long    regNumber,
long    bitNumber
[inline]
 

Inline method to read one ROD Status Register Bit via HPI.

Definition at line 302 of file RodModule.h.

unsigned long SctPixelRod::RodModule::readRodStatusReg long    regNumber [inline]
 

Inline method to read one ROD Status Register via HPI.

Definition at line 288 of file RodModule.h.

void SctPixelRod::RodModule::reset   throw (RodException&, VmeException &) [virtual]
 

reset() issues a reset signal to the ROD, clears IDRAM, resets all DSPs, and re-initializes all state variables.

Implements SctPixelRod::VmeModule.

void SctPixelRod::RodModule::resetAllDsps   throw (VmeException &)
 

resetAllDsps() resets all five DSPs via FPGA Control Register 2

void SctPixelRod::RodModule::resetMasterDsp   throw (VmeException &)
 

resetMasterDsp() resets the Master DSP via FPGA Control Register 2

void SctPixelRod::RodModule::resetSlaveDsp long    slaveNumber throw (VmeException &)
 

resetSlaveDsp() resets a slave DSP via FPGA Control Register 2

void SctPixelRod::RodModule::sectorErase unsigned long    sectorBaseAddress throw (RodException &, VmeException &)
 

sectorErase() erases a sector of FPGA flash memory.

void SctPixelRod::RodModule::sendPrimList RodPrimList   l throw (VmeException &)
 

sendPrimList() is the first of five steps in sending a primitive list to the master DSP. It writes the primitive list to the InListBuffer in SDRAM0.

To send a PrimList: 1. sendPrimList(destAddr, &primBuffer) 2. Poll until DspAck = 0 using getDspAck() 3. Set InListReady bit using setInListReady() 4. poll until DspAck = 1 using getDspAck() 5. getOutList(repAddr, &repBuffer) Note: repBuffer=0 if there is no reply Buffer

void SctPixelRod::RodModule::setBit unsigned long *    var,
long    bitNumber
[inline, private]
 

inline bit manipulation functions

Definition at line 494 of file RodModule.h.

void SctPixelRod::RodModule::setFinBufferSize long    finBufferSize [inline]
 

Definition at line 142 of file RodModule.h.

void SctPixelRod::RodModule::setInListReady   [inline]
 

Set InListReady bit.

Definition at line 254 of file RodModule.h.

void SctPixelRod::RodModule::setNumSlaves long    numSlaves [inline]
 

Definition at line 140 of file RodModule.h.

References numSlaves.

void SctPixelRod::RodModule::setOutList RodOutList   outList [inline]
 

Definition at line 153 of file RodModule.h.

void SctPixelRod::RodModule::setVmeCommandRegBit const long    bitNumber [inline]
 

Inline method to set VmeCommand Register Bit.

Definition at line 309 of file RodModule.h.

void SctPixelRod::RodModule::sleep const double    milliSecs
 

sleep() sleeps for a given number of milliseconds, VmeException &

void SctPixelRod::RodModule::slvBlockRead const unsigned long    dspAddr,
unsigned long    buffer[],
const long    wordCount,
long    slaveNum,
HpidMode    mode = DYNAMIC
throw (HpiException &, VmeException &)
 

slvBlockRead() reads a block of size wordCount 32-bit words from a slave DSP's SDRAM via its Host Port Interface (HPI). Endian swapping, if needed, is done in mdspBlockRead. Usually, the optional last argument should be omitted.

void SctPixelRod::RodModule::slvBlockWrite unsigned long    dspAddr,
unsigned long    buffer[],
const long    wordCount,
long    slaveNum,
HpidMode    mode = DYNAMIC
throw (HpiException &, VmeException &)
 

slvBlockWrite() writes a buffer of wordCount 32-bit words to a slave DSP's SDRAM via its Host Port Interface (HPI). Endian swapping, if needed, is done in mdspBlockWrite. Usually, the optional last argument should be omitted.

unsigned long SctPixelRod::RodModule::slvHpiFetch unsigned long    hpiReg,
long    slaveNum
throw (VmeException &)
 

slvHpiFetch() fetches a 32-bit value from a slave's HPI registers. Endian swapping, if needed, is done in mdspSingleRead.

void SctPixelRod::RodModule::slvHpiLoad unsigned long    hpiReg,
unsigned long    hpiValue,
long    slaveNum
throw (VmeException &)
 

slvHpiLoad() loads a 32-bit value into a slave's HPIA or HPID register. Endian swapping, if needed, is done in mdspSingleWrite.

unsigned long SctPixelRod::RodModule::slvSingleRead unsigned long    dspAddr,
long    slaveNum
throw (VmeException &)
 

slvSingleRead() reads a single 32-bit word from the the memory space of a slave DSP. Endian swapping, if needed, is done in mdspSingleRead.

void SctPixelRod::RodModule::slvSingleWrite unsigned long    dspAddr,
unsigned long    buffer,
long    slaveNum
throw (VmeException &)
 

slvSingleWrite() writes a single 32-bit word to a slave DSP SDRAM via its Host Port Interface (HPI). Endian swapping, if needed, is done in mdspSingleWrite.

void SctPixelRod::RodModule::startSlave const long    slaveNumber,
char    mode = 's'
throw (VmeException &)
 

startSlave() sends a START_SLAVE_EXECUTING primitive to start a given slave DSP. Usually, the optional last argument should be omitted.

void SctPixelRod::RodModule::status   throw () [virtual]
 

status() reports the status of the ROD. For now, it simply prints to standard output. Later we will add a structured report of name=value pairs.

Implements SctPixelRod::VmeModule.

void SctPixelRod::RodModule::synchSendPrim RodPrimitive   prim throw (RodException &, VmeException &)
 

synchSendPrim() synchronously sends a single primitive to the MDSP and handles the calls to primHandler() to finish the transfer before returning control to its calling routine. It is not the normal way to send primitives, but is useful for initialization where time criticality is not so much of a factor.

The present version writes to cout. This needs to be changed.

TextBuffState SctPixelRod::RodModule::textHandler   throw (VmeException &)
 

textHandler() handles reading a text buffer from the rod into a RodTextBuff object. Its action depends on the value of the m_myTextState state variable.

Returns:
The value of the text buffer state variable at the end of execution.

bool SctPixelRod::RodModule::verify   throw ()
 

verify checks the h.o. byte of the serial number register to see that it contains the hex value 'ad', which is the signature of a ROD. It returns true if this is\ the case, false otherwise.

void SctPixelRod::RodModule::vmeWriteElementFlash UINT8    value,
unsigned long    address,
long    handshakeBit
throw (RodException &, VmeException &)
 

vmeWriteElementFlash() does a VME write of an element to an FPGA flash.

void SctPixelRod::RodModule::writeBlockToFlash unsigned long    address,
UINT8 *    data,
unsigned long    numBytes
throw (VmeException &)
 

writeBlockToFlash() writes a block to FPGA flash memory.

void SctPixelRod::RodModule::writeBlockToFlashHpi unsigned long    address,
UINT8 *    data,
unsigned long    numBytes
throw (RodException &, VmeException &)
 

writeBlockToFlashHpi() writes a block to the master program flash memory.

void SctPixelRod::RodModule::writeByteToFlash unsigned long    address,
UINT8    data
throw (RodException &, VmeException &)
 

writeByteToFlash() writes a byte to FPGA flash memory.


Field Documentation

long SctPixelRod::RodModule::m_finBufferSize [private]
 

Size of file input buffer, in bytes. Default=4096 bytes, probably good enough.

Definition at line 523 of file RodModule.h.

std::string SctPixelRod::RodModule::m_masterImageName [private]
 

string holding name of master image file

Definition at line 526 of file RodModule.h.

BocCard* SctPixelRod::RodModule::m_myBoc [private]
 

BocCard handle.

Definition at line 563 of file RodModule.h.

RodOutList* SctPixelRod::RodModule::m_myOutList [private]
 

A pointer to the array holding a reply buffer from a PrimList.

Definition at line 542 of file RodModule.h.

PrimState SctPixelRod::RodModule::m_myPrimState [private]
 

State variable for sending primitive lists.

Definition at line 545 of file RodModule.h.

TextBuffState SctPixelRod::RodModule::m_myTextState [private]
 

State variable for reading text buffers.

Definition at line 548 of file RodModule.h.

VmePort* SctPixelRod::RodModule::m_myVmePort [private]
 

VME Port handle.

Definition at line 517 of file RodModule.h.

long SctPixelRod::RodModule::m_numSlaves [private]
 

Number of slave DSPs on this ROD.

Definition at line 520 of file RodModule.h.

unsigned long SctPixelRod::RodModule::m_revision [private]
 

Board vesion (read during init, dummy value loaded by constructor).

Definition at line 514 of file RodModule.h.

unsigned long SctPixelRod::RodModule::m_rodStatusReg[3] [private]
 

Definition at line 539 of file RodModule.h.

unsigned long SctPixelRod::RodModule::m_serialNumber [private]
 

Board serial number (read during init, dummy valued loaded by constructor.

Definition at line 511 of file RodModule.h.

std::string SctPixelRod::RodModule::m_slaveExtName[4] [private]
 

string array holding names of slave external image files

Definition at line 535 of file RodModule.h.

std::string SctPixelRod::RodModule::m_slaveIdramName[4] [private]
 

string array holding names of slave IDRAM image files

Definition at line 532 of file RodModule.h.

std::string SctPixelRod::RodModule::m_slaveIpramName[4] [private]
 

string array holding names of slave IPRAM image files

Definition at line 529 of file RodModule.h.

long SctPixelRod::RodModule::m_slot [private]
 

Slot number in VME crate.

Definition at line 508 of file RodModule.h.

unsigned long* SctPixelRod::RodModule::m_textBuff[N_TXT_BUFFS] [private]
 

Array of pointers to the text buffers in MasterDSP space.

Definition at line 560 of file RodModule.h.

char SctPixelRod::RodModule::m_textData[TEXT_BUFF_SIZE] [private]
 

A local buffer to hold the text data.

Definition at line 557 of file RodModule.h.

TEXT_BUFFER_TYPE SctPixelRod::RodModule::m_textType [private]
 

Text buffer type.

Definition at line 551 of file RodModule.h.

struct TXTBUFFER SctPixelRod::RodModule::m_txtBuffer [private]
 

A struct holding text buffer info from txtbuffer.h.

Definition at line 554 of file RodModule.h.

unsigned long SctPixelRod::RodModule::m_vmeCommandReg[2] [private]
 

Cached copy of VME command registers and ROD status registers.

Definition at line 538 of file RodModule.h.


The documentation for this class was generated from the following file:
Generated on Mon Dec 15 19:38:07 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3