Proxy for the Readout object in VxWorks
Accessors common to all PU
Architectural common member functions for all PU
Simple implementation of RTTI (see note above)
State transitions
virtual functions for generic configuring, starting/updating/continuing a state transition
Proxy for the Readout object in VxWorks. Every partition has one readout object in those DCM crates where DCMs of its allocated granules are located. Eg the DC.W and PC.W are in the same DCM crate. If there these two granules are allocated to two different partitions, then there are two readout objects in that DCM crate.The readout object has two functions: 1. it controls the DCMs on a partition basis, 2. it is able to read out the DCMs either through VME, DSP5 or through the VME readout of the PartitionModule.
The following things happen during the state transitions:
- connect:
Create the object in VxWorks.- initialise:
1. Send RO_INIT event, which sends the list of DCM config files to VxWorks, where they will be passed to DCM_ReadConfig, 2. send RO_ADDLIST, which has as parameters the list of devices, that are allocated to this partition (dcm, dcb, par).- download:
1. Send CLOSE_PROT if we have to close the socket and the socket connection is up, 2. send OPEN_PROT to (re-) open the socket connection to UNIX,- start_run:
Send the event RO_START_RUN with the run number, event limit and whether the dsps have been loaded to VxWorks.- stop_run:
Send the end_run event to VxWorksLast update: Feb 1, 2000, CW
static ROobject* getByCrate( const char *pcCrateName )
static char* makeUniqueName( const char *pcOriginalName )
static void listAll( ostream &os = cout )
static void dump_all( ostream &os = cout )
void identify( ostream &os = cout )
void dump( ostream &os = cout )
Accessors
static ROobject* getRoForPu( Pu* thePu )
inline const char* getCrateName()
inline void setHostToSendData( const char* pcHost )
inline void setSocket( int iNewSocket )
inline int getSocket()
void setProtocolType( int iType )
pstring getHostToSendData()
inline bool isSocketOpen()
inline void setDspLoaded( bool aBool )
void setInitFile( const char *file )
void addInitFile( const char *file )
int setDevices( int nDev, const char **pDevices )
- **pDevices Pointer to a pointer of devices
int addDevices( int nDev, const char **pDevices )
int addDevice( const char *device_name )
int addDevice( Pu *pPu )
int getDevices( list<Pu*> &theList )
void clearDeviceList()
bool checkReady( int iLevel )
int configure( const char *cmd, const char *value, const char *aux_param )
ROobject* castToROobject()
int getRunInfo( int &RunNb, int &iEventNb, int &iVolume, int &iBufferNb )
iEventNb - the current event number
iVolume - the number of MByte acquired so far
iBufferNb - the current buffer number Standard state transition functions.
int connect()
int initialise()
int download()
int start_run()
int end_run()
bool updatePu( int iStatus, int eState_on_success )
int createInVxWorks()
int deleteInVxWorks()
int sendROEvent( int iEventId )
int sendInitialisationEventToPar()
bool bCreatedInVxWorks
int iLastCmdSent
pstring psCrate
pstring psHostToSendData
int iSocket
int iProtocolType
bool bSocketOpen
bool bSocketCloseRequested
bool bDspLoaded
bool bDownloadDeviceList
list <Pu*> listDevices
list <pstring> listInitFiles
RoObject_var varRoObject
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de