From 0c396dc72f3f880535a2b6ac59ad83ea47637ac9 Mon Sep 17 00:00:00 2001 From: ELATTAOUI <xavier.elattaoui@synchrotron-soleil.fr> Date: Tue, 13 Feb 2024 15:59:27 +0100 Subject: [PATCH] Compile error fixed --- include/N_PhotoConducteur.h | 1 + include/N_PhotoVoltaique.h | 1 + include/Novelec_MCCE2.h | 21 ++++++++++++--------- pom.xml | 2 +- src/N_PhotoConducteur.cpp | 22 ++++++++++++++++++++-- src/N_PhotoVoltaique.cpp | 26 +++++++++++++++++++++++--- src/Novelec_MCCE2.cpp | 2 +- 7 files changed, 59 insertions(+), 16 deletions(-) mode change 100644 => 100755 include/N_PhotoConducteur.h mode change 100644 => 100755 include/N_PhotoVoltaique.h mode change 100644 => 100755 include/Novelec_MCCE2.h mode change 100644 => 100755 src/N_PhotoConducteur.cpp mode change 100644 => 100755 src/N_PhotoVoltaique.cpp mode change 100644 => 100755 src/Novelec_MCCE2.cpp diff --git a/include/N_PhotoConducteur.h b/include/N_PhotoConducteur.h old mode 100644 new mode 100755 index 2be4fc3..14b2183 --- a/include/N_PhotoConducteur.h +++ b/include/N_PhotoConducteur.h @@ -54,6 +54,7 @@ public: */ void set_ElectroMeterRange(std::string range_str); std::string get_ElectroMeterRange(); + std::vector<std::string> ranges_list(void); /** * \brief getters and setters. diff --git a/include/N_PhotoVoltaique.h b/include/N_PhotoVoltaique.h old mode 100644 new mode 100755 index 9a63c3d..39f215e --- a/include/N_PhotoVoltaique.h +++ b/include/N_PhotoVoltaique.h @@ -54,6 +54,7 @@ public: */ void set_ElectroMeterRange(std::string range_str); std::string get_ElectroMeterRange(); + std::vector<std::string> ranges_list(void); /** * \brief getters and setters. diff --git a/include/Novelec_MCCE2.h b/include/Novelec_MCCE2.h old mode 100644 new mode 100755 index 906efeb..c9e8dea --- a/include/Novelec_MCCE2.h +++ b/include/Novelec_MCCE2.h @@ -46,13 +46,13 @@ public: bool init_protocol(void); std::string get_ElectroMeterPolarity(void); - void set_ElectroMeterPolarity (std::string); - - short get_electrometer_type() { - return this->_MCCE2electroTypeNumber; + void set_ElectroMeterPolarity (std::string); + + short get_electrometer_type() { + return this->_MCCE2electroTypeNumber; } - std::string get_electrometer_typeStr() { - return this->_MCCE2electroTypeStr; + std::string get_electrometer_typeStr() { + return this->_MCCE2electroTypeStr; } /** @@ -67,7 +67,7 @@ public: /** * \brief Sets the new range value */ - //virtual void set_ElectroMeterRange(std::string range_str) = 0; + //virtual void set_ElectroMeterRange(std::string range_str) = 0; virtual void range_up (void) {}; virtual void range_down (void) {}; @@ -86,15 +86,18 @@ public: */ std::string electrometer_status (void); + virtual std::vector<std::string> ranges_list(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) + unsigned short _MCCE2electroTypeNumber; //- the mcce2 electrometer type number (to check range value) std::string _MCCE2electroTypeStr; //- " " " " " " as string /** * \brief Checks the new range value */ - short check_range_value(const std::string& rgToCheck, const std::string* electroRangeList); + short check_range_value(const std::string& rgToCheck, const std::vector<std::string> electroRangeList); }; diff --git a/pom.xml b/pom.xml index 0e945cd..37ae229 100755 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ </parent> <groupId>fr.soleil.lib</groupId> <artifactId>Electrometers-${aol}-${library}-${mode}</artifactId> - <version>2.6.0</version> + <version>2.7.0</version> <packaging>nar</packaging> <name>Electrometers library</name> <description>Electrometers library</description> diff --git a/src/N_PhotoConducteur.cpp b/src/N_PhotoConducteur.cpp old mode 100644 new mode 100755 index a40516c..f11be52 --- a/src/N_PhotoConducteur.cpp +++ b/src/N_PhotoConducteur.cpp @@ -24,8 +24,8 @@ /* * Valid Range values for a N_PhotoConducteur */ -static const std::string NType4_rangeValue[] = {"100","30","10","3"}; //- MOhms -static const std::string NType5_rangeValue[] = {"1000","300","100","30"}; //- KOhms +static const std::vector<std::string> NType4_rangeValue {"100","30","10","3"}; //- MOhms +static const std::vector<std::string> NType5_rangeValue {"1000","300","100","30"}; //- KOhms // ============================================================================ @@ -195,3 +195,21 @@ std::string rangeStr(""); return rangeStr; } + +// ============================================================================ +// N_PhotoConducteur::ranges_list +// ============================================================================ +std::vector<std::string> N_PhotoConducteur::ranges_list(void) +{ + std::vector<std::string> vrangeslist; + + //- switch the novelec type : + switch(_MCCE2electroTypeNumber) + { + case 4 : vrangeslist = NType4_rangeValue; + break; + case 5 : vrangeslist = NType5_rangeValue; + break; + } + return vrangeslist; +} diff --git a/src/N_PhotoVoltaique.cpp b/src/N_PhotoVoltaique.cpp old mode 100644 new mode 100755 index 0209ac4..fe1b6c6 --- a/src/N_PhotoVoltaique.cpp +++ b/src/N_PhotoVoltaique.cpp @@ -24,9 +24,9 @@ /* * Valid Range values for a N_PhotoVoltaique */ -static const std::string NType1_rangeValue[] = {"1E-11AcC","3E-11AcC","1E-10AcC","3E-10AcC"}; -static const std::string NType2_rangeValue[] = {"1E-10AcC","3E-10AcC","1E-09AcC","3E-09AcC","1E-08AcC","3E-08AcC","1E-07AcC","3E-07AcC"}; -static const std::string NType3_rangeValue[] = {"1E-08AcC","3E-08AcC","1E-07AcC","3E-07AcC","1E-06AcC","3E-06AcC","1E-05AcC","3E-05AcC"}; +static const std::vector<std::string> NType1_rangeValue {"1E-11AcC","3E-11AcC","1E-10AcC","3E-10AcC"}; +static const std::vector<std::string> NType2_rangeValue {"1E-10AcC","3E-10AcC","1E-09AcC","3E-09AcC","1E-08AcC","3E-08AcC","1E-07AcC","3E-07AcC"}; +static const std::vector<std::string> NType3_rangeValue {"1E-08AcC","3E-08AcC","1E-07AcC","3E-07AcC","1E-06AcC","3E-06AcC","1E-05AcC","3E-05AcC"}; // ============================================================================ @@ -226,3 +226,23 @@ std::string rangeStr(""); return rangeStr; } + +// ============================================================================ +// N_PhotoVoltaique::ranges_list +// ============================================================================ +std::vector<std::string> N_PhotoVoltaique::ranges_list(void) +{ + std::vector<std::string> vrangeslist; + + //- switch the novelec type : + switch(_MCCE2electroTypeNumber) + { + case 1 : vrangeslist = NType1_rangeValue; + break; + case 2 : vrangeslist = NType2_rangeValue; + break; + case 3 : vrangeslist = NType3_rangeValue; + break; + } + return vrangeslist; +} diff --git a/src/Novelec_MCCE2.cpp b/src/Novelec_MCCE2.cpp old mode 100644 new mode 100755 index 9756356..bba1fac --- a/src/Novelec_MCCE2.cpp +++ b/src/Novelec_MCCE2.cpp @@ -393,7 +393,7 @@ std::string Novelec_MCCE2::electrometer_status (void) // ============================================================================ // Novelec_MCCE2::check_range_value // ============================================================================ -short Novelec_MCCE2::check_range_value (const std::string& rgToCheck, const std::string* electroRangeList) +short Novelec_MCCE2::check_range_value (const std::string& rgToCheck, const std::vector<std::string> electroRangeList) { std::string electroRg(""); for (unsigned int idx = 0; idx <= _rangeLimit; idx++) -- GitLab