//============================================================================= // // file : SpectrumAnalyzer.h // // description : Include for the SpectrumAnalyzer class. // // project : SpectrumAnalyzer // // $Author: Giacomo Strangolino // // $Revision: 0.9 January, 26th, 2006. // // $Log: SpectrumAnalyzer.h,v $ // Revision 1.1 2008/04/23 12:27:46 claudio // first import // // // copyleft : European Synchrotron Radiation Facility // BP 220, Grenoble 38043 // FRANCE // //============================================================================= // // This file is generated by POGO // (Program Obviously used to Generate tango Object) // // (c) - Software Engineering Group - ESRF //============================================================================= #ifndef _SPECTRUMANALYZER_H #define _SPECTRUMANALYZER_H #include <tango.h> //using namespace Tango; /** * @author $Author: claudio $ * @version $Revision: 1.1 $ */ // Add your own constants definitions here. //----------------------------------------------- namespace SpectrumAnalyzer_ns { /** * Class Description: * Class for managing spectrum analyzer devices */ /* * Device States Description: * Tango::ON : Device is online * Tango::OFF : Device is offline * Tango::FAULT : Device not working * Tango::DISABLE : accepts commands only from frontal panel. Remote control disabled. * Tango::UNKNOWN : Device is in unknown state when GPIB is not responding */ class SpectrumAnalyzer: public Tango::Device_3Impl { public : // Add your own data members here //----------------------------------------- // Here is the Start of the automatic code generation part //------------------------------------------------------------- /** * @name attributes * Attributes member data. */ //@{ Tango::DevDouble *attr_Span_read; Tango::DevDouble attr_Span_write; Tango::DevDouble *attr_CenterFrequency_read; Tango::DevDouble attr_CenterFrequency_write; Tango::DevDouble *attr_MarkerX_read; Tango::DevDouble *attr_MarkerY_read; Tango::DevString *attr_ErrorPolling_read; Tango::DevDouble *attr_Attenuation_read; Tango::DevDouble attr_Attenuation_write; Tango::DevString *attr_DetectorType_read; Tango::DevString attr_DetectorType_write; Tango::DevDouble *attr_StartFrequency_read; Tango::DevDouble attr_StartFrequency_write; Tango::DevDouble *attr_StopFrequency_read; Tango::DevDouble attr_StopFrequency_write; Tango::DevDouble *attr_FreqOffset_read; Tango::DevDouble attr_FreqOffset_write; Tango::DevDouble *attr_ReferenceLevel_read; Tango::DevDouble attr_ReferenceLevel_write; Tango::DevDouble *attr_StartStop_read; Tango::DevDouble attr_StartStop_write; Tango::DevDouble *attr_TraceReal32_read; Tango::DevLong *attr_TraceInt32_read; Tango::DevShort *attr_OPC_read; Tango::DevShort attr_OPC_write; Tango::DevDouble *attr_ResolutionBandwidth_read; Tango::DevDouble attr_ResolutionBandwidth_write; Tango::DevDouble *attr_PeakThreshold_read; Tango::DevDouble attr_PeakThreshold_write; Tango::DevDouble *attr_PeakExcursion_read; Tango::DevDouble attr_PeakExcursion_write; Tango::DevDouble *attr_GetSignalPeaks_read; Tango::DevDouble *attr_Fs_read; Tango::DevDouble attr_Fs_write; Tango::DevDouble *attr_WindowFs_read; Tango::DevDouble attr_WindowFs_write; Tango::DevDouble *attr_Window_read; Tango::DevDouble attr_Window_write; Tango::DevLong *attr_NumberOfSweeps_read; Tango::DevLong attr_NumberOfSweeps_write; //@} /** * @name Device properties * Device properties member data. */ //@{ //@} /**@name Constructors * Miscellaneous constructors */ //@{ /** * Constructs a newly allocated Command object. * * @param cl Class. * @param s Device Name */ SpectrumAnalyzer(Tango::DeviceClass *cl,string &s):Device_3Impl(cl,s) {}; /** * Constructs a newly allocated Command object. * * @param cl Class. * @param s Device Name */ SpectrumAnalyzer(Tango::DeviceClass *cl,const char *s):Device_3Impl(cl,s) {}; /** * Constructs a newly allocated Command object. * * @param cl Class. * @param s Device name * @param d Device description. */ SpectrumAnalyzer(Tango::DeviceClass *cl,const char *s,const char *d):Device_3Impl(cl,s,d) {}; //@} /** * @name SpectrumAnalyzer methods prototypes */ //@{ /** * Hardware acquisition for attributes. */ virtual void read_attr_hardware(vector<long> &attr_list) = 0; /** * Extract real attribute values for Span acquisition result. */ virtual void read_Span(Tango::Attribute &attr) = 0; /** * Write Span attribute values to hardware. */ virtual void write_Span(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for CenterFrequency acquisition result. */ virtual void read_CenterFrequency(Tango::Attribute &attr) = 0; /** * Write CenterFrequency attribute values to hardware. */ virtual void write_CenterFrequency(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for MarkerX acquisition result. */ virtual void read_MarkerX(Tango::Attribute &attr) = 0; /** * Extract real attribute values for MarkerY acquisition result. */ virtual void read_MarkerY(Tango::Attribute &attr) = 0; /** * Extract real attribute values for ErrorPolling acquisition result. */ virtual void read_ErrorPolling(Tango::Attribute &attr) = 0; /** * Extract real attribute values for Attenuation acquisition result. */ virtual void read_Attenuation(Tango::Attribute &attr) = 0; /** * Write Attenuation attribute values to hardware. */ virtual void write_Attenuation(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for DetectorType acquisition result. */ virtual void read_DetectorType(Tango::Attribute &attr) = 0; /** * Write DetectorType attribute values to hardware. */ virtual void write_DetectorType(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for StartFrequency acquisition result. */ virtual void read_StartFrequency(Tango::Attribute &attr) = 0; /** * Write StartFrequency attribute values to hardware. */ virtual void write_StartFrequency(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for StopFrequency acquisition result. */ virtual void read_StopFrequency(Tango::Attribute &attr) = 0; /** * Write StopFrequency attribute values to hardware. */ virtual void write_StopFrequency(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for FreqOffset acquisition result. */ virtual void read_FreqOffset(Tango::Attribute &attr) = 0; /** * Write FreqOffset attribute values to hardware. */ virtual void write_FreqOffset(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for ReferenceLevel acquisition result. */ virtual void read_ReferenceLevel(Tango::Attribute &attr) = 0; /** * Write ReferenceLevel attribute values to hardware. */ virtual void write_ReferenceLevel(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for StartStop acquisition result. */ virtual void read_StartStop(Tango::Attribute &attr) = 0; /** * Write StartStop attribute values to hardware. */ virtual void write_StartStop(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for TraceReal32 acquisition result. */ virtual void read_TraceReal32(Tango::Attribute &attr) = 0; /** * Extract real attribute values for TraceInt32 acquisition result. */ virtual void read_TraceInt32(Tango::Attribute &attr) = 0; /** * Extract real attribute values for OPC acquisition result. */ virtual void read_OPC(Tango::Attribute &attr) = 0; /** * Write OPC attribute values to hardware. */ virtual void write_OPC(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for ResolutionBandwidth acquisition result. */ virtual void read_ResolutionBandwidth(Tango::Attribute &attr) = 0; /** * Write ResolutionBandwidth attribute values to hardware. */ virtual void write_ResolutionBandwidth(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for PeakThreshold acquisition result. */ virtual void read_PeakThreshold(Tango::Attribute &attr) = 0; /** * Write PeakThreshold attribute values to hardware. */ virtual void write_PeakThreshold(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for PeakExcursion acquisition result. */ virtual void read_PeakExcursion(Tango::Attribute &attr) = 0; /** * Write PeakExcursion attribute values to hardware. */ virtual void write_PeakExcursion(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for GetSignalPeaks acquisition result. */ virtual void read_GetSignalPeaks(Tango::Attribute &attr) = 0; /** * Extract real attribute values for Fs acquisition result. */ virtual void read_Fs(Tango::Attribute &attr) = 0; /** * Write Fs attribute values to hardware. */ virtual void write_Fs(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for WindowFs acquisition result. */ virtual void read_WindowFs(Tango::Attribute &attr) = 0; /** * Write WindowFs attribute values to hardware. */ virtual void write_WindowFs(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for Window acquisition result. */ virtual void read_Window(Tango::Attribute &attr) = 0; /** * Write Window attribute values to hardware. */ virtual void write_Window(Tango::WAttribute &attr) = 0; /** * Extract real attribute values for NumberOfSweeps acquisition result. */ virtual void read_NumberOfSweeps(Tango::Attribute &attr) = 0; /** * Write NumberOfSweeps attribute values to hardware. */ virtual void write_NumberOfSweeps(Tango::WAttribute &attr) = 0; /** * Read/Write allowed for Span attribute. */ virtual bool is_Span_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for CenterFrequency attribute. */ virtual bool is_CenterFrequency_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for MarkerX attribute. */ virtual bool is_MarkerX_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for MarkerY attribute. */ virtual bool is_MarkerY_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for ErrorPolling attribute. */ virtual bool is_ErrorPolling_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for Attenuation attribute. */ virtual bool is_Attenuation_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for DetectorType attribute. */ virtual bool is_DetectorType_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for StartFrequency attribute. */ virtual bool is_StartFrequency_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for StopFrequency attribute. */ virtual bool is_StopFrequency_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for FreqOffset attribute. */ virtual bool is_FreqOffset_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for ReferenceLevel attribute. */ virtual bool is_ReferenceLevel_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for StartStop attribute. */ virtual bool is_StartStop_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for TraceReal32 attribute. */ virtual bool is_TraceReal32_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for TraceInt32 attribute. */ virtual bool is_TraceInt32_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for OPC attribute. */ virtual bool is_OPC_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for ResolutionBandwidth attribute. */ virtual bool is_ResolutionBandwidth_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for PeakThreshold attribute. */ virtual bool is_PeakThreshold_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for PeakExcursion attribute. */ virtual bool is_PeakExcursion_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for GetSignalPeaks attribute. */ virtual bool is_GetSignalPeaks_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for Fs attribute. */ virtual bool is_Fs_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for WindowFs attribute. */ virtual bool is_WindowFs_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for Window attribute. */ virtual bool is_Window_allowed(Tango::AttReqType type){ return true; }; /** * Read/Write allowed for NumberOfSweeps attribute. */ virtual bool is_NumberOfSweeps_allowed(Tango::AttReqType type){ return true; }; /** * Execution allowed for Reset command. */ virtual bool is_Reset_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for ClearStatus command. */ virtual bool is_ClearStatus_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for Remote command. */ virtual bool is_Remote_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for Local command. */ virtual bool is_Local_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for GetPeak command. */ virtual bool is_GetPeak_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetSingleSweep command. */ virtual bool is_SetSingleSweep_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for ChangePowUnits command. */ virtual bool is_ChangePowUnits_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for GetErrorInfo command. */ virtual bool is_GetErrorInfo_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for GetMin command. */ virtual bool is_GetMin_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetContinuousSweep command. */ virtual bool is_SetContinuousSweep_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for RestartMeasurement command. */ virtual bool is_RestartMeasurement_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetAutoAttenuation command. */ virtual bool is_SetAutoAttenuation_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for GetAutoAttenuation command. */ virtual bool is_GetAutoAttenuation_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetAsciiData command. */ virtual bool is_SetAsciiData_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetINT32Data command. */ virtual bool is_SetINT32Data_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SetReal32Data command. */ virtual bool is_SetReal32Data_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for GetDataFormat command. */ virtual bool is_GetDataFormat_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for SaveData command. */ virtual bool is_SaveData_allowed(const CORBA::Any &any){ return true; }; /** * Execution allowed for PrintData command. */ virtual bool is_PrintData_allowed(const CORBA::Any &any){ return true; }; /** * Resets instrument * @exception DevFailed */ virtual void reset() = 0; /** * Clears all data in instrument. IEEE common command. * See specific instrument documentation for details. * @exception DevFailed */ virtual void clear_status() = 0; /** * Remote control enabled. * @exception DevFailed */ virtual void remote() = 0; /** * Disables remote control and enables front panel instrument interaction. * @exception DevFailed */ virtual void local() = 0; /** * Sets the marker to the maximum peak. Then one can read X and Y positions of the just * placed marker. * @exception DevFailed */ virtual void get_peak() = 0; /** * Sets the analyzer to the single sweep mode. * See specific instrument documentation for details. * IVI SpecAn base attribute. * @exception DevFailed */ virtual void set_single_sweep() = 0; /** * Changes the power units of measure. Values allowed: DBM, DBMV, DBUV, W, V. * IVI SpecAn base attribute. * See specific instrument documentation for details. * @param argin Set the power units of measure: DBM, DBMV, DBUV, W, V * @exception DevFailed */ virtual void change_pow_units(Tango::DevString) = 0; /** * Queries the earliest entry to the error queue and then deletes that entry. * @return The string represents the earliest entry to the error queue. * @exception DevFailed */ virtual Tango::DevString get_error_info() = 0; /** * Sets marker to the minimum amplitude value in current measure. Then one can read * the X and Y values querying the MarkerX and MarkerY attributes. * @exception DevFailed */ virtual void get_min() = 0; /** * The trigger system is continuously initiated. * See specific instrument documentation for details. * IVI SpecAn base attribute 'Sweep Mode Continuous'. * @exception DevFailed */ virtual void set_continuous_sweep() = 0; /** * Restarts the measurement. * In instrument specific documentation one can find some details about the meaning of this * command. * @exception DevFailed */ virtual void restart_measurement() = 0; /** * Enables or disables auto attenuation. * IVI SpecAn base attribute. * @param argin 1 Enables auto attenuation, 0 disables it. * @exception DevFailed */ virtual void set_auto_attenuation(Tango::DevBoolean) = 0; /** * Returns auto attenuation status: enabled or disabled. * Auto attenuation is an IVI SpecAn base attribute. * @return ! if auto attenuation is enabled, 0 if disabled * @exception DevFailed */ virtual Tango::DevBoolean get_auto_attenuation() = 0; /** * Sets the format of the output data of a measurement to ASCII. * @exception DevFailed */ virtual void set_ascii_data() = 0; /** * Sets the format of data to INT 32 (fastest). Trace data are in mdBm. * @exception DevFailed */ virtual void set_int32_data() = 0; /** * Sets the format of data to REAL 32: real values in amplitude units, in a definite length block. * @exception DevFailed */ virtual void set_real32_data() = 0; /** * Returns the format of the data in trace. * @return Returns the format of the data in trace * @exception DevFailed */ virtual Tango::DevString get_data_format() = 0; /** * Save trace data to the specified file. * @param argin Name of the file to which you want to save trace data. * @exception DevFailed */ virtual void save_data(Tango::DevString) = 0; /** * Specifying a filename containing an instrument data trace, data in trace is printed out on a * string. * @param argin Input data filename. * @return Output in string format. * @exception DevFailed */ virtual Tango::ConstDevString print_data(Tango::DevString) = 0; //@} // Here is the end of the automatic code generation part //------------------------------------------------------------- protected : // Add your own data members here //----------------------------------------- }; } // namespace_ns #endif // _SPECTRUMANALYZER_H