Skip to content
Snippets Groups Projects
Commit 5be6c9bc authored by ELATTAOUI's avatar ELATTAOUI
Browse files

VSource control added !

parent 246730f1
No related branches found
No related tags found
No related merge requests found
...@@ -9,9 +9,12 @@ ...@@ -9,9 +9,12 @@
// //
// $Author: xavela $ // $Author: xavela $
// //
// $Revision: 1.18 $ // $Revision: 1.19 $
// //
// $Log: not supported by cvs2svn $ // $Log: not supported by cvs2svn $
// Revision 1.18 2010/03/17 10:00:15 xavela
// VSource output added for K_6517
//
// Revision 1.17 2009/10/14 15:26:17 xavela // Revision 1.17 2009/10/14 15:26:17 xavela
// KeithleyMemory leak fixed. // KeithleyMemory leak fixed.
// Novelec part updated // Novelec part updated
...@@ -196,8 +199,14 @@ public: ...@@ -196,8 +199,14 @@ public:
virtual short get_buffer_size (void); virtual short get_buffer_size (void);
virtual short get_triggerMode (void) { return _trigMod;}; virtual short get_triggerMode (void) { return _trigMod;};
/**
* \brief VSource operations (only for K_6517)
*
*/
virtual void enable_VSourceOutput (void); virtual void enable_VSourceOutput (void);
virtual void disable_VSourceOutput(void); virtual void disable_VSourceOutput(void);
virtual void set_VSourceValue (double volts);
virtual double get_VSourceValue (void);
/** /**
* \brief Novelec Electrometer methods * \brief Novelec Electrometer methods
......
...@@ -74,8 +74,13 @@ public: ...@@ -74,8 +74,13 @@ public:
void setVoltMeterMode (void); void setVoltMeterMode (void);
void setOhmMeterMode (void); void setOhmMeterMode (void);
void setCoulombMeterMode(void); void setCoulombMeterMode(void);
/**
* \brief VSource operations.
*/
void setVSourceOutputON (void); void setVSourceOutputON (void);
void setVSourceOutputOFF(void); void setVSourceOutputOFF(void);
void setVSourceValue (double volts);
std::string getVSourceValue (void);
/** /**
* \brief Electrometer : cmd to get electrometer data. * \brief Electrometer : cmd to get electrometer data.
......
...@@ -89,6 +89,8 @@ public: ...@@ -89,6 +89,8 @@ public:
*/ */
void enable_VSourceOutput (void); void enable_VSourceOutput (void);
void disable_VSourceOutput(void); void disable_VSourceOutput(void);
void set_VSourceValue (double volts);
double get_VSourceValue (void);
//- TODO : //- TODO :
// SCPI_Filters* _ddcFilters; // SCPI_Filters* _ddcFilters;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</parent> </parent>
<groupId>fr.soleil.lib</groupId> <groupId>fr.soleil.lib</groupId>
<artifactId>Electrometers-${aol}-${library}-${mode}</artifactId> <artifactId>Electrometers-${aol}-${library}-${mode}</artifactId>
<version>2.4.0</version> <version>2.5.0</version>
<packaging>nar</packaging> <packaging>nar</packaging>
<name>Electrometers library</name> <name>Electrometers library</name>
<description>Electrometers library</description> <description>Electrometers library</description>
......
...@@ -11,9 +11,12 @@ ...@@ -11,9 +11,12 @@
// //
// $Author: xavela $ // $Author: xavela $
// //
// $Revision: 1.20 $ // $Revision: 1.21 $
// //
// $Log: not supported by cvs2svn $ // $Log: not supported by cvs2svn $
// Revision 1.20 2010/03/17 10:00:15 xavela
// VSource output added for K_6517
//
// Revision 1.19 2009/10/14 15:26:17 xavela // Revision 1.19 2009/10/14 15:26:17 xavela
// KeithleyMemory leak fixed. // KeithleyMemory leak fixed.
// Novelec part updated // Novelec part updated
...@@ -649,6 +652,26 @@ void AbstractElectrometerClass::disable_VSourceOutput (void) ...@@ -649,6 +652,26 @@ void AbstractElectrometerClass::disable_VSourceOutput (void)
"AbstractElectrometerClass::disable_VSourceOutput( )."); "AbstractElectrometerClass::disable_VSourceOutput( ).");
} }
// ============================================================================
// AbstractElectrometerClass::set_VSourceValue
// ============================================================================
void AbstractElectrometerClass::set_VSourceValue (double)
{
throw electrometer::ElectrometerException("COMMAND_NOT_SUPPORTED",
"This Electrometer does not support this command.",
"AbstractElectrometerClass::set_VSourceValue( ).");
}
// ============================================================================
// AbstractElectrometerClass::get_VSourceValue
// ============================================================================
double AbstractElectrometerClass::get_VSourceValue (void)
{
throw electrometer::ElectrometerException("COMMAND_NOT_SUPPORTED",
"This Electrometer does not support this command.",
"AbstractElectrometerClass::get_VSourceValue( ).");
}
// ============================================================================ // ============================================================================
// AbstractElectrometerClass::get_ElectroMeterPolarity // AbstractElectrometerClass::get_ElectroMeterPolarity
// ============================================================================ // ============================================================================
......
...@@ -332,6 +332,29 @@ std::stringstream cmd_to_send; ...@@ -332,6 +332,29 @@ std::stringstream cmd_to_send;
_communication_link->write(cmd_to_send.str()); _communication_link->write(cmd_to_send.str());
} }
// ============================================================================
// KeithleySCPIProtocol::setVSourceValue
// ============================================================================
void KeithleySCPIProtocol::setVSourceValue (double voltsValue)
{
std::stringstream cmd_to_send;
//- send command
cmd_to_send << "SOUR:VOLT " << voltsValue << std::endl;
_communication_link->write(cmd_to_send.str());
}
// ============================================================================
// KeithleySCPIProtocol::getVSourceValue
// ============================================================================
std::string KeithleySCPIProtocol::getVSourceValue (void)
{
std::string cmd_to_send("SOUR:VOLT?");
//- send command
return _communication_link->write_read(cmd_to_send);
}
// ============================================================================ // ============================================================================
// KeithleySCPIProtocol::get_mode // KeithleySCPIProtocol::get_mode
// ============================================================================ // ============================================================================
......
...@@ -282,6 +282,33 @@ void Keithley_6517::disable_VSourceOutput (void) ...@@ -282,6 +282,33 @@ void Keithley_6517::disable_VSourceOutput (void)
_kscpi->setVSourceOutputOFF(); _kscpi->setVSourceOutputOFF();
} }
// ============================================================================
// Keithley_6517::set_VSourceValue
// ============================================================================
void Keithley_6517::set_VSourceValue (double volts)
{
KeithleySCPIProtocol* _kscpi = dynamic_cast<KeithleySCPIProtocol*>(_electrometerProtocol);
if(_kscpi)
_kscpi->setVSourceValue(volts);
}
// ============================================================================
// Keithley_6517::set_VSourceValue
// ============================================================================
double Keithley_6517::get_VSourceValue (void)
{
std::string response("");
double volts;
KeithleySCPIProtocol* _kscpi = dynamic_cast<KeithleySCPIProtocol*>(_electrometerProtocol);
if(_kscpi)
response = _kscpi->getVSourceValue();
volts = XString<double>::convertFromString(response);
return volts;
}
// ============================================================================ // ============================================================================
// Keithley_6517::update_range // Keithley_6517::update_range
// ============================================================================ // ============================================================================
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment