diff --git a/src/E2Quadrupole.cpp b/src/E2Quadrupole.cpp index 55269784b6105ff9e9654d6195608efaef606b0e..4159dd21a195174558492663c5ec367dc6b15e7b 100644 --- a/src/E2Quadrupole.cpp +++ b/src/E2Quadrupole.cpp @@ -617,7 +617,7 @@ void E2Quadrupole::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 -----*/ // E2Quadrupole::write_ResonanceStrength @@ -793,7 +793,7 @@ void E2Quadrupole::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,14 @@ void E2Quadrupole::reset_resonance_strength() // Add your own code /* clang-format off */ - //force to 0 resonance strength + //transfer resonance strngth to correction strength and 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); - quadrupole->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 -----*/ // E2Quadrupole::reset_resonance_strength } //-------------------------------------------------------- diff --git a/src/E2Quadrupole.h b/src/E2Quadrupole.h index 6291359f0943c7ac6a78dfb89af9e481a0319b89..6f8c81202aca195cba8c4aecd0ad87ef67c5ba2d 100644 --- a/src/E2Quadrupole.h +++ b/src/E2Quadrupole.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/E2Quadrupole.xmi b/src/E2Quadrupole.xmi index 32b78ae27c8d39f7aeee487d4db874a339334830..35c566aeb695f5b37b928343870b11c02566f664 100644 --- a/src/E2Quadrupole.xmi +++ b/src/E2Quadrupole.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>