Scope
scope::Outputs Class Reference

#include <Outputs.h>

Inherited by scope::OutputsDAQmx, scope::OutputsDAQmxLineClock, scope::OutputsDAQmxResonance, and scope::OutputsDAQmxSlave.

Public Member Functions

 Outputs (const uint32_t &_area)
 
virtual void Start ()
 
virtual void Stop ()
 
virtual int32_t Write (const std::vector< int16_t > &_xyzp, const uint32_t &_blocks=1)
 
virtual void AbortWrite ()
 

Protected Attributes

const uint32_t area
 
std::atomic< bool > writeabort
 

Detailed Description

Wraps hardware connection for signal output to scanners, fast z control, and pockels cell.

Definition at line 6 of file Outputs.h.

Constructor & Destructor Documentation

scope::Outputs::Outputs ( const uint32_t &  _area)

get the area and set up everything

Definition at line 6 of file Outputs.cpp.

Member Function Documentation

virtual void scope::Outputs::Start ( void  )
inlinevirtual
virtual void scope::Outputs::Stop ( void  )
inlinevirtual
virtual int32_t scope::Outputs::Write ( const std::vector< int16_t > &  _xyzp,
const uint32_t &  _blocks = 1 
)
inlinevirtual

Writes values for one frame of X-Y-fastZ and pockels data to the device buffer.

Depending on the implementation in the derived classes, this _xyzp can be a complete frame or e.g. only one x line (for x and p), one y column (for y and fast z) , which are then repeated by the device.

Parameters
[in]_xyzpthe scannervector with xyzp data to write to device
[in]_blocksin how many blocks should the scannervector be written (more blocks faster update, since smaller blocksize -> buffer for this is free earlier), see "DAQmx quick buffer update.vi"

Reimplemented in scope::OutputsDAQmxResonance, scope::OutputsDAQmx, scope::OutputsDAQmxLineClock, and scope::OutputsDAQmxSlave.

Definition at line 32 of file Outputs.h.

void scope::Outputs::AbortWrite ( )
virtual

Aborts a running Write by setting writeabort to true (which is checked on every block-write of Write)

Definition at line 16 of file Outputs.cpp.

Member Data Documentation

const uint32_t scope::Outputs::area
protected

which area this one is for

Definition at line 10 of file Outputs.h.

std::atomic<bool> scope::Outputs::writeabort
protected

Signal for aborting a write operation (since write is performed in several blocks, abort can happen in between)

Definition at line 13 of file Outputs.h.


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