Skip to content
Snippets Groups Projects

[ICATHALES-6] - Device do not start when driver not availible

2 files
+ 8
16
Compare changes
  • Side-by-side
  • Inline

Files

+ 7
15
@@ -179,7 +179,7 @@ void ContinuousAO::init_device()
//- check memory allocation
if (ao == 0)
{
raise_error("ContinuousAO::init_device\nout of memory error while initializing ADLinkContinuousAO");
on_fault("ContinuousAO::init_device\nout of memory error while initializing ADLinkContinuousAO");
return;
}
@@ -194,7 +194,7 @@ void ContinuousAO::init_device()
ch7 = new double[bufferDepth];
if(ch0 == 0 || ch1 == 0 || ch2 == 0 || ch3 == 0 || ch4 == 0 || ch5 == 0 ||ch6 == 0 || ch7 == 0)
{
raise_error("ContinuousAO::init_device\nout of memory error while initializing channel's datas");
on_fault("ContinuousAO::init_device\nout of memory error while initializing channel's datas");
return;
}
@@ -531,29 +531,21 @@ void ContinuousAO::init_device()
DEBUG_STREAM<<"ContinuousAO::init_device : init acq"<<std::endl;
try{
_ASL_TRY(
ao->init(adl::DAQ2502, boardNum),
"init",
"ContinuousAO::init_device"
);
ao->init(adl::DAQ2502, boardNum);
DEBUG_STREAM<<"ContinuousAO::init_device : config acq"<<std::endl;
try{
_ASL_TRY(
ao->configure(config),
"configure",
"ContinuousAO::init_device"
);
ao->configure(config);
}
catch (...)
{
raise_error("ContinuousAO::init_device\nError while configuring driver");
on_fault("ContinuousAO::init_device\nError while configuring driver");
return;
}
}
catch (...)
{
raise_error("ContinuousAO::init_device\nError while initializing the driver");
on_fault("ContinuousAO::init_device\nError while initializing the driver");
return;
}
@@ -1458,7 +1450,7 @@ void ContinuousAO::save_waveform(double* waveform, string wfm_channel)
);
}
void ContinuousAO::raise_error(std::string p_error_message)
void ContinuousAO::on_fault(std::string p_error_message)
{
m_error_message = p_error_message;
set_state(Tango::FAULT);
Loading