Scope
scope::parameters::OutputsDAQmxSlave 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 zpout
 
ScopeValue< DaqTimingtiming
 
ScopeNumber< double > minimumpixeltime
 
ScopeString referenceclocksource
 
ScopeNumber< double > referenceclockrate
 
ScopeString 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 fastz/Pockels signal generation with NI-DAQmx where zp are driven by a pixel clock from the master area.

Warning
Make sure that zpout is on a different board than the master area output. On a single NI board there can only be one output tasks! And the master area anyway takes up 4 output channels, so you definitely need a second board.

Definition at line 656 of file IO.h.

Member Function Documentation

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

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

Create function for factory.

Definition at line 665 of file IO.h.

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

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

Reimplemented from scope::parameters::Outputs.

Definition at line 522 of file IO.cpp.

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

load parameters from a boost::property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 526 of file IO.cpp.

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

save parameters into a boost:property_tree

Reimplemented from scope::parameters::Outputs.

Definition at line 536 of file IO.cpp.

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

Member Data Documentation

ScopeString scope::parameters::OutputsDAQmxSlave::zpout

Analog output channel for fast z and Pockels cell (clocked by a pixel clock)

Definition at line 668 of file IO.h.

ScopeValue<DaqTiming> scope::parameters::OutputsDAQmxSlave::timing

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

Definition at line 671 of file IO.h.

ScopeNumber<double> scope::parameters::OutputsDAQmxSlave::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)

Definition at line 674 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxSlave::referenceclocksource

source terminal of the reference clock for the sampling clock

Definition at line 677 of file IO.h.

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

rate in Hertz of the reference clock for sampling clock.

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

Definition at line 681 of file IO.h.

ScopeString scope::parameters::OutputsDAQmxSlave::externalclocksource

source terminal of an external clock for sampling clock (could be e.g.

a routed pixel clock from the master area or pixel clock from an FPGA)

Definition at line 684 of file IO.h.


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