Skip to content
Snippets Groups Projects

develop -> main

1 file
+ 33
27
Compare changes
  • Side-by-side
  • Inline
+ 33
27
@@ -253,7 +253,7 @@ void SingleShotAO::init_device()
m_state = Tango::FAULT;
return;
}
// Initialise variables to default values
//--------------------------------------------
@@ -681,83 +681,89 @@ void SingleShotAO::get_device_property()
// Call database and extract values
//--------------------------------------------
if (Tango::Util::instance()->_UseDb==true)
if (Tango::Util::instance()->_UseDb == true)
{
get_db_device()->get_property(dev_prop);
}
Tango::DbDatum def_prop, cl_prop;
SingleShotAOClass *ds_class = (static_cast<SingleShotAOClass *>(get_device_class()));
int i = -1;
int i = -1;
//- <BoardNum> -----------------------
// Try to initialize BoardNum from class property
cl_prop = ds_class->get_class_property(dev_prop[++i].name);
if (cl_prop.is_empty()==false) cl_prop >> boardNum;
else {
if (cl_prop.is_empty() == false)
cl_prop >> boardNum;
else
{
// Try to initialize BoardNum from default device value
def_prop = ds_class->get_default_device_property(dev_prop[i].name);
if (def_prop.is_empty() == false)
{
def_prop >> boardNum_default;
def_prop >> boardNum;
}
}
// And try to extract BoardNum value from database
if (dev_prop[i].is_empty() == false) dev_prop[i] >> boardNum;
if (dev_prop[i].is_empty() == false)
dev_prop[i] >> boardNum;
INFO_STREAM << "Raw BoardNum parsed: " << boardNum << endl;
//- <BoardType> -----------------------
// Try to initialize BoardType from class property
cl_prop = ds_class->get_class_property(dev_prop[++i].name);
if (cl_prop.is_empty() == false) cl_prop >> boardType;
else {
if (cl_prop.is_empty() == false)
cl_prop >> boardType;
else
{
// Try to initialize BoardType from default device value
def_prop = ds_class->get_default_device_property(dev_prop[i].name);
if (def_prop.is_empty() == false)
{
def_prop >> boardType_default;
def_prop >> boardType;
}
}
// And try to extract BoardType value from database
if (dev_prop[i].is_empty() == false) dev_prop[i] >> boardType;
if (dev_prop[i].is_empty() == false)
dev_prop[i] >> boardType;
INFO_STREAM << "Raw BoardType parsed: " << boardType << endl;
//- <EnableRamps> -----------------------
// Try to initialize EnableRamps from class property
cl_prop = ds_class->get_class_property(dev_prop[++i].name);
if (cl_prop.is_empty() == false) cl_prop >> enableRamps;
else {
if (cl_prop.is_empty() == false)
cl_prop >> enableRamps;
else
{
// Try to initialize EnableRamps from default device value
def_prop = ds_class->get_default_device_property(dev_prop[i].name);
if (def_prop.is_empty() == false)
{
def_prop >> enableRamps_default;
def_prop >> enableRamps;
}
}
// And try to extract EnableRamps value from database
if (dev_prop[i].is_empty() == false) dev_prop[i] >> enableRamps;
if (dev_prop[i].is_empty() == false)
dev_prop[i] >> enableRamps;
INFO_STREAM << "EnableRamps parsed: " << (enableRamps ? "true" : "false") << endl;
//- <OutputMemorizedChannelsAtInit> -----------------------
// Try to initialize OutputMemorizedChannelsAtInit from class property
cl_prop = ds_class->get_class_property(dev_prop[++i].name);
if (cl_prop.is_empty() == false) cl_prop >> outputMemorizedChannelsAtInit;
else {
if (cl_prop.is_empty() == false)
cl_prop >> outputMemorizedChannelsAtInit;
else
{
// Try to initialize OutputMemorizedChannelsAtInit from default device value
def_prop = ds_class->get_default_device_property(dev_prop[i].name);
if (def_prop.is_empty() == false)
{
def_prop >> outputMemorizedChannelsAtInit_default;
def_prop >> outputMemorizedChannelsAtInit;
}
}
// And try to extract OutputMemorizedChannelsAtInit value from database
if (dev_prop[i].is_empty() == false) dev_prop[i] >> outputMemorizedChannelsAtInit;
if (dev_prop[i].is_empty() == false)
dev_prop[i] >> outputMemorizedChannelsAtInit;
INFO_STREAM << "OutputMemorizedChannelsAtInit parsed: " << (outputMemorizedChannelsAtInit ? "true" : "false") << endl;
// Get default values from class
//--------------------------------------------
ds_class->get_default_device_property(std::string("BoardNum")) >> boardNum_default;
ds_class->get_default_device_property(std::string("BoardType")) >> boardType_default;
ds_class->get_default_device_property(std::string("EnableRamps")) >> enableRamps_default;
ds_class->get_default_device_property(std::string("OutputMemorizedChannelsAtInit")) >> outputMemorizedChannelsAtInit_default;
// Create properties if empty and set default values
//--------------------------------------------
Loading