Go to the documentation of this file.00001 #ifndef __LABJACK_DRIVER_INTERFACE_H__
00002 #define __LABJACK_DRIVER_INTERFACE_H__
00003
00027 class LabjackDriverInterface {
00028 public:
00032 LabjackDriverInterface()
00033 {
00034 }
00035
00039 virtual ~LabjackDriverInterface()
00040 {
00041 }
00042
00047 virtual long config() = 0;
00048
00053 virtual long reset() = 0;
00054
00061 virtual long readIO(long channel, long * state) = 0;
00062
00069 virtual long writeIO(long channel, long state) = 0;
00070
00077 virtual long readDIOs(long * stateD, long * stateIO) = 0;
00078
00087 virtual long writeDIOs(long * direcD, long * direcIO, long * stateD, long * stateIO) = 0;
00088
00095 virtual long writeDIOsCONFIG(long * stateD, long * stateIO) = 0;
00096
00103 virtual long readD(long channel, long * state) = 0;
00104
00111 virtual long writeD(long channel, long state) = 0;
00112
00119 virtual long writeDCONFIG(long channel, long state) = 0;
00120
00127 virtual long readAI(long channel, float * voltage) = 0;
00128
00136 virtual long readAIs(long num_channels, long * channels, float * voltages) = 0;
00137
00144 virtual long readDifferentialAI(long channel, float * voltage) = 0;
00145
00152 virtual long writeAO(int channel, float voltage) = 0;
00153
00160 virtual long writeAOs(float voltageAO0, float voltageAO1) = 0;
00161
00169 virtual long enableWatchdog(long timeout, int activeD, long state) = 0;
00170
00176 virtual long disableWatchdog(int activeD) = 0;
00177
00186 virtual long writePulse(long pulse_level, long line, long pulse_time, long line_type) = 0;
00187
00193 virtual long readDirectionDs(long * directions) = 0;
00194 };
00195
00196 #endif