Go to the documentation of this file.00001 #ifndef __LJACKLM_WRAPPER_H__
00002 #define __LJACKLM_WRAPPER_H__
00003
00033 #include <ros/ros.h>
00034 #include <ljacklm.h>
00035 #include "labjack_driver_interface.h"
00036
00037
00038
00039
00040
00041
00042 #define CONFIG_D 0x401
00043
00044
00045
00046 #define CONFIG_IO 0xE
00047
00048
00049 #define DEMO_MODE 0
00050 #define GAIN 0
00051
00052
00053 #define ID_LJ -1
00054
00055
00056 #define ERROR_PARAM -1
00057
00058 class LjacklmWrapper : public LabjackDriverInterface {
00059 public:
00064 long config();
00065
00070 long reset();
00071
00078 long readIO(long channel, long * state);
00079
00086 long writeIO(long channel, long state);
00087
00094 long readDIOs(long * stateD, long * stateIO);
00095
00104 long writeDIOs(long * direcD, long * direcIO, long * stateD, long * stateIO);
00105
00112 long writeDIOsCONFIG(long * stateD, long * stateIO);
00113
00120 long readD(long channel, long * state);
00121
00128 long writeD(long channel, long state);
00129
00136 long writeDCONFIG(long channel, long state);
00137
00144 long readAI(long channel, float * voltage);
00145
00153 long readAIs(long num_channels, long * channels, float * voltages);
00154
00161 long readDifferentialAI(long channel, float * voltage);
00162
00169 long writeAO(int channel, float voltage);
00170
00177 long writeAOs(float voltageAO0, float voltageAO1);
00178
00186 long enableWatchdog(long timeout, int activeD, long state);
00187
00193 long disableWatchdog(int activeD);
00194
00203 long writePulse(long pulse_level, long line, long pulse_time, long line_type);
00204
00210 long readDirectionDs(long * directions);
00211 };
00212
00213 #endif