diff --git a/include/AbstractElectrometerClass.h b/include/AbstractElectrometerClass.h index 5d88ecaeb749c425e1983e12df001f92f1f6e887..085db961c6a7f1524e843b84d1e9382adfa35187 100644 --- a/include/AbstractElectrometerClass.h +++ b/include/AbstractElectrometerClass.h @@ -7,11 +7,14 @@ // AbstractElectrometerClass.h // // -// $Author: stephle $ +// $Author: xavela $ // -// $Revision: 1.1 $ +// $Revision: 1.2 $ // // $Log: not supported by cvs2svn $ +// Revision 1.1 2007/07/09 13:20:35 stephle +// initial import +// // // ============================================================================ @@ -114,6 +117,7 @@ public: virtual void set_Measure_function (void); virtual void mcce_on (void); virtual void mcce_off (void); + virtual void mcce_init (void); /** * \brief Novelec getters and setters */ diff --git a/include/ElectrometerProtocol.h b/include/ElectrometerProtocol.h index 358b3d1c24c2b77aa7c466b4aa823f51cdb19dc7..36d659c945e1bb2696fdfe90f27de6aacde9dc6d 100644 --- a/include/ElectrometerProtocol.h +++ b/include/ElectrometerProtocol.h @@ -10,11 +10,14 @@ // X. Elattaoui // // -// $Author: stephle $ +// $Author: xavela $ // -// $Revision: 1.1 $ +// $Revision: 1.2 $ // // $Log: not supported by cvs2svn $ +// Revision 1.1 2007/07/09 13:20:35 stephle +// initial import +// // // ============================================================================ @@ -123,6 +126,7 @@ public: */ virtual void switch_MCCE2_ON (void); virtual void switch_MCCE2_OFF (void); + virtual void init_MCCE2_for_communication (void); virtual void unable_zeroVF_func (void); virtual void unable_offset_zeroV1_func (void); virtual void unable_leakage_zeroV2_func (void); diff --git a/include/NovelecProtocol.h b/include/NovelecProtocol.h index 24359ad153b94e2c467f7e1576b346b5a3d419c3..26a2f09c89a3c63e856c2f037607a971ac9772a0 100644 --- a/include/NovelecProtocol.h +++ b/include/NovelecProtocol.h @@ -87,6 +87,14 @@ public: void set_frequency (std::string freq); void set_gain (std::string gain); + /** + * \brief init the MCCE-2 device : + * - response explicit + * - mode MEASURE OFF + * - clear error(s) + */ + void init_MCCE2_for_communication(void); + protected : short _devAdd; //- novelec active channel address short _novType; //- novelec type number (1 to 5) diff --git a/src/AbstractElectrometerClass.cpp b/src/AbstractElectrometerClass.cpp index 5ae09773868b4d56d0a4e8ddca5ba8be052acb0b..f78455e0087b0cd75239365d4ceb0a98c0ea2f69 100644 --- a/src/AbstractElectrometerClass.cpp +++ b/src/AbstractElectrometerClass.cpp @@ -9,11 +9,14 @@ // = AUTHOR // X. Elattaoui // -// $Author: stephle $ +// $Author: xavela $ // -// $Revision: 1.1 $ +// $Revision: 1.2 $ // // $Log: not supported by cvs2svn $ +// Revision 1.1 2007/07/09 13:20:37 stephle +// initial import +// // // ============================================================================ @@ -567,3 +570,11 @@ void AbstractElectrometerClass::mcce_off (void) _electrometerProtocol->switch_MCCE2_OFF( ); } +// ============================================================================ +// AbstractElectrometerClass::mcce_init +// ============================================================================ +void AbstractElectrometerClass::mcce_init (void) +{ + _electrometerProtocol->init_MCCE2_for_communication( ); +} + diff --git a/src/ElectrometerProtocol.cpp b/src/ElectrometerProtocol.cpp index f57aae0a9e02dbef6e76f00a4858eb589408febc..ab4431eaee33eb905b1038b4dab0c8311a4074a6 100644 --- a/src/ElectrometerProtocol.cpp +++ b/src/ElectrometerProtocol.cpp @@ -218,6 +218,16 @@ void ElectrometerProtocol::switch_MCCE2_OFF (void) "ElectrometerProtocol::switch_MCCE2_OFF( )."); } +// ============================================================================ +// ElectrometerProtocol::init_MCCE2_for_communication +// ============================================================================ +void ElectrometerProtocol::init_MCCE2_for_communication (void) +{ + throw electrometer::ElectrometerException("COMMAND_NOT_SUPPORTED", + "This Electrometer does not support this command.", + "ElectrometerProtocol::init_MCCE2_for_communication( )."); +} + // ============================================================================ // ElectrometerProtocol::autoRange_ON // ============================================================================ diff --git a/src/NovelecProtocol.cpp b/src/NovelecProtocol.cpp index 72513f98c0ae1c079d867008dfe4444ec3c4f5d8..162eab532f74746668bf84fc89dcbad076253be1 100644 --- a/src/NovelecProtocol.cpp +++ b/src/NovelecProtocol.cpp @@ -55,8 +55,8 @@ NovelecProtocol::NovelecProtocol (std::string& serial_device_name, short devAddr _novType(novelecType), _is_measure_mode_on(false) { -std::stringstream explicite_resp; -std::string tmp("no data"); +//std::stringstream explicite_resp; +//std::string tmp("no data"); std::cout << "NovelecProtocol::NovelecProtocol <-" << std::endl; @@ -64,7 +64,32 @@ std::string tmp("no data"); _rangeParameterNum = _novType + 2; //- CMD to enable PROG cmds - this->switch_MCCE2_OFF(); +//-XE this->switch_MCCE2_OFF(); //- this command is now called in the MCCE2 device ! +/* + //- Clear error registers + this->clear_registers(); + + //- send cmd to have an explicite response : + explicite_resp << _devAdd << " PROG " << RESPONSE_LGTH_CMD_NUM << " 1" << END_OF_LINE << std::endl; + tmp = _communication_link->write_read(explicite_resp.str()); + //- check only the command response + check_command(tmp); + //- if no error + _is_explicite_resp_enabled = true; +*/ + std::cout << "NovelecProtocol::NovelecProtocol ->" << std::endl; +} + +// ============================================================================ +// NovelecProtocol::NovelecProtocol +// ============================================================================ +void NovelecProtocol::init_MCCE2_for_communication(void) +{ +std::stringstream explicite_resp; +std::string tmp("no data"); + + //- CMD to enable PROG cmds + this->switch_MCCE2_OFF(); //- this command is now called in the MCCE2 device ! //- Clear error registers this->clear_registers(); @@ -77,7 +102,6 @@ std::string tmp("no data"); //- if no error _is_explicite_resp_enabled = true; - std::cout << "NovelecProtocol::NovelecProtocol ->" << std::endl; } // ============================================================================