Scope
StimulationsDAQmx.h
1 #pragma once
2 
3 #include "ScopeDefines.h"
4 #include "devices/daqmx/DAQmxTask.h"
5 
6 // Forward declarations
7 namespace scope {
8  namespace parameters {
9  class Scope;
10  }
11 }
12 
13 namespace scope {
14 
17 
18 protected:
21 
22 public:
25  StimulationsDAQmx(const parameters::Scope& _params);
26 
29 
31  void Start();
32 
35  virtual int32_t Write(std::shared_ptr<const std::vector<uint8_t>> const _stimvec);
36 };
37 
38 }
StimulationsDAQmx(const parameters::Scope &_params)
Creates the tasks for digital stimulation output with NI-DAQmx.
The master parameters class.
Definition: Scope.h:204
Wraps hardware connection for stimulation output with NI-DAQmx.
~StimulationsDAQmx()
Stop and clear the digital stimulation task.
void Start()
Start stimulation task, waits on first output task sample clock.
Wraps a DAQmx Digital Output task.
Definition: DAQmxTask.h:224
DAQmx::CDAQmxDigitalOutTask task
The DAQmx tasks.
virtual int32_t Write(std::shared_ptr< const std::vector< uint8_t >> const _stimvec)
Write the stimulation vector to the digital stimulation task.