Skip to content
Snippets Groups Projects
Commit abe61bfc authored by Stéphane Poirier's avatar Stéphane Poirier
Browse files

New command:

- GetIntensity get intensity spectrum by index during the acquisition process
New attributes:
- acquisitionCount related to the GetIntensity command, returns the current number of spectrum acquired
- triggerMode replace the property TriggerMode
parent e6374495
Branches
Tags
No related merge requests found
......@@ -52,7 +52,9 @@
#include <yat4tango/InnerAppender.h>
#include "SpectrometerTask.h"
#ifndef NO_DRIVER
#include "include/ArrayTypes.h"
#endif
namespace Spectrometer_ns
{
......@@ -85,7 +87,6 @@ public :
* Attribute member data.
*/
//@{
/*
Tango::DevUShort *attr_averagingNb_read;
Tango::DevUShort attr_averagingNb_write;
Tango::DevUShort *attr_boxcar_read;
......@@ -94,9 +95,11 @@ public :
Tango::DevLong attr_integrationTime_write;
Tango::DevBoolean *attr_lampEnable_read;
Tango::DevBoolean attr_lampEnable_write;
Tango::DevULong *attr_acquisitionCount_read;
Tango::DevUShort *attr_triggerMode_read;
Tango::DevUShort attr_triggerMode_write;
Tango::DevDouble *attr_lambda_read;
Tango::DevDouble *attr_intensity_read;
*/
//@}
/**
......@@ -222,6 +225,18 @@ public :
* Write lampEnable attribute values to hardware.
*/
virtual void write_lampEnable(Tango::WAttribute &attr);
/**
* Extract real attribute values for acquisitionCount acquisition result.
*/
virtual void read_acquisitionCount(Tango::Attribute &attr);
/**
* Extract real attribute values for triggerMode acquisition result.
*/
virtual void read_triggerMode(Tango::Attribute &attr);
/**
* Write triggerMode attribute values to hardware.
*/
virtual void write_triggerMode(Tango::WAttribute &attr);
/**
* Extract real attribute values for lambda acquisition result.
*/
......@@ -246,6 +261,14 @@ public :
* Read/Write allowed for lampEnable attribute.
*/
virtual bool is_lampEnable_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for acquisitionCount attribute.
*/
virtual bool is_acquisitionCount_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for triggerMode attribute.
*/
virtual bool is_triggerMode_allowed(Tango::AttReqType type);
/**
* Read/Write allowed for lambda attribute.
*/
......@@ -270,6 +293,10 @@ public :
* Execution allowed for Snap command.
*/
virtual bool is_Snap_allowed(const CORBA::Any &any);
/**
* Execution allowed for GetIntensity command.
*/
virtual bool is_GetIntensity_allowed(const CORBA::Any &any);
/**
* Starts multiple spectrum acquisitions according to chosen mode. Returns spectrum until a "Stop" command is sent by user.
* @exception DevFailed
......@@ -292,6 +319,13 @@ public :
* @exception DevFailed
*/
void snap();
/**
* Get intensity spectrum by index
* @param argin intensity spectrum index
* @return intensity spectrum
* @exception DevFailed
*/
Tango::DevVarDoubleArray *get_intensity(Tango::DevULong);
/**
* Read the device properties from database
......@@ -308,8 +342,9 @@ protected :
// Add your own data members here
//-----------------------------------------
//- Wrapper object - talk with the spectrometer
#ifndef NO_DRIVER
Wrapper m_wrapper;
#endif
//- Current number of pixels
int m_currentNbPixels;
......@@ -328,6 +363,9 @@ protected :
//- boxcar
unsigned short m_boxcar;
//- trigger mode
unsigned short m_trigger_mode;
//- integrationTime
long m_integrationTime;
......@@ -339,6 +377,11 @@ protected :
//- intensity
double * m_intensity;
//- intensity accumulation array
std::vector<DoubleBufPtr> m_intensity_buf;
Tango::DevULong m_acquisition_count;
};
} // namespace_ns
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment