diff --git a/TODO b/TODO index 216d4ae443e58b857ec6cb628ea7bdfccd888252..d1872422562f44d66ffa68408966d9103cfb2e6b 100644 --- a/TODO +++ b/TODO @@ -5,5 +5,4 @@ strengh = CorrectionStrength + resonanceStrength settings dei vari strength OK -compute_currents e compute_strenggths : rendee polimorifche per acceatare DevDouble o duble diff --git a/src/E2Corrector.cpp b/src/E2Corrector.cpp index 774a0cea11a6136757812ea3749f07cfd662c388..bf8f7972b7efd4528ea368bad6c11d0e39f25280 100644 --- a/src/E2Corrector.cpp +++ b/src/E2Corrector.cpp @@ -617,7 +617,7 @@ void E2Corrector::write_ResonanceStrength(Tango::WAttribute &attr) Tango::DeviceAttribute watt("Current", curr_out[0]); current_dev->write_attribute(watt); wValResStrength = w_val; - //*attr_ResonanceStrength_read = w_val; + *attr_ResonanceStrength_read = w_val; set_strength[0] = newStrength; strengthAtt->set_write_value(set_strength[0]); /*----- PROTECTED REGION END -----*/ // E2Corrector::write_ResonanceStrength @@ -793,7 +793,7 @@ void E2Corrector::reset() //-------------------------------------------------------- /** * Command ResetResonanceStrength related method - * Description: Reset ResonanceStrength to 0 + * Description: Transfer ResonanceStranght to CorrectionStrength and set ResonanceStrength to 0. Strngth is not modified * */ //-------------------------------------------------------- @@ -806,24 +806,16 @@ void E2Corrector::reset_resonance_strength() // Add your own code /* clang-format off */ - //force to 0 resonance strength + //transfer resonance strength to correction strength and than force to 0 resonance strength omni_mutex_lock guardio(iomutex); - /* - Tango::DevDouble newStrength; - newStrength = wValCorrStrength; - std::vector<double> req_strength; - std::vector<double> curr_out; - req_strength.push_back(newStrength); - corrector->compute_currents(magnet_rigidity, req_strength, curr_out); - Tango::DeviceAttribute watt("Current", curr_out[0]); - current_dev->write_attribute(watt); - */ + wValCorrStrength += wValResStrength; wValResStrength = 0.0; - //set_strength[0] = newStrength; - //strengthAtt->set_write_value(set_strength[0]); + correctionAtt->set_write_value(wValCorrStrength); + *attr_CorrectionStrength_read = wValCorrStrength; resonanceAtt->set_write_value(0.0); + *attr_ResonanceStrength_read = 0.0; /*----- PROTECTED REGION END -----*/ // E2Corrector::reset_resonance_strength } //-------------------------------------------------------- diff --git a/src/E2Corrector.h b/src/E2Corrector.h index 16ab00c7b6dd1fcf35ecd6134cb285d812eaf6a7..bbfd90f97f21a1ceea6487e100839f5d27e0717c 100644 --- a/src/E2Corrector.h +++ b/src/E2Corrector.h @@ -286,7 +286,7 @@ public: virtual bool is_Reset_allowed(const CORBA::Any &any); /** * Command ResetResonanceStrength related method - * Description: Reset ResonanceStrength to 0 + * Description: Transfer ResonanceStranght to CorrectionStrength and set ResonanceStrength to 0. Strngth is not modified * */ virtual void reset_resonance_strength(); diff --git a/src/E2Corrector.xmi b/src/E2Corrector.xmi index 8e0c18bcc628180bc98ffd31ed9a3c6d858c200d..89355d8e02fd9d0614d4889025b122c76cb9704b 100644 --- a/src/E2Corrector.xmi +++ b/src/E2Corrector.xmi @@ -75,7 +75,7 @@ </argout> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </commands> - <commands name="ResetResonanceStrength" description="Reset ResonanceStrength to 0" execMethod="reset_resonance_strength" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> + <commands name="ResetResonanceStrength" description="Transfer ResonanceStranght to CorrectionStrength and set ResonanceStrength to 0. Strngth is not modified" execMethod="reset_resonance_strength" displayLevel="OPERATOR" polledPeriod="0" isDynamic="false"> <argin description=""> <type xsi:type="pogoDsl:VoidType"/> </argin>