Scope
scope::parameters::OutputsDAQmx Class Reference

#include <IO.h>

Inherits scope::parameters::Outputs.

Public Member Functions

std::unique_ptr< OutputsClone () const override
 
double CoercedPixeltime (const double &_pixeltime) const override
 
double MinimumPixeltime () const override
 
void Load (const wptree &pt) override
 
void Save (wptree &pt) const override
 
void SetReadOnlyWhileScanning (const RunState &_runstate) override
 

Static Public Member Functions

static std::unique_ptr< OutputsCreate ()
 
- Static Public Member Functions inherited from scope::parameters::Outputs
static std::unique_ptr< OutputsFactory (const OutputsType &_type)
 

Public Attributes

ScopeString channelsstring
 
ScopeValue< DaqTimingdaq_timing
 
ScopeNumber< double > minimumpixeltime
 
ScopeString referenceclocksource
 
ScopeNumber< double > referenceclockrate
 
ScopeString externalclocksource
 
ScopeString exportpixelclockterminal
 
- Public Attributes inherited from scope::parameters::Outputs
ScopeNumber< double > range
 
ScopeNumber< double > minoutputscanner
 
ScopeNumber< double > maxoutputscanner
 
ScopeNumber< double > minoutputpockels
 
ScopeNumber< double > maxoutputpockels
 

Additional Inherited Members

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

Detailed Description

Parameters for x/y-scanner/fast z/Pockels signal generation with NI-DAQmx where all output channels (xyzp) are driven by the same (pixel) clock.

Definition at line 552 of file IO.h.

Member Function Documentation

std::unique_ptr<Outputs> scope::parameters::OutputsDAQmx::Clone ( ) const
inlineoverridevirtual

Abstract 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. OutputsDAQmx(*this).

Implements scope::parameters::Outputs.

Definition at line 558 of file IO.h.

static std::unique_ptr<Outputs> scope::parameters::OutputsDAQmx::Create ( )
inlinestatic

Create function for factory.

Definition at line 561 of file IO.h.

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

Reimplemented from scope::parameters::Outputs.

Definition at line 418 of file IO.cpp.

double scope::parameters::OutputsDAQmx::MinimumPixeltime ( ) const
overridevirtual
Returns
the minimum pixel dwell time/sample time (in microseconds), depending on ...

Reimplemented from scope::parameters::Outputs.

Definition at line 422 of file IO.cpp.

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

load parameters from a boost::property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 426 of file IO.cpp.

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

save parameters into a boost:property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 437 of file IO.cpp.

void scope::parameters::OutputsDAQmx::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::Outputs.

Definition at line 448 of file IO.cpp.

Member Data Documentation

ScopeString scope::parameters::OutputsDAQmx::channelsstring

the four analog output channels to use for x, y, z, Pockels

Definition at line 564 of file IO.h.

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

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

Definition at line 567 of file IO.h.

ScopeNumber<double> scope::parameters::OutputsDAQmx::minimumpixeltime

Minimum sample time for 4 channel output.

E.g. for the NI-6259 this is 1/(1.25MS/s) = 0.8 us

Definition at line 570 of file IO.h.

ScopeString scope::parameters::OutputsDAQmx::referenceclocksource

source terminal of the reference clock

Definition at line 573 of file IO.h.

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

rate in Hertz of the reference clock.

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

Definition at line 577 of file IO.h.

ScopeString scope::parameters::OutputsDAQmx::externalclocksource

source terminal of an external clock

Definition at line 580 of file IO.h.

ScopeString scope::parameters::OutputsDAQmx::exportpixelclockterminal

terminal to which the pixel/sampleclock is exported

Definition at line 583 of file IO.h.


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