QXRD  0.11.16
qxrdnidaqplugininterface.h
Go to the documentation of this file.
1 #ifndef QXRDNIDAQPLUGININTERFACE_H
2 #define QXRDNIDAQPLUGININTERFACE_H
3 
4 #include "qcepmacros.h"
5 #include <QtPlugin>
6 #include <QSharedPointer>
8 
10 {
11 public:
13 
14 public:
15  virtual void setErrorOutput(QObject *errors) = 0;
16 
17 // virtual void setAnalogChannel(int chan) = 0;
18  virtual void setAnalogWaveform(QString chan, double rate, double wfm[], int size) = 0;
19  virtual void triggerAnalogWaveform() = 0;
20  virtual void pulseOutput() = 0;
21 
22  virtual QStringList deviceNames() = 0;
23  virtual QString deviceType(QString device) = 0;
24  virtual int deviceIsSimulated(QString device) = 0;
25  virtual QStringList deviceAIChannels(QString device) = 0;
26  virtual QStringList deviceAOChannels(QString device) = 0;
27  virtual QStringList deviceDIPorts(QString device) = 0;
28  virtual QStringList deviceDILines(QString port) = 0;
29  virtual QStringList deviceDOPorts(QString device) = 0;
30  virtual QStringList deviceDOLines(QString port) = 0;
31  virtual QStringList deviceCIChannels(QString device) = 0;
32  virtual QStringList deviceCOChannels(QString device) = 0;
33 
34  virtual double getAnalogInput(QString channelName) = 0;
35  virtual void setAnalogOutput(QString channelName, double value) = 0;
36  virtual void setAnalogOutput(double value) = 0;
37 
38  virtual int prepareContinuousInput(double sampleRate,
39  double acquireDelay,
40  double exposureTime,
41  QStringList chans,
42  QVector<double> minVals,
43  QVector<double> maxVals) = 0;
44  virtual int countContinuousInput() = 0;
45  virtual int readContinuousInput() = 0;
46  virtual QVector<double> readContinuousInputChannel(int ch) = 0;
47  virtual void finishContinuousInput() = 0;
48 };
49 
50 #define QxrdNIDAQPluginInterface_iid "gov.anl.aps.cep.Qxrd.NIDAQInterface/1.0"
52 
53 #endif // QXRDNIDAQPLUGININTERFACE_H
virtual QStringList deviceCIChannels(QString device)=0
virtual QStringList deviceCOChannels(QString device)=0
virtual QString deviceType(QString device)=0
virtual void setAnalogWaveform(QString chan, double rate, double wfm[], int size)=0
virtual QStringList deviceAOChannels(QString device)=0
virtual QStringList deviceDOLines(QString port)=0
virtual void setAnalogOutput(QString channelName, double value)=0
virtual void pulseOutput()=0
virtual int prepareContinuousInput(double sampleRate, double acquireDelay, double exposureTime, QStringList chans, QVector< double > minVals, QVector< double > maxVals)=0
virtual void finishContinuousInput()=0
#define QxrdNIDAQPluginInterface_iid
virtual int deviceIsSimulated(QString device)=0
virtual void setErrorOutput(QObject *errors)=0
virtual double getAnalogInput(QString channelName)=0
virtual int countContinuousInput()=0
virtual QStringList deviceDIPorts(QString device)=0
virtual QStringList deviceNames()=0
virtual QStringList deviceDOPorts(QString device)=0
virtual QStringList deviceAIChannels(QString device)=0
virtual void triggerAnalogWaveform()=0
virtual QStringList deviceDILines(QString port)=0
virtual int readContinuousInput()=0
virtual QVector< double > readContinuousInputChannel(int ch)=0