DABC (Data Acquisition Backbone Core)
2.9.9
|
The saftlib timing message input implementation for DABC. More...
#include <saftdabc/Input.h>
Public Member Functions | |
void | EventHandler (guint64 event, guint64 param, guint64 deadline, guint64 executed, guint16 flags=0xF) |
This is the signalhandler that treats condition events from saftlib. More... | |
Input (const saftdabc::DeviceRef &owner) | |
void | OverflowHandler (guint64 count) |
This is a signalhandler that treats overflow counter events. More... | |
virtual unsigned | Read_Complete (dabc::Buffer &buf) |
Complete reading of the buffer from source,. More... | |
virtual bool | Read_Init (const dabc::WorkerRef &wrk, const dabc::Command &cmd) |
Initialize data input, using port and command. More... | |
virtual unsigned | Read_Size () |
Defines required buffer size for next operation. More... | |
virtual unsigned | Read_Start (dabc::Buffer &buf) |
Prepare buffer for reading (if required) More... | |
virtual double | Read_Timeout () |
Provide timeout value. More... | |
void | SetTransportRef (dabc::InputTransport *trans) |
virtual | ~Input () |
Public Member Functions inherited from dabc::DataInput | |
virtual bool | Read_Stat (dabc::Command cmd) |
Provide timeout value. More... | |
Buffer | ReadBuffer () |
Reads complete buffer. More... | |
virtual | ~DataInput () |
Protected Member Functions | |
void | ClearEventQueue () |
clear input queue of timing events More... | |
bool | Close () |
void | ResetDescriptors () |
bool | SetupConditions () |
set up saftlib conditions from the configuration. More... | |
unsigned | Write_Hadaq (dabc::Buffer &buf) |
Fill output buffer with hadaq formatted data. More... | |
unsigned | Write_Mbs (dabc::Buffer &buf) |
Fill output buffer with mbs formatted data. More... | |
unsigned | Write_Raw (dabc::Buffer &buf) |
Fill output buffer with raw timing events. More... | |
Protected Member Functions inherited from dabc::DataInput | |
virtual WorkerAddon * | Read_GetAddon () |
Returns addon, provided by data input If specified, supposed that I/O object is double-deriver from DataInput and Addon. More... | |
Protected Attributes | |
DeviceRef | fDevice |
use dabc reference instead of direct pointer here. More... | |
EventFormats_t | fEventFormat |
long | fEventNumber |
Event number. More... | |
std::vector< std::string > | fInput_Names |
contains names of all hardware inputs to be latched More... | |
bool | fSingleEvents |
single events for each mbs container More... | |
std::vector< uint64_t > | fSnoop_Flags |
std::vector< uint64_t > | fSnoop_Ids |
contains event ids of all events to be snooped More... | |
std::vector< uint64_t > | fSnoop_Masks |
contains masks of all events to be snooped More... | |
std::vector< uint64_t > | fSnoop_Offsets |
unsigned | fSubeventId |
full mbs id number for saft subevent More... | |
double | fTimeout |
timeout (in seconds) for readout polling. More... | |
dabc::Reference | fTransport |
worker that is running this data input. More... | |
bool | fUseCallbackMode |
switch to work with time out polling or transport call back mode More... | |
bool | fVerbose |
verbose mode for timing events More... | |
Private Attributes | |
uint64_t | fLastOverflowCount |
previous overflow counter of all configured inputs More... | |
uint64_t | fOverflowCount |
current overflow counter of all configured inputs More... | |
dabc::Mutex | fQueueMutex |
Mutex to protect timingeventqueue. More... | |
std::queue< saftdabc::Timing_Event > | fTimingEventQueue |
this contains single queue for all snooped WR events. More... | |
bool | fWaitingForCallback |
flag to avoid invoking transport callback before transport done More... | |
The saftlib timing message input implementation for DABC.
Inputs to snoop/latch timestamps can be configured. When a signal occurs, timing message is captured and will be transported in mbs or hadaq subevent container. Alternatively, WR events may be captured by event id and mask
saftdabc::Input::Input | ( | const saftdabc::DeviceRef & | owner | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Initialize data input, using port and command.
This is generic virtual method to initialize input, using configurations from Port and (or) from the Command
[in] | wrk | reference on input port |
[in] | cmd | reference on command object |
Reimplemented from dabc::DataInput.
void saftdabc::Input::SetTransportRef | ( | dabc::InputTransport * | trans | ) |
|
virtual |
Defines required buffer size for next operation.
Reimplemented from dabc::DataInput.
|
virtual |
Prepare buffer for reading (if required)
Reimplemented from dabc::DataInput.
|
virtual |
Complete reading of the buffer from source,.
Reimplemented from dabc::DataInput.
|
inlinevirtual |
Provide timeout value.
When Read_Size or Read_Complete operations returns di_RepeatTimeout argument, specified timeout will be used before next operation will be done
Reimplemented from dabc::DataInput.
void saftdabc::Input::EventHandler | ( | guint64 | event, |
guint64 | param, | ||
guint64 | deadline, | ||
guint64 | executed, | ||
guint16 | flags = 0xF |
||
) |
void saftdabc::Input::OverflowHandler | ( | guint64 | count | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |