DCSModulesAPI  1.0.0
DCS sub project containing all the control modules as libraries.
DCS_ModuleAcquisition.h
Go to the documentation of this file.
1 #ifndef _DCS_ACQ_H
2 #define _DCS_ACQ_H
3 
4 #pragma once
5 #include "../../config/exports.h"
6 #include "../../DCS_Utils/include/DCS_ModuleUtils.h"
7 
8 
20 namespace DCS
21 {
25  namespace DAQ
26  {
30  enum class ChannelType
31  {
32  None,
33  Voltage,
34  Counter
35  };
36 
40  enum class ChannelRef
41  {
42  None = 0,
43  Default = -1,
44  SingleEnded = 10083,
45  NoRefSingleEnded = 10078,
46  Differential = 10106,
47  PseudoDifferential = 12529
48  };
49 
57  {
58  DCS::f64 min = -10.0;
59  DCS::f64 max = 10.0;
60  };
61 
62  // TODO : Document
64  {
65  DCS::u64 counts;
66  DCS::Timer::Timestamp timestamp;
67  DCS::f64 expected_angle;
68  DCS::f64 measured_angle;
69  };
70 
74  DCS_API void Init();
75 
79  DCS_API void Terminate();
80 
99 
111 
124  DCS_API void StartAIAcquisition(DCS::f64 samplerate);
125 
135  DCS_REGISTER_CALL(void)
136  DCS_API void StopAIAcquisition();
137 
138  // TODO : Document
140  DCS_API void PeakDetectWithAngleEvent();
141  }
142 }
143 
144 #endif _DCS_ACQ_H
Use referenced single ended signal.
#define DCS_API
Defines the export interface acessible via the dll-interface. Only important for SHARED LIB Compile M...
Definition: exports.h:116
DCS_API void Terminate()
Cleans up the Acquisition API.
Definition: external_cmds.cpp:39
double f64
Equivalent to double.
Definition: DCS_ModuleUtils.h:61
Use pseudo-differential signal. See here for more info.
Let DAQmx use the default reference for the current channel.
A very simple string buffer to hold char values. Used for string information manipulations via tcp/ip...
Definition: DCS_ModuleUtils.h:121
Use differential signal.
ChannelType
Classifies a channel type of the DAQ.
Definition: DCS_ModuleAcquisition.h:30
#define DCS_REGISTER_CALL(...)
Append this definition before function declarations to register it as a tcp connection callable...
Definition: exports.h:74
A counter channel. Freq out for outputs.
Represents a timestamp divided fieldwise.
Definition: DCS_ModuleUtils.h:295
DCS_API void DeleteAIVChannel(DCS::Utils::BasicString name)
Deletes an existing voltage channel from the acquisition stage.
Definition: external_cmds.cpp:116
DCS_API void StartAIAcquisition(DCS::f64 samplerate)
Starts the AI (Analog Input) data acquisition.
Definition: external_cmds.cpp:121
ChannelRef
Classifies a channel reference connector for the DAQ.
Definition: DCS_ModuleAcquisition.h:40
Use unreferenced single ended signal.
Definition: registry.h:70
DCS_API void StopAIAcquisition()
Stops the AI (Analog Input) data acquisition.
Definition: external_cmds.cpp:147
DCS_API void Init()
Initializes the Acquisition API.
Definition: external_cmds.cpp:33
DCS_API void NewAIVChannel(DCS::Utils::BasicString name, DCS::Utils::BasicString channel_name, ChannelRef ref, ChannelLimits lim)
Creates a new voltage channel to add to the acquisition stage.
Definition: external_cmds.cpp:88
Channel measurement numeric limits.
Definition: DCS_ModuleAcquisition.h:56
unsigned long long u64
Equivalent to uint_64t.
Definition: DCS_ModuleUtils.h:52
Definition: DCS_ModuleAcquisition.h:63
#define DCS_REGISTER_EVENT
Append this definition before function declarations (or anywhere in the code) to register a tcp conne...
Definition: exports.h:95