Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Keithley_6517.h 2.36 KiB
// ============================================================================
//
// = CONTEXT
// TANGO Project - SCPI Keithley Electrometer Support Library
//
// = FILENAME
// Keithley_6517.h
//
// = AUTHOR
// X. Elattaoui
//
// ============================================================================
#ifndef _Keithley_6517_H_
#define _Keithley_6517_H_
#include "AbstractElectrometerClass.h"
/**
* \addtogroup SCPI Keithley
* @{
*/
/**
* \brief This class manage 6517 Keithley type
*
* \author Xavier Elattaoui
* \date 09-2007
*/
class Keithley_6517 : public AbstractElectrometerClass
{
public:
/**
* \brief Initialization.
*/
Keithley_6517 (std::string& comLink_device_name);
/**
* \brief Release resources.
*/
virtual ~Keithley_6517 (void);
/**
* \brief protocole initailisation.
*/
bool init_protocol (void);
/**
* \brief Device dependent commands.
*/
void range_up (void);
void range_down (void);
std::vector<double> get_integratedValue (void);
std::vector<double> get_fetchValue (void);
/**
* \brief Electrometer Mode.
*/
void setAmperMeterMode (void);
void setVoltMeterMode (void);
void setOhmMeterMode (void);
void setCoulombMeterMode(void);
/**
* \brief Specifics commands.
*/
std::string get_averagecount (void);
void set_averagecount (std::string nbAvCntStr);
std::string get_averagecontrol(void);
void set_averagecontrol (std::string nbAverTCtrl);
void averageStateON (void);
void averageStateOFF (void);
/**
* \brief Methods to configure the integration mode.
*/
void set_knplc (double);
void set_triggercount (short);
void set_buffer_size (short);
void init_keithley (void);
/**
* \brief The integration time (sec).
*/
void set_integrationTime (double);
/**
* \brief Enable/Disable the VSource Output.
*/
void enable_VSourceOutput (void);
void disable_VSourceOutput(void);
void set_VSourceValue (double volts);
double get_VSourceValue (void);
//- TODO :
// SCPI_Filters* _ddcFilters;
// SCPI_Triggers* _ddcTriggers;
/**
* \brief Not supported commands.
*/
void auto_zero_on (void);
void auto_zero_off (void);
private:
//- method to obtain the range index
void update_range (void);
std::string _kmode;
double _numPLC;
int _trigCounts;
};
/** @} */ //- end addtogroup
#endif // _Keithley_6517_H_