#include <AbbTransport.h>
Public Member Functions | |
AbbTransport (AbbDevice *dev, dabc::Reference port, unsigned path, uint32_t rocid, uint32_t hwtyp, dabc::Command cmd=0) | |
virtual | ~AbbTransport () |
virtual int | ExecuteCommand (dabc::Command cmd) |
virtual void | StartTransport () |
virtual void | StopTransport () |
Protected Member Functions | |
virtual void | ProcessPoolChanged (dabc::MemoryPool *pool) |
virtual unsigned | Read_Size () |
virtual unsigned | Read_Complete (dabc::Buffer &buf) |
virtual double | Read_Timeout () |
virtual int | GetParameter (const char *name) |
Protected Attributes | |
AbbDevice * | fDevice |
AbbContextRef | fContext |
unsigned | fBufferSize |
bool | fDaqRunning |
bool | fMbsHeader |
int | fBufCounter |
bool | fManyRocs |
std::vector< void * > | fDMABuffers |
bool | fMapError |
int | fFormat |
dabc::TimeStamp | fLastDMAtime |
double | fFlushTime |
unsigned | fOpticPath |
uint32_t | fBrdId |
uint32_t | fHwType |
Friends | |
class | AbbDevice |
Definition at line 32 of file AbbTransport.h.
roc::AbbTransport::AbbTransport | ( | AbbDevice * | dev, | |
dabc::Reference | port, | |||
unsigned | path, | |||
uint32_t | rocid, | |||
uint32_t | hwtyp, | |||
dabc::Command | cmd = 0 | |||
) |
Definition at line 25 of file AbbTransport.cxx.
References fBufferSize, roc::AbbDevice::fContext, fContext, fFlushTime, fFormat, fManyRocs, fMbsHeader, fOpticPath, and roc::xmlFlushTime.
roc::AbbTransport::~AbbTransport | ( | ) | [virtual] |
Definition at line 59 of file AbbTransport.cxx.
References roc::AbbContextRef::daemon(), fContext, fDevice, roc::AbbDevice::fTransport, and ProcessPoolChanged().
int roc::AbbTransport::ExecuteCommand | ( | dabc::Command | cmd | ) | [virtual] |
Definition at line 71 of file AbbTransport.cxx.
References fDaqRunning, fDevice, fFlushTime, fHwType, fLastDMAtime, fOpticPath, and roc::OpticPathPar.
int roc::AbbTransport::GetParameter | ( | const char * | name | ) | [protected, virtual] |
Definition at line 276 of file AbbTransport.cxx.
References fBrdId, fFormat, roc::xmlMsgFormat, roc::xmlRocNumber, and roc::xmlTransportKind.
void roc::AbbTransport::ProcessPoolChanged | ( | dabc::MemoryPool * | pool | ) | [protected, virtual] |
Definition at line 105 of file AbbTransport.cxx.
References roc::AbbContextRef::daemon(), fContext, fDMABuffers, fMapError, fMbsHeader, MbsShift, abbdaemon::ABBdaemonClient::registerBuffer(), abbdaemon::ABBdaemonClient::unregisterBuffer(), and abbdaemon::ABBexception::what().
Referenced by Read_Complete(), and ~AbbTransport().
unsigned roc::AbbTransport::Read_Complete | ( | dabc::Buffer & | buf | ) | [protected, virtual] |
Definition at line 180 of file AbbTransport.cxx.
References roc::AbbContextRef::daemon(), fBrdId, fBufCounter, fContext, fDaqRunning, fDMABuffers, fFlushTime, fFormat, fLastDMAtime, fManyRocs, fMapError, fMbsHeader, abbdaemon::ABBdaemonClient::getFIFOStatus(), MbsHeaderSize, MbsShift, roc::proc_RawData, ProcessPoolChanged(), roc::rbt_RawRocData, abbdaemon::ABBdaemonClient::readDMAserialized(), and abbdaemon::ABBexception::what().
unsigned roc::AbbTransport::Read_Size | ( | ) | [protected, virtual] |
Definition at line 160 of file AbbTransport.cxx.
References roc::AbbContextRef::daemon(), fBufferSize, fContext, fDaqRunning, fFlushTime, fLastDMAtime, fMbsHeader, abbdaemon::ABBdaemonClient::getFIFOStatus(), and MbsShift.
virtual double roc::AbbTransport::Read_Timeout | ( | ) | [inline, protected, virtual] |
Definition at line 63 of file AbbTransport.h.
void roc::AbbTransport::StartTransport | ( | ) | [virtual] |
Definition at line 255 of file AbbTransport.cxx.
void roc::AbbTransport::StopTransport | ( | ) | [virtual] |
Definition at line 265 of file AbbTransport.cxx.
friend class AbbDevice [friend] |
Definition at line 34 of file AbbTransport.h.
uint32_t roc::AbbTransport::fBrdId [protected] |
Definition at line 54 of file AbbTransport.h.
Referenced by GetParameter(), and Read_Complete().
int roc::AbbTransport::fBufCounter [protected] |
indicate that MBS header will be inserted in the begin of the buffer
Definition at line 43 of file AbbTransport.h.
Referenced by Read_Complete().
unsigned roc::AbbTransport::fBufferSize [protected] |
Definition at line 40 of file AbbTransport.h.
Referenced by AbbTransport(), and Read_Size().
AbbContextRef roc::AbbTransport::fContext [protected] |
Definition at line 39 of file AbbTransport.h.
Referenced by AbbTransport(), ProcessPoolChanged(), Read_Complete(), Read_Size(), and ~AbbTransport().
bool roc::AbbTransport::fDaqRunning [protected] |
Definition at line 41 of file AbbTransport.h.
Referenced by ExecuteCommand(), Read_Complete(), and Read_Size().
AbbDevice* roc::AbbTransport::fDevice [protected] |
Definition at line 38 of file AbbTransport.h.
Referenced by ExecuteCommand(), roc::AbbDevice::ObjectCleanup(), and ~AbbTransport().
std::vector<void*> roc::AbbTransport::fDMABuffers [protected] |
Indicate that data from several ROCs are possible - special marker in format
Definition at line 46 of file AbbTransport.h.
Referenced by ProcessPoolChanged(), and Read_Complete().
double roc::AbbTransport::fFlushTime [protected] |
Definition at line 52 of file AbbTransport.h.
Referenced by AbbTransport(), ExecuteCommand(), Read_Complete(), and Read_Size().
int roc::AbbTransport::fFormat [protected] |
indicate error when DMA buffer fails
Definition at line 48 of file AbbTransport.h.
Referenced by AbbTransport(), GetParameter(), and Read_Complete().
uint32_t roc::AbbTransport::fHwType [protected] |
Definition at line 55 of file AbbTransport.h.
Referenced by ExecuteCommand().
dabc::TimeStamp roc::AbbTransport::fLastDMAtime [protected] |
Definition at line 50 of file AbbTransport.h.
Referenced by ExecuteCommand(), Read_Complete(), and Read_Size().
bool roc::AbbTransport::fManyRocs [protected] |
counter of read buffers, used to number MBS events
Definition at line 44 of file AbbTransport.h.
Referenced by AbbTransport(), and Read_Complete().
bool roc::AbbTransport::fMapError [protected] |
Definition at line 47 of file AbbTransport.h.
Referenced by ProcessPoolChanged(), and Read_Complete().
bool roc::AbbTransport::fMbsHeader [protected] |
Definition at line 42 of file AbbTransport.h.
Referenced by AbbTransport(), ProcessPoolChanged(), Read_Complete(), and Read_Size().
unsigned roc::AbbTransport::fOpticPath [protected] |
Definition at line 53 of file AbbTransport.h.
Referenced by AbbTransport(), and ExecuteCommand().