Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// ============================================================================
//
// = CONTEXT
// TANGO Project - Novelec Electrometer Support Library
//
// = FILENAME
// Novelec_MCCE2.h
//
// = AUTHOR
// X. Elattaoui
//
// ============================================================================
#ifndef _NOVELEC_MCCE2_H_
#define _NOVELEC_MCCE2_H_
#include "AbstractElectrometerClass.h"
/**
* \addtogroup Novelec
* @{
*/
/**
* \brief This class manage Novelec MCCE-2 type
*
* \author Xavier Elattaoui
* \date 11-2006
*/
class Novelec_MCCE2 : public AbstractElectrometerClass
{
public:
/**
* \brief Initialization.
*/
Novelec_MCCE2 (std::string& comLink_device_name, unsigned short channel_address, unsigned short electroType);
/**
* \brief Release resources.
*/
virtual ~Novelec_MCCE2 (void);
std::string get_ElectroMeterPolarity(void);
void set_ElectroMeterPolarity (std::string);
/**
* \brief Electrometer Functions : mode for novelec types.
*/
void set_Zero_VonF_function (void);
void set_Offset_ZeroV1_function (void);
void set_Leakage_ZeroV2_function (void);
void set_Test_function (void);
void set_Measure_function (void);
//virtual void set_ElectroMeterRange(std::string range_str) = 0;
/**
* \brief Commands to start/stop the data acquisition
*
*
* This emulate the MCCE2 key ON/OFF
* (all parameters must be set before switching ON the MCCE2)
*/
void mcce_on (void);
void mcce_off (void);
/**
* \brief Electrometer Status.
*/
std::string electrometer_status (void);
protected :
unsigned short _rangeLimit; //- define the range limit for each novelec type
unsigned short _address; //- a DAIP manages 2 "channels" (or address)
unsigned short _MCCE2electroTypeNumber; //- the mcce2 electrometer type number (to check range value)
/**
* \brief Checks the new range value
*/
short check_range_value(const std::string& rgToCheck, const std::string* electroRangeList);