Commit 38ea532a authored by Yuelong Yu's avatar Yuelong Yu
Browse files

added moduleID for filename

parent 1605fd67
......@@ -387,6 +387,7 @@ void AGIPD::get_device_property()
dev_prop.push_back(Tango::DbDatum("Microcontroller"));
dev_prop.push_back(Tango::DbDatum("ModuleIDInUc"));
dev_prop.push_back(Tango::DbDatum("MemSizeInImageNumbers"));
dev_prop.push_back(Tango::DbDatum("ModuleID"));
// is there at least one property to be read ?
if (dev_prop.size()>0)
......@@ -555,6 +556,17 @@ void AGIPD::get_device_property()
// And try to extract MemSizeInImageNumbers value from database
if (dev_prop[i].is_empty()==false) dev_prop[i] >> memSizeInImageNumbers;
// Try to initialize ModuleID from class property
cl_prop = ds_class->get_class_property(dev_prop[++i].name);
if (cl_prop.is_empty()==false) cl_prop >> moduleID;
else {
// Try to initialize ModuleID from default device value
def_prop = ds_class->get_default_device_property(dev_prop[i].name);
if (def_prop.is_empty()==false) def_prop >> moduleID;
}
// And try to extract ModuleID value from database
if (dev_prop[i].is_empty()==false) dev_prop[i] >> moduleID;
}
/*----- PROTECTED REGION ID(AGIPD::get_device_property_after) ENABLED START -----*/
......@@ -2193,6 +2205,8 @@ void AGIPD::add_dynamic_commands()
char chNum[10];
sprintf (chNum, "%05d", *attr_FileStartNum_read);
string strTmp = string(*attr_FilePrefix_read) + "_" +chNum;
if(moduleID != "")
strTmp = moduleID+"_"+strTmp;
*attr_SaveFileName_read = CORBA::string_dup(strTmp.c_str());
}
......
......@@ -119,6 +119,8 @@ public:
Tango::DevUShort moduleIDInUc;
// MemSizeInImageNumbers:
Tango::DevULong memSizeInImageNumbers;
// ModuleID:
string moduleID;
// Attribute data members
public:
......
<?xml version="1.0" encoding="ASCII"?>
<pogoDsl:PogoSystem xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pogoDsl="http://www.esrf.fr/tango/pogo/PogoDsl">
<classes name="AGIPD" pogoRevision="9.4">
<description description="AGIPD tango server" title="AGIPD" sourcePath="/home/yuelong/src/gitrepo/tango.ds/agipd" language="Cpp" filestogenerate="XMI file,Makefile,Protected Regions,html Pages" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<description description="AGIPD tango server" title="AGIPD" sourcePath="/home/yuelong/src/gitrepo/tango.ds/agipd" language="Cpp" filestogenerate="XMI file,Code files,Protected Regions,html Pages" hasMandatoryProperty="false" hasConcreteProperty="true" hasAbstractCommand="false" hasAbstractAttribute="false" descriptionHtmlExists="false">
<inheritances classname="Device_Impl" sourcePath=""/>
<identification contact="at desy.de - yuelong.yu" author="yuelong.yu" emailDomain="desy.de" classFamily="Acquisition" siteSpecific="" platform="Unix Like" bus="Ethernet" manufacturer="DESY(FS-DS)" reference=""/>
</description>
......@@ -68,6 +68,10 @@
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
<DefaultPropValue>500000</DefaultPropValue>
</deviceProperties>
<deviceProperties name="ModuleID" description="">
<type xsi:type="pogoDsl:StringType"/>
<status abstract="false" inherited="false" concrete="true" concreteHere="true"/>
</deviceProperties>
<commands name="State" description="This command gets the device state (stored in its device_state data member) and returns it to the caller." execMethod="dev_state" displayLevel="OPERATOR" polledPeriod="0">
<argin description="none">
<type xsi:type="pogoDsl:VoidType"/>
......
......@@ -513,6 +513,19 @@ void AGIPDClass::set_default_property()
}
else
add_wiz_dev_prop(prop_name, prop_desc);
prop_name = "ModuleID";
prop_desc = "";
prop_def = "";
vect_data.clear();
if (prop_def.length()>0)
{
Tango::DbDatum data(prop_name);
data << vect_data ;
dev_def_prop.push_back(data);
add_wiz_dev_prop(prop_name, prop_desc, prop_def);
}
else
add_wiz_dev_prop(prop_name, prop_desc);
}
//--------------------------------------------------------
......
......@@ -264,6 +264,12 @@
<td> int </td>
<td> 500000 <br> </td>
</tr>
<tr>
<td> ModuleID </td>
<td> </td>
<td> String </td>
<td> none </td>
</tr>
</table>
<br><br>
<hr>
......
......@@ -102,6 +102,12 @@
<td> int </td>
<td> 500000 <br> </td>
</tr>
<tr>
<td> ModuleID </td>
<td> </td>
<td> String </td>
<td> none </td>
</tr>
</table>
</body>
</html>
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment