00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef _KEITHLEY_SCPI_PROTOCOL_H_
00015 #define _KEITHLEY_SCPI_PROTOCOL_H_
00016
00017 #include "ElectrometerProtocol.h"
00018 #include "ElectrometerException.h"
00019
00032 class KeithleySCPIProtocol : public ElectrometerProtocol
00033 {
00034 public:
00035
00039 KeithleySCPIProtocol (std::string& gpib_device_name);
00040
00044 virtual ~KeithleySCPIProtocol (void);
00045
00049 void set_range (std::string value) ;
00050 void autoRange_on (void);
00051 void autoRange_off (void);
00052
00053 void zero_check_on (void);
00054 void zero_check_off (void);
00055 void zero_correct_on (void);
00056 void zero_correct_off (void);
00057 void zero_correct_state_on (void);
00058 void zero_correct_state_off(void);
00059 void auto_zero_on (void);
00060 void auto_zero_off (void);
00061 void reset (void);
00062
00066 void setAmperMeterMode (void);
00067 void setVoltMeterMode (void);
00068 void setOhmMeterMode (void);
00069 void setCoulombMeterMode(void);
00070
00074 std::string get_value (void);
00075 void init_keithley (void);
00076 void set_knplc (std::string nPLC);
00077 void set_triggercount (std::string trigcounts);
00078 void set_averagecount (std::string avercounts);
00079 void set_averagecontrol(std::string averctrl);
00080 std::string get_knplc (void);
00081 std::string get_triggercount (void);
00082 std::string get_averagecount (void);
00083 std::string get_averagecontrol (void);
00084 void clear_registers (void);
00085 void averageStateON (void);
00086 void averageStateOFF (void);
00087
00088
00092 std::string get_raw_status (void) ;
00093
00097 std::string get_mode (void);
00098 std::string get_range (void);
00099
00103 void set_isDiffSuportedMode (bool supportDiffMode)
00104 { isDiffSuportedMode = supportDiffMode; };
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118 protected :
00119
00120 private :
00121 bool isDiffSuportedMode;
00122
00123 };
00124
00126
00127 #endif // _KEITHLEY_SCPI_PROTOCOL_H_