Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

KeithleySCPIProtocol.h

00001 // ============================================================================
00002 //
00003 // = CONTEXT
00004 //    TANGO Project - SCPI Keithley Electrometer Support Library
00005 //
00006 // = FILENAME
00007 //    KeithleySCPIProtocol.h
00008 //
00009 // = AUTHOR
00010 //    X. Elattaoui
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                 /*      TODO : for next PicoLib evolution
00107         //- CMD B
00108 //      void reading_mode (void);
00109         void reading_source (void);
00110         //- CMD Q
00111         void data_store (void);
00112         //- CMD G
00113         void data_format (void);
00114         //- = REL
00115         void baseline_suppression_ON(void);
00116         void baseline_suppression_OFF(void);
00117         */
00118 protected :
00119 
00120 private :
00121         bool isDiffSuportedMode;
00122 
00123 };
00124         //- end addtogroup
00126 
00127 #endif // _KEITHLEY_SCPI_PROTOCOL_H_

Generated on Fri Dec 1 15:32:18 2006 for Electrometers Library by  doxygen 1.3.9.1