Skip to content
Snippets Groups Projects
Commit 8415d8df authored by Florent LANGLOIS's avatar Florent LANGLOIS
Browse files

- added riseTime and riseTimeStr attributes

parent 2fb62f2d
No related branches found
No related tags found
No related merge requests found
......@@ -111,6 +111,7 @@ void Keithley428::delete_device()
DELETE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
DELETE_DEVSTRING_ATTRIBUTE(attr_filterState_read);
DELETE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read);
DELETE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read);
if (gpib_device != NULL)
delete gpib_device;
......@@ -138,6 +139,7 @@ void Keithley428::init_device()
CREATE_SCALAR_ATTRIBUTE(attr_Overloaded_read);
CREATE_DEVSTRING_ATTRIBUTE(attr_filterState_read,MAX_STRING_LENGTH);
CREATE_DEVSTRING_ATTRIBUTE(attr_autoFilterState_read,MAX_STRING_LENGTH);
CREATE_DEVSTRING_ATTRIBUTE(attr_RiseTimeStr_read,MAX_STRING_LENGTH);
gpib_device = NULL;
try
......@@ -247,6 +249,21 @@ void Keithley428::read_attr_hardware(vector<long> &attr_list)
DEBUG_STREAM << "Keithley428::read_attr_hardware(vector<long> &attr_list) entering... "<< endl;
// Add your own code here
}
//+----------------------------------------------------------------------------
//
// method : Keithley428::read_RiseTimeStr
//
// description : Extract real attribute values for RiseTimeStr acquisition result.
//
//-----------------------------------------------------------------------------
void Keithley428::read_RiseTimeStr(Tango::Attribute &attr)
{
DEBUG_STREAM << "Keithley428::read_RiseTimeStr(Tango::Attribute &attr) entering... "<< endl;
//- filled in read_RiseTime()
attr.set_value( attr_RiseTimeStr_read);
}
//+----------------------------------------------------------------------------
//
// method : Keithley428::read_filterState
......@@ -590,6 +607,7 @@ void Keithley428::read_RiseTime(Tango::Attribute &attr)
string tmp_string;
string selected_str;
string rise_time_str;
size_t pos;
int value;
......@@ -608,6 +626,35 @@ void Keithley428::read_RiseTime(Tango::Attribute &attr)
value = atoi(selected_str.c_str());
attr_RiseTime_write = value;
//- get the value and transform it into str to display it
switch (value)
{
case 0: rise_time_str = "10e-6 sec";
break;
case 1: rise_time_str = "30e-6 sec";
break;
case 2: rise_time_str = "100e-6 sec";
break;
case 3: rise_time_str = "300e-6 sec";
break;
case 4: rise_time_str = "1e-3 sec";
break;
case 5: rise_time_str = "3e-3 sec";
break;
case 6: rise_time_str = "10e-3 sec";
break;
case 7: rise_time_str = "30e-3 sec";
break;
case 8: rise_time_str = "100e-3 sec";
break;
case 9: rise_time_str = "300e-3 sec";
break;
default: rise_time_str= "BAD_VALUE";
break;
}
strcpy(*attr_RiseTimeStr_read,rise_time_str.c_str());
attr.set_value( &attr_RiseTime_write);
}
......@@ -787,4 +834,5 @@ void Keithley428::auto_filter_off()
}
} // namespace
......@@ -79,12 +79,13 @@ public :
Tango::DevLong attr_Gain_write;
Tango::DevString *attr_GainStr_read;
Tango::DevLong *attr_Overloaded_read;
Tango::DevLong *attr_RiseTime_read;
Tango::DevLong attr_RiseTime_write;
Tango::DevLong *attr_Bypass_read;
Tango::DevLong attr_Bypass_write;
Tango::DevString *attr_filterState_read;
Tango::DevString *attr_autoFilterState_read;
Tango::DevLong *attr_RiseTime_read;
Tango::DevLong attr_RiseTime_write;
Tango::DevString *attr_RiseTimeStr_read;
//@}
/**
......@@ -191,14 +192,6 @@ public :
* Extract real attribute values for Overloaded acquisition result.
*/
virtual void read_Overloaded(Tango::Attribute &attr);
/**
* Extract real attribute values for RiseTime acquisition result.
*/
virtual void read_RiseTime(Tango::Attribute &attr);
/**
* Write RiseTime attribute values to hardware.
*/
virtual void write_RiseTime(Tango::WAttribute &attr);
/**
* Extract real attribute values for Bypass acquisition result.
*/
......@@ -215,6 +208,18 @@ public :
* Extract real attribute values for autoFilterState acquisition result.
*/
virtual void read_autoFilterState(Tango::Attribute &attr);
/**
* Extract real attribute values for RiseTime acquisition result.
*/
virtual void read_RiseTime(Tango::Attribute &attr);
/**
* Write RiseTime attribute values to hardware.
*/
virtual void write_RiseTime(Tango::WAttribute &attr);
/**
* Extract real attribute values for RiseTimeStr acquisition result.
*/
virtual void read_RiseTimeStr(Tango::Attribute &attr);
/**
* Read/Write allowed for Gain attribute.
*/
......@@ -227,10 +232,6 @@ public :
* Read/Write allowed for Overloaded attribute.
*/
virtual bool is_Overloaded_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for RiseTime attribute.
*/
virtual bool is_RiseTime_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for Bypass attribute.
*/
......@@ -243,6 +244,14 @@ public :
* Read/Write allowed for autoFilterState attribute.
*/
virtual bool is_autoFilterState_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for RiseTime attribute.
*/
virtual bool is_RiseTime_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for RiseTimeStr attribute.
*/
virtual bool is_RiseTimeStr_allowed(Tango::AttReqType type);
/**
* Execution allowed for PerformZeroCorrect command.
*/
......
......@@ -442,6 +442,14 @@ void Keithley428Class::attribute_factory(vector<Tango::Attr *> &att_list)
rise_time->set_memorized_init(true);
att_list.push_back(rise_time);
// Attribute : RiseTimeStr
RiseTimeStrAttrib *rise_time_str = new RiseTimeStrAttrib();
Tango::UserDefaultAttrProp rise_time_str_prop;
rise_time_str_prop.set_unit(" ");
rise_time_str_prop.set_description("0 -> 10e-6 sec\n1 -> 30e-6 sec\n2 -> 100e-6 sec\n3 -> 300e-6 sec\n4 -> 1e-3 sec\n5 -> 3e-3 sec\n6 -> 10e-3 sec\n7 -> 30e-3 sec\n8 -> 100e-3 sec\n9 -> 300e-3 sec\n");
rise_time_str->set_default_properties(rise_time_str_prop);
att_list.push_back(rise_time_str);
// End of Automatic code generation
//-------------------------------------------------------------
}
......
......@@ -45,6 +45,32 @@ namespace Keithley428_ns
{//=====================================
// Define classes for attributes
//=====================================
class RiseTimeStrAttrib: public Tango::Attr
{
public:
RiseTimeStrAttrib():Attr("RiseTimeStr", Tango::DEV_STRING, Tango::READ) {};
~RiseTimeStrAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<Keithley428 *>(dev))->read_RiseTimeStr(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<Keithley428 *>(dev))->is_RiseTimeStr_allowed(ty);}
};
class RiseTimeAttrib: public Tango::Attr
{
public:
RiseTimeAttrib():Attr("RiseTime", Tango::DEV_LONG, Tango::READ_WRITE) {};
~RiseTimeAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<Keithley428 *>(dev))->read_RiseTime(att);}
virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
{(static_cast<Keithley428 *>(dev))->write_RiseTime(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<Keithley428 *>(dev))->is_RiseTime_allowed(ty);}
};
class autoFilterStateAttrib: public Tango::Attr
{
public:
......@@ -121,20 +147,6 @@ public:
{return (static_cast<Keithley428 *>(dev))->is_Gain_allowed(ty);}
};
class RiseTimeAttrib: public Tango::Attr
{
public:
RiseTimeAttrib():Attr("RiseTime", Tango::DEV_LONG, Tango::READ_WRITE) {};
~RiseTimeAttrib() {};
virtual void read(Tango::DeviceImpl *dev,Tango::Attribute &att)
{(static_cast<Keithley428 *>(dev))->read_RiseTime(att);}
virtual void write(Tango::DeviceImpl *dev,Tango::WAttribute &att)
{(static_cast<Keithley428 *>(dev))->write_RiseTime(att);}
virtual bool is_allowed(Tango::DeviceImpl *dev,Tango::AttReqType ty)
{return (static_cast<Keithley428 *>(dev))->is_RiseTime_allowed(ty);}
};
//=========================================
// Define classes for commands
//=========================================
......
......@@ -176,6 +176,24 @@ bool Keithley428::is_autoFilterState_allowed(Tango::AttReqType type)
}
return true;
}
//+----------------------------------------------------------------------------
//
// method : Keithley428::is_RiseTimeStr_allowed
//
// description : Read/Write allowed for RiseTimeStr attribute.
//
//-----------------------------------------------------------------------------
bool Keithley428::is_RiseTimeStr_allowed(Tango::AttReqType type)
{
if (get_state() == Tango::FAULT)
{
// End of Generated Code
// Re-Start of Generated Code
return false;
}
return true;
}
//=================================================
// Commands Allowed Methods
......
......@@ -8,7 +8,7 @@
</parent>
<groupId>fr.soleil.device</groupId>
<artifactId>Keithley428-${aol}-${mode}</artifactId>
<version>1.2.2-SNAPSHOT</version>
<version>1.2.2</version>
<packaging>nar</packaging>
<name>Keithley428</name>
<description>Keithley428 device</description>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment