From c4ad2828964d6de3bec7a1154c10839e08b8da6f Mon Sep 17 00:00:00 2001 From: Xavier Elattaoui <xavier.elattaoui@synchrotron-soleil.fr> Date: Fri, 26 Feb 2016 16:36:52 +0000 Subject: [PATCH] GetRange command fixed --- pom.xml | 2 +- src/N_PhotoVoltaique.cpp | 9 ++++++--- src/Novelec_MCCE2.cpp | 41 +++++++++++++++++++--------------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index f502ad6..5ccb393 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ </parent> <groupId>fr.soleil.lib</groupId> <artifactId>Electrometers-${aol}-${library}-${mode}</artifactId> - <version>2.5.19-SNAPSHOT</version> + <version>2.5.19</version> <packaging>nar</packaging> <name>Electrometers library</name> <description>Electrometers library</description> diff --git a/src/N_PhotoVoltaique.cpp b/src/N_PhotoVoltaique.cpp index cce39d7..65276bf 100644 --- a/src/N_PhotoVoltaique.cpp +++ b/src/N_PhotoVoltaique.cpp @@ -208,11 +208,14 @@ std::string rangeStr(""); //- switch the novelec type : switch(_MCCE2electroTypeNumber) { - case 1 : _range = Novelec_MCCE2::check_range_value(rangeStr, NType1_rangeValue); + case 1 : + _range = Novelec_MCCE2::check_range_value(rangeStr, NType1_rangeValue); break; - case 2 : _range = Novelec_MCCE2::check_range_value(rangeStr, NType2_rangeValue); + case 2 : + _range = Novelec_MCCE2::check_range_value(rangeStr, NType2_rangeValue); break; - case 3 : _range = Novelec_MCCE2::check_range_value(rangeStr, NType3_rangeValue); + case 3 : + _range = Novelec_MCCE2::check_range_value(rangeStr, NType3_rangeValue); break; } diff --git a/src/Novelec_MCCE2.cpp b/src/Novelec_MCCE2.cpp index 11a4f37..fe9ef40 100644 --- a/src/Novelec_MCCE2.cpp +++ b/src/Novelec_MCCE2.cpp @@ -88,14 +88,27 @@ bool Novelec_MCCE2::init_protocol (void) switch(_MCCE2electroTypeNumber) { - case 1 : + case 1 : this->_MCCE2electroTypeStr = "Photovolta�que UHS"; _rangeLimit = 3; break; - case 2 : - case 3 : + case 2 : this->_MCCE2electroTypeStr = "Photovolta�que HS"; + _rangeLimit = 7; + break; + case 3 : this->_MCCE2electroTypeStr = "Photovolta�que MS"; _rangeLimit = 7; break; - } + case 4 : this->_MCCE2electroTypeStr = "Photoconducteur HS"; + _rangeLimit = 3; + break; + case 5 : this->_MCCE2electroTypeStr = "Photoconducteur MS"; + _rangeLimit = 3; + break; + default : set_electroState(FAULT); + success = false; + Tango::Except::throw_exception ("COMMUNICATION_ERROR", + "Invalid electrometerType returned!", + "Novelec_MCCE2::init_protocol"); + } } catch(Tango::DevFailed& df) { @@ -262,22 +275,6 @@ std::string Novelec_MCCE2::electrometer_status (void) argout = "\n\nINFOS :\n"; argout += "----------\n"; - switch(this->_MCCE2electroTypeNumber) - { - case 1 : this->_MCCE2electroTypeStr = "Photovolta�que UHS"; - break; - case 2 : this->_MCCE2electroTypeStr = "Photovolta�que HS"; - break; - case 3 : this->_MCCE2electroTypeStr = "Photovolta�que MS"; - break; - case 4 : this->_MCCE2electroTypeStr = "Photoconducteur HS"; - break; - case 5 : this->_MCCE2electroTypeStr = "Photoconducteur MS"; - break; - default : set_electroState(FAULT); - argout = "Invalid status string returned !"; - return argout; - } argout += "Novelec type : " + this->_MCCE2electroTypeStr + "\n"; //- get Electrometer mode : @@ -398,10 +395,10 @@ short Novelec_MCCE2::check_range_value (const std::string& rgToCheck, const std: for (unsigned int idx = 0; idx <= _rangeLimit; idx++) { electroRg = electroRangeList[idx]; - std::cout << "\t Novelec_MCCE2::check_range_value idx = " << idx +/* DEBUG std::cout << "\t Novelec_MCCE2::check_range_value idx = " << idx << " rgToCheck = $" << rgToCheck << "$" << " electroRg = $" << electroRg << "$" - << std::endl; + << std::endl;*/ if( electroRg.find(rgToCheck) != std::string::npos ) { //- value is in the list -- GitLab