00001 //+============================================================================= 00002 // 00003 // = CONTEXT 00004 // TANGO Project - Abstract Electrometer Class Support Library 00005 // 00006 // = FILENAME 00007 // AbstractElectrometerClass.h 00008 // 00009 // 00010 // $Author: xavela $ 00011 // 00012 // $Revision: 1.2 $ 00013 // 00014 // $Log: not supported by cvs2svn $ 00014 // Revision 1.1 2007/07/09 13:20:09 stephle 00014 // initial import 00014 // 00014 // Revision 1.1 2006/12/01 14:56:41 elattaoui 00014 // xavier : 00014 // Doxygen doc added 00014 // 00015 // 00016 00017 // ============================================================================ 00018 00019 #ifndef _ABSTRACT_ELECTROMETER_CLASS_H_ 00020 #define _ABSTRACT_ELECTROMETER_CLASS_H_ 00021 00022 #include "ElectrometerProtocol.h" 00023 00030 class AbstractElectrometerClass 00031 { 00032 public: 00033 00037 AbstractElectrometerClass (std::string comLink_device_name); 00038 00042 virtual ~AbstractElectrometerClass (void); 00043 00047 virtual void range_up (void) = 0; 00048 virtual void range_down (void) = 0; 00049 virtual void reset (void); 00050 virtual void local (void); 00051 virtual void remote (void); 00052 00056 std::string get_value (void); 00057 00061 void autoRange_on (void); 00062 void zero_check_on (void); 00063 void zero_check_off (void); 00064 void zero_correct_on (void); 00065 void zero_correct_off (void); 00066 void auto_zero_on (void); 00067 void auto_zero_off (void); 00068 virtual void autoRange_off (void); 00069 virtual void setAmperMeterMode (void); 00070 virtual void setVoltMeterMode (void); 00071 virtual void setOhmMeterMode (void); 00072 virtual void setCoulombMeterMode(void); 00073 00078 void init_keithley (void); 00079 void clear_registers (void); 00080 void averageStateON (void); 00081 void averageStateOFF (void); 00082 void set_knplc (std::string nPLC); 00083 void set_triggercount (std::string trigcounts); 00084 void set_averagecount (std::string avercounts); 00085 void set_averagecontrol (std::string averctrl); 00086 std::string get_knplc (void); 00087 std::string get_triggercount (void); 00088 std::string get_averagecount (void); 00089 std::string get_averagecontrol (void); 00090 00096 virtual void set_Zero_VonF_function (void); 00097 virtual void set_Offset_ZeroV1_function (void); 00098 virtual void set_Leakage_ZeroV2_function(void); 00099 virtual void set_Test_function (void); 00100 virtual void mcce_on (void); 00101 virtual void mcce_off (void); 00105 virtual std::string get_ElectroMeterPolarity (void); 00106 virtual std::string get_ElectroMeterFrequency(void); 00107 virtual std::string get_ElectroMeterGain (void); 00108 virtual void set_ElectroMeterPolarity (std::string pola); 00109 virtual void set_ElectroMeterFrequency (std::string freq); 00110 virtual void set_ElectroMeterGain (std::string gain); 00111 00115 virtual std::string electrometer_status (void); 00116 00120 virtual std::string get_ElectroMeterMode (void); 00121 virtual std::string get_ElectroMeterRange (void); 00122 00123 00124 protected : 00125 short _range; 00126 std::string _rangeStr; 00127 std::string _mode; 00128 ElectrometerProtocol* _electrometerProtocol; 00129 std::string _device_proxy_name; 00130 00131 private : 00132 00133 00134 }; 00135 00136 #endif // _ABSTRACT_ELECTROMETER_CLASS_H_