From b46ba24bd7f35cfc35fbcbd443d11095e82e4980 Mon Sep 17 00:00:00 2001 From: System User Date: Thu, 14 Jan 2010 10:46:33 +0100 Subject: [PATCH] * pogo add the AutoUpdateFromProxies attribut --- src/Diffractometer/Diffractometer.cpp | 25 +++++++++++++++++++ src/Diffractometer/Diffractometer.h | 30 +++++++++++++++++------ src/Diffractometer/DiffractometerClass.cpp | 30 +++++++++++++++-------- src/Diffractometer/DiffractometerClass.h | 26 +++++++++++++++----- src/Diffractometer/DiffractometerStateMachine.cpp | 14 +++++++++++ 5 files changed, 101 insertions(+), 24 deletions(-) diff --git a/src/Diffractometer/Diffractometer.cpp b/src/Diffractometer/Diffractometer.cpp index c8a2dfc..fd65f52 100644 --- a/src/Diffractometer/Diffractometer.cpp +++ b/src/Diffractometer/Diffractometer.cpp @@ -380,6 +380,30 @@ void Diffractometer::read_attr_hardware(vector &attr_list) } //+---------------------------------------------------------------------------- // +// method : Diffractometer::read_AutoUpdateFromProxies +// +// description : Extract real attribute values for AutoUpdateFromProxies acquisition result. +// +//----------------------------------------------------------------------------- +void Diffractometer::read_AutoUpdateFromProxies(Tango::Attribute &attr) +{ + DEBUG_STREAM << "Diffractometer::read_AutoUpdateFromProxies(Tango::Attribute &attr) entering... "<< endl; +} + +//+---------------------------------------------------------------------------- +// +// method : Diffractometer::write_AutoUpdateFromProxies +// +// description : Write AutoUpdateFromProxies attribute values to hardware. +// +//----------------------------------------------------------------------------- +void Diffractometer::write_AutoUpdateFromProxies(Tango::WAttribute &attr) +{ + DEBUG_STREAM << "Diffractometer::write_AutoUpdateFromProxies(Tango::WAttribute &attr) entering... "<< endl; +} + +//+---------------------------------------------------------------------------- +// // method : Diffractometer::read_AFit // // description : Extract real attribute values for AFit acquisition result. @@ -1632,4 +1656,5 @@ Tango::ConstDevString Diffractometer::dev_status() + } // namespace diff --git a/src/Diffractometer/Diffractometer.h b/src/Diffractometer/Diffractometer.h index 03c1d87..6172c5f 100644 --- a/src/Diffractometer/Diffractometer.h +++ b/src/Diffractometer/Diffractometer.h @@ -82,8 +82,8 @@ public : //@{ Tango::DevShort *attr_AnglesIdx_read; Tango::DevShort attr_AnglesIdx_write; - Tango::DevBoolean *attr_Simulated_read; - Tango::DevBoolean attr_Simulated_write; + Tango::DevBoolean *attr_AutoUpdateFromProxies_read; + Tango::DevBoolean attr_AutoUpdateFromProxies_write; Tango::DevDouble *attr_WaveLength_read; Tango::DevDouble attr_WaveLength_write; Tango::DevString *attr_Crystal_read; @@ -124,6 +124,8 @@ public : Tango::DevDouble *attr_AlphaStar_read; Tango::DevDouble *attr_BetaStar_read; Tango::DevDouble *attr_GammaStar_read; + Tango::DevBoolean *attr_Simulated_read; + Tango::DevBoolean attr_Simulated_write; Tango::DevString *attr_CrystalNames_read; Tango::DevString *attr_AxesNames_read; Tango::DevString *attr_pseudoAxesProxies_read; @@ -237,13 +239,13 @@ public : */ virtual void write_AnglesIdx(Tango::WAttribute &attr); /** - * Extract real attribute values for Simulated acquisition result. + * Extract real attribute values for AutoUpdateFromProxies acquisition result. */ - virtual void read_Simulated(Tango::Attribute &attr); + virtual void read_AutoUpdateFromProxies(Tango::Attribute &attr); /** - * Write Simulated attribute values to hardware. + * Write AutoUpdateFromProxies attribute values to hardware. */ - virtual void write_Simulated(Tango::WAttribute &attr); + virtual void write_AutoUpdateFromProxies(Tango::WAttribute &attr); /** * Extract real attribute values for WaveLength acquisition result. */ @@ -405,6 +407,14 @@ public : */ virtual void read_GammaStar(Tango::Attribute &attr); /** + * Extract real attribute values for Simulated acquisition result. + */ + virtual void read_Simulated(Tango::Attribute &attr); +/** + * Write Simulated attribute values to hardware. + */ + virtual void write_Simulated(Tango::WAttribute &attr); +/** * Extract real attribute values for CrystalNames acquisition result. */ virtual void read_CrystalNames(Tango::Attribute &attr); @@ -449,9 +459,9 @@ public : */ virtual bool is_AnglesIdx_allowed(Tango::AttReqType type); /** - * Read/Write allowed for Simulated attribute. + * Read/Write allowed for AutoUpdateFromProxies attribute. */ - virtual bool is_Simulated_allowed(Tango::AttReqType type); + virtual bool is_AutoUpdateFromProxies_allowed(Tango::AttReqType type); /** * Read/Write allowed for WaveLength attribute. */ @@ -557,6 +567,10 @@ public : */ virtual bool is_GammaStar_allowed(Tango::AttReqType type); /** + * Read/Write allowed for Simulated attribute. + */ + virtual bool is_Simulated_allowed(Tango::AttReqType type); +/** * Read/Write allowed for CrystalNames attribute. */ virtual bool is_CrystalNames_allowed(Tango::AttReqType type); diff --git a/src/Diffractometer/DiffractometerClass.cpp b/src/Diffractometer/DiffractometerClass.cpp index 1b02b7b..7a696a3 100644 --- a/src/Diffractometer/DiffractometerClass.cpp +++ b/src/Diffractometer/DiffractometerClass.cpp @@ -662,16 +662,15 @@ void DiffractometerClass::attribute_factory(vector &att_list) angles_idx->set_default_properties(angles_idx_prop); att_list.push_back(angles_idx); - // Attribute : Simulated - SimulatedAttrib *simulated = new SimulatedAttrib(); - Tango::UserDefaultAttrProp simulated_prop; - simulated_prop.set_label("simulated"); - simulated_prop.set_format("%1d"); - simulated_prop.set_max_value("1"); - simulated_prop.set_min_value("0"); - simulated_prop.set_description("0 : Device REALLY moves diffractometers motors\n1 : Device only simulates calculations and DOES NOT move any motor\n"); - simulated->set_default_properties(simulated_prop); - att_list.push_back(simulated); + // Attribute : AutoUpdateFromProxies + AutoUpdateFromProxiesAttrib *auto_update_from_proxies = new AutoUpdateFromProxiesAttrib(); + Tango::UserDefaultAttrProp auto_update_from_proxies_prop; + auto_update_from_proxies_prop.set_format("%1d"); + auto_update_from_proxies_prop.set_max_value("1"); + auto_update_from_proxies_prop.set_min_value("0"); + auto_update_from_proxies_prop.set_description("0 : Device do not update the simulated part using proxies\n1 : Device update all the times the simulated part from the proxies\n"); + auto_update_from_proxies->set_default_properties(auto_update_from_proxies_prop); + att_list.push_back(auto_update_from_proxies); // Attribute : WaveLength WaveLengthAttrib *wave_length = new WaveLengthAttrib(); @@ -872,6 +871,17 @@ void DiffractometerClass::attribute_factory(vector &att_list) gamma_star->set_default_properties(gamma_star_prop); att_list.push_back(gamma_star); + // Attribute : Simulated + SimulatedAttrib *simulated = new SimulatedAttrib(); + Tango::UserDefaultAttrProp simulated_prop; + simulated_prop.set_label("simulated"); + simulated_prop.set_format("%1d"); + simulated_prop.set_max_value("1"); + simulated_prop.set_min_value("0"); + simulated_prop.set_description("0 : Device REALLY moves diffractometers motors\n1 : Device only simulates calculations and DOES NOT move any motor\n"); + simulated->set_default_properties(simulated_prop); + att_list.push_back(simulated); + // Attribute : CrystalNames CrystalNamesAttrib *crystal_names = new CrystalNamesAttrib(); att_list.push_back(crystal_names); diff --git a/src/Diffractometer/DiffractometerClass.h b/src/Diffractometer/DiffractometerClass.h index 729927c..6122f4f 100644 --- a/src/Diffractometer/DiffractometerClass.h +++ b/src/Diffractometer/DiffractometerClass.h @@ -149,6 +149,20 @@ public: {return (static_cast(dev))->is_CrystalNames_allowed(ty);} }; +class SimulatedAttrib: public Tango::Attr +{ +public: + SimulatedAttrib():Attr("Simulated", Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; + ~SimulatedAttrib() {}; + + virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) + {(static_cast(dev))->read_Simulated(att);} + virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) + {(static_cast(dev))->write_Simulated(att);} + virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) + {return (static_cast(dev))->is_Simulated_allowed(ty);} +}; + class GammaStarAttrib: public Tango::Attr { public: @@ -489,18 +503,18 @@ public: {return (static_cast(dev))->is_WaveLength_allowed(ty);} }; -class SimulatedAttrib: public Tango::Attr +class AutoUpdateFromProxiesAttrib: public Tango::Attr { public: - SimulatedAttrib():Attr("Simulated", Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; - ~SimulatedAttrib() {}; + AutoUpdateFromProxiesAttrib():Attr("AutoUpdateFromProxies", Tango::DEV_BOOLEAN, Tango::READ_WRITE) {}; + ~AutoUpdateFromProxiesAttrib() {}; virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att) - {(static_cast(dev))->read_Simulated(att);} + {(static_cast(dev))->read_AutoUpdateFromProxies(att);} virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att) - {(static_cast(dev))->write_Simulated(att);} + {(static_cast(dev))->write_AutoUpdateFromProxies(att);} virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty) - {return (static_cast(dev))->is_Simulated_allowed(ty);} + {return (static_cast(dev))->is_AutoUpdateFromProxies_allowed(ty);} }; class AnglesIdxAttrib: public Tango::Attr diff --git a/src/Diffractometer/DiffractometerStateMachine.cpp b/src/Diffractometer/DiffractometerStateMachine.cpp index 7eecccb..3761edd 100644 --- a/src/Diffractometer/DiffractometerStateMachine.cpp +++ b/src/Diffractometer/DiffractometerStateMachine.cpp @@ -566,6 +566,20 @@ bool Diffractometer::is_UzFit_allowed(Tango::AttReqType type) // Re-Start of Generated Code return true; } +//+---------------------------------------------------------------------------- +// +// method : Diffractometer::is_AutoUpdateFromProxies_allowed +// +// description : Read/Write allowed for AutoUpdateFromProxies attribute. +// +//----------------------------------------------------------------------------- +bool Diffractometer::is_AutoUpdateFromProxies_allowed(Tango::AttReqType type) +{ + // End of Generated Code + + // Re-Start of Generated Code + return true; +} //================================================= // Commands Allowed Methods -- 2.11.4.GIT