Scope
scope::InputsDAQmx Class Reference

#include <InputsDAQmx.h>

Inherits scope::Inputs.

Public Member Functions

 InputsDAQmx (const uint32_t &_area, const parameters::InputsDAQmx *const _inputparams, const parameters::Scope &_params)
 
 ~InputsDAQmx ()
 
void Start () override
 
void Stop () override
 
uint32_t StandardChunkSize () const override
 
int32_t Read (DaqChunk &_chunk, bool &_timedout, const double &_timeout) override
 
- Public Member Functions inherited from scope::Inputs
 Inputs (const uint32_t &_area)
 
virtual uint32_t RequestedSamples () const
 

Protected Attributes

DAQmx::CDAQmxAnalogInTask task
 
uint32_t standardchunksize
 
- Protected Attributes inherited from scope::Inputs
const uint32_t area
 
uint32_t requested_samples
 

Detailed Description

Wraps hardware connection for signal input from PMTs with NI-DAQmx.

Definition at line 20 of file InputsDAQmx.h.

Constructor & Destructor Documentation

scope::InputsDAQmx::InputsDAQmx ( const uint32_t &  _area,
const parameters::InputsDAQmx *const  _inputparams,
const parameters::Scope _params 
)

Creates a task for PMT signal acquisition with NI DAQmx.


Configure sample timings for output tasks. With DaqTiming ReferenceClock both tasks use the onboard oscillator (empty timing source string) which is synchronized to the PXI 10MHz backplane clock used as reference clock. Read http://www.ni.com/white-paper/3615/en, "M Series Synchronization with LabVIEW and NI-DAQmx" at NI Developer Zone.
Configures the triggering for all input tasks. Since all output&input tasks have to start synchronously, the start trigger for all is the /ao/StartTrigger signal of the first area's analog output task

Definition at line 11 of file InputsDAQmx.cpp.

scope::InputsDAQmx::~InputsDAQmx ( )

Stop and clear input tasks.

Definition at line 54 of file InputsDAQmx.cpp.

Member Function Documentation

void scope::InputsDAQmx::Start ( )
overridevirtual

Start task.

Implements scope::Inputs.

Definition at line 59 of file InputsDAQmx.cpp.

void scope::InputsDAQmx::Stop ( )
overridevirtual

Stops task.

Implements scope::Inputs.

Definition at line 63 of file InputsDAQmx.cpp.

uint32_t scope::InputsDAQmx::StandardChunkSize ( ) const
overridevirtual
Returns
the standard size of a read chunk (per channel)

Reimplemented from scope::Inputs.

Definition at line 67 of file InputsDAQmx.cpp.

int32_t scope::InputsDAQmx::Read ( DaqChunk _chunk,
bool &  _timedout,
const double &  _timeout 
)
overridevirtual

Reads one chunk of samples for one area.

Parameters
[in,out]_chunkchunk to fill with the read data
[out]_timedouttrue if read timed out
[in]_timeouttimeout in seconds after which to return even if not enough samples were read
Returns
the number of samples per channel actually read

Implements scope::Inputs.

Definition at line 71 of file InputsDAQmx.cpp.

Member Data Documentation

DAQmx::CDAQmxAnalogInTask scope::InputsDAQmx::task
protected

The DAQmx task.

Definition at line 25 of file InputsDAQmx.h.

uint32_t scope::InputsDAQmx::standardchunksize
protected

the standard chunk size per channel for Read

Definition at line 28 of file InputsDAQmx.h.


The documentation for this class was generated from the following files: