Scope
OutputsDAQmxSlave.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 OutputsDAQmxSlave;
10  class Scope;
11  }
12 }
13 
14 namespace scope {
15 
18  : public Outputs {
19 
20 protected:
23 
24 public:
26  OutputsDAQmxSlave(const uint32_t& _area, const parameters::OutputsDAQmxSlave& _outputparams, const parameters::Scope& _params);
27 
28  ~OutputsDAQmxSlave(void);
29 
30  void Start() override;
31 
32  void Stop() override;
33 
35  int32_t Write(const std::vector<int16_t>& _xyzp, const uint32_t& _blocks) override;
36 };
37 
40 public:
44 };
45 
46 }
Wraps hardware connection for signal output to fast z control and pockels cell (for a slave area with...
int32_t Write(const std::vector< int16_t > &_xyzp, const uint32_t &_blocks) override
we also take a std::vector but for the slave area it has only samples for z&p ! ...
The master parameters class.
Definition: Scope.h:204
DAQmx::CDAQmxAnalogOutTask zpout_task
Task for fast z/Pockels clocked by a pixel clock.
void Start() override
Start task.
Wraps hardware connection for zeroing signal output to fast z control and pockels cell with NI-DAQmx...
void Stop() override
Stops task.
Wraps a DAQmx Analog Output task.
Definition: DAQmxTask.h:137
Parameters for fastz/Pockels signal generation with NI-DAQmx where zp are driven by a pixel clock fro...
Definition: IO.h:656
OutputsDAQmxSlave(const uint32_t &_area, const parameters::OutputsDAQmxSlave &_outputparams, const parameters::Scope &_params)
Create the task for pockels and fast z.
ZeroOutputsDAQmxSlave(const parameters::OutputsDAQmxSlave &_params)
Create a simple tasks for writing a scalar zero to all channels.
Wraps hardware connection for signal output to scanners, fast z control, and pockels cell...
Definition: Outputs.h:6