Scope
OutputsDAQmxLineClock.h
1 #pragma once
2 
3 #include "Outputs.h"
4 #include "devices/daqmx/DAQmxTask.h"
5 
6 // Forward declarations
7 namespace scope {
8  namespace parameters {
9  class OutputsDAQmxLineClock;
10  class Scope;
11  }
12 }
13 
14 namespace scope {
15 
20  : public Outputs {
21 
22 protected:
25 
28 
30  int32_t XTotalPixels;
31 
33  int32_t YTotalLines;
34 
35 public:
37  OutputsDAQmxLineClock(const uint32_t& _area, const parameters::OutputsDAQmxLineClock& _outputparams, const parameters::Scope& _params);
38 
39  ~OutputsDAQmxLineClock(void);
40 
41  void Start() override;
42 
43  void Stop() override;
44 
45  int32_t Write(const std::vector<int16_t>& _xyzp, const uint32_t& _blocks) override;
46 };
47 
50 public:
54 };
55 
56 }
The master parameters class.
Definition: Scope.h:204
DAQmx::CDAQmxAnalogOutTask yzout_task
Task for y-scanner/fast z clocked by the line clock from the FPGA.
DAQmx::CDAQmxAnalogOutTask xpout_task
Task for x-scanner/Pockels clocked by the pixel clock from the FPGA.
void Start() override
Start task.
int32_t YTotalLines
Length of a column in samples.
Wraps hardware connection for signal output to scanners, fast z control, and pockels cell with NI-DAQ...
int32_t XTotalPixels
Length of a line in samples.
Wraps a DAQmx Analog Output task.
Definition: DAQmxTask.h:137
ZeroOutputsDAQmxLineClock(const parameters::OutputsDAQmxLineClock &_params)
Create a simple tasks for writing a scalar zero to all channels.
int32_t Write(const std::vector< int16_t > &_xyzp, const uint32_t &_blocks) override
Writes values for one frame of X-Y-fastZ and pockels data to the device buffer.
OutputsDAQmxLineClock(const uint32_t &_area, const parameters::OutputsDAQmxLineClock &_outputparams, const parameters::Scope &_params)
Creates the tasks and clock tasks.
void Stop() override
Stops task.
Wraps hardware connection for zeroing signal output to scanners, fast z control, and pockels cell wit...
Parameters for x/y-scanner/fast z/Pockels signal generation with NI-DAQmx where xp are driven by a pi...
Definition: IO.h:596
Wraps hardware connection for signal output to scanners, fast z control, and pockels cell...
Definition: Outputs.h:6