Scope
scope::parameters::InputsDAQmx Class Reference

#include <IO.h>

Inherits scope::parameters::Inputs.

Classes

struct  Diagnosis
 

Public Member Functions

std::unique_ptr< InputsClone () const override
 
double MinimumPixeltime () const override
 
double CoercedPixeltime (const double &_pixeltime) const override
 
void Load (const wptree &pt) override
 
void Save (wptree &pt) const override
 
void SetReadOnlyWhileScanning (const RunState &_runstate) override
 
- Public Member Functions inherited from scope::parameters::Inputs
virtual double MaximumPixeltime () const
 

Static Public Member Functions

static std::unique_ptr< InputsCreate ()
 
- Static Public Member Functions inherited from scope::parameters::Inputs
static std::unique_ptr< InputsFactory (const InputsType &_type)
 

Public Attributes

ScopeString channelsstring
 
ScopeNumber< double > range
 
ScopeValue< DaqTimingdaq_timing
 
ScopeString referenceclocksource
 
ScopeNumber< double > referenceclockrate
 
ScopeString externalclocksource
 
ScopeNumber< double > maxrateaggregate
 
ScopeValue< DaqSamplingsampling
 
Diagnosis diagnosis
 
- Public Attributes inherited from scope::parameters::Inputs
ScopeNumber< uint32_t > channels
 
ScopeNumber< bool > oversampling
 
ScopeValue< Uint16Rangerangetype
 
ScopeNumber< uint32_t > preframelines
 

Additional Inherited Members

- Protected Attributes inherited from scope::parameters::Base
std::vector< boost::signals2::connection > connection_collector
 

Detailed Description

Parameters for pixel acquisition with NI-DAQmx.

Definition at line 58 of file IO.h.

Member Function Documentation

static std::unique_ptr<Inputs> scope::parameters::InputsDAQmx::Create ( )
inlinestatic

Create method for factory.

Definition at line 65 of file IO.h.

std::unique_ptr<Inputs> scope::parameters::InputsDAQmx::Clone ( ) const
inlineoverridevirtual

Clone method to clone into a pointer.

Has to be overriden in derived classes. There it can use the compiler generated copy constructor with e.g. InputsDAQmx(*this).

Implements scope::parameters::Inputs.

Definition at line 67 of file IO.h.

double scope::parameters::InputsDAQmx::MinimumPixeltime ( ) const
overridevirtual
Returns
the minimum pixel dwell time (in microseconds), depending on max aggregate rate, number of channels, and sampling type

Reimplemented from scope::parameters::Inputs.

Definition at line 85 of file IO.cpp.

double scope::parameters::InputsDAQmx::CoercedPixeltime ( const double &  _pixeltime) const
overridevirtual
Returns
the _pixeltime coerced to the nearest value the device supports.

Reimplemented from scope::parameters::Inputs.

Definition at line 92 of file IO.cpp.

void scope::parameters::InputsDAQmx::Load ( const wptree &  pt)
overridevirtual

load parameters from a boost::property_tree

Reimplemented from scope::parameters::Inputs.

Definition at line 101 of file IO.cpp.

void scope::parameters::InputsDAQmx::Save ( wptree &  pt) const
overridevirtual

save parameters into a boost:property_tree

Reimplemented from scope::parameters::Inputs.

Definition at line 113 of file IO.cpp.

void scope::parameters::InputsDAQmx::SetReadOnlyWhileScanning ( const RunState _runstate)
overridevirtual

set values that must not be changed to read-only during scanning.

True = readonly, false = read&write

Reimplemented from scope::parameters::Inputs.

Definition at line 125 of file IO.cpp.

Member Data Documentation

ScopeString scope::parameters::InputsDAQmx::channelsstring

How many input channels (if sampling non-simulataneous this influences the available sampling rates)

Definition at line 70 of file IO.h.

ScopeNumber<double> scope::parameters::InputsDAQmx::range

Input range of the ADC.

NI-6259 analog in supports +-10, +-5, +-2, +-1, +-0.5, +-0.2, +-0.1, choose e.g. 1 for +-1V range. For a Hamatsu H7422, max 2ľA, 150kOhm preamp, means max 0.3V choose 0.5 (unfortunately you loose half of the dynamic range),

Definition at line 73 of file IO.h.

ScopeValue<DaqTiming> scope::parameters::InputsDAQmx::daq_timing

where to get the sampling clock from? Onboard, from external reference clock, or from external source

Definition at line 76 of file IO.h.

ScopeString scope::parameters::InputsDAQmx::referenceclocksource

source terminal of the reference clock

Definition at line 79 of file IO.h.

ScopeNumber<double> scope::parameters::InputsDAQmx::referenceclockrate

rate in Hertz of the reference clock.

Make sure this is correct even for using the onboard clock! Calculation of allowed pixel times depends on this!

Definition at line 83 of file IO.h.

ScopeString scope::parameters::InputsDAQmx::externalclocksource

source terminal of an external clock

Definition at line 86 of file IO.h.

ScopeNumber<double> scope::parameters::InputsDAQmx::maxrateaggregate

maximum aggregate sampling rate (divide this by number of channels to get per channel rate for non-simultaneous sampling)

Definition at line 89 of file IO.h.

ScopeValue<DaqSampling> scope::parameters::InputsDAQmx::sampling

simultaneous sampling or not

Definition at line 92 of file IO.h.

Diagnosis scope::parameters::InputsDAQmx::diagnosis

Some diagnosis parameters, more useful for FPGAs ...

Definition at line 105 of file IO.h.


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