Scope
scope::parameters::OutputsDAQmxLineClock 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 xpout
 
ScopeString yzout
 
ScopeValue< DaqTimingpixel_timing
 
ScopeValue< DaqTimingline_timing
 
ScopeNumber< double > minimumpixeltime
 
ScopeString pixel_referenceclocksource
 
ScopeString line_referenceclocksource
 
ScopeNumber< double > pixel_referenceclockrate
 
ScopeNumber< double > line_referenceclockrate
 
ScopeString pixel_externalclocksource
 
ScopeString line_externalclocksource
 
- 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 xp are driven by a pixel clock and yz by a line clock.

Warning
Make sure that xpout and yzout are on different boards! On a single NI board there can only be one output tasks (with one sampling clock)!!

Definition at line 596 of file IO.h.

Member Function Documentation

std::unique_ptr<Outputs> scope::parameters::OutputsDAQmxLineClock::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 602 of file IO.h.

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

Create function for factory.

Definition at line 605 of file IO.h.

double scope::parameters::OutputsDAQmxLineClock::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 466 of file IO.cpp.

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

Reimplemented from scope::parameters::Outputs.

Definition at line 470 of file IO.cpp.

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

load parameters from a boost::property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 474 of file IO.cpp.

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

save parameters into a boost:property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 489 of file IO.cpp.

void scope::parameters::OutputsDAQmxLineClock::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 514 of file IO.cpp.

Member Data Documentation

ScopeString scope::parameters::OutputsDAQmxLineClock::xpout

Analog output channel for x-scanner and Pockels cell (clocked by pixel clock)

Definition at line 608 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxLineClock::yzout

Analog output channel for y-scanner and fast z device (clocked by line clock)

Definition at line 611 of file IO.h.

ScopeValue<DaqTiming> scope::parameters::OutputsDAQmxLineClock::pixel_timing

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

Definition at line 614 of file IO.h.

ScopeValue<DaqTiming> scope::parameters::OutputsDAQmxLineClock::line_timing

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

Definition at line 617 of file IO.h.

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

Minimum sample time for 2 channel output.

E.g. for the NI-6259 this is 1/(2.00MS/s) = 0.5 us (see e.g. http://sine.ni.com/ds/app/doc/p/id/ds-22/lang/en).

Warning
If you are using two different boards the minimumpixeltime is obviously the one from the slower board.
For two different boards there can be problems if the minimum pixeltimes are different/not a multiple of each other! Better use two identical boards!

Definition at line 622 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxLineClock::pixel_referenceclocksource

source terminal of the reference clock for pixel sampling clock

Definition at line 625 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxLineClock::line_referenceclocksource

source terminal of the reference clock for line sampling clock

Definition at line 628 of file IO.h.

ScopeNumber<double> scope::parameters::OutputsDAQmxLineClock::pixel_referenceclockrate

rate in Hertz of the reference clock for pixel clock.

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

Definition at line 632 of file IO.h.

ScopeNumber<double> scope::parameters::OutputsDAQmxLineClock::line_referenceclockrate

rate in Hertz of the reference clock for line clock.

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

Definition at line 636 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxLineClock::pixel_externalclocksource

source terminal of an external clock for x and p pixel clock

Definition at line 639 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxLineClock::line_externalclocksource

source terminal of an external clock for y and z line clock

Definition at line 642 of file IO.h.


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