ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes | List of all members

Siglent vector signal generators. More...

#include <SiglentVectorSignalGenerator.h>

Inheritance diagram for SiglentVectorSignalGenerator:
Inheritance graph
[legend]
Collaboration diagram for SiglentVectorSignalGenerator:
Collaboration graph
[legend]

Public Member Functions

 SiglentVectorSignalGenerator (SCPITransport *transport)
 
virtual unsigned int GetInstrumentTypes () const override
 Returns a bitfield describing the set of instrument types that this instrument supports. More...
 
virtual uint32_t GetInstrumentTypesForChannel (size_t i) const override
 Returns a bitfield describing the set of instrument types that a given channel supports. More...
 
virtual bool AcquireData () override
 Pull data from the instrument. More...
 
virtual bool GetChannelOutputEnable (int chan) override
 Check if a channel is currently enabled. More...
 
virtual void SetChannelOutputEnable (int chan, bool on) override
 Enable or disable a channel output. More...
 
virtual float GetChannelOutputPower (int chan) override
 Gets the power level of a channel. More...
 
virtual void SetChannelOutputPower (int chan, float power) override
 Sets the power level of a channel. More...
 
virtual double GetChannelCenterFrequency (int chan) override
 Gets the center frequency of a channel. More...
 
virtual void SetChannelCenterFrequency (int chan, double freq) override
 Sets the power level of a channel. More...
 
virtual bool IsAnalogModulationAvailable (int chan) override
 Checks if an instrument is analog modulation capable. More...
 
virtual bool GetAnalogModulationEnable (int chan) override
 Enable or disable analog modulation. More...
 
virtual void SetAnalogModulationEnable (int chan, bool on) override
 Enable or disable analog modulation. More...
 
virtual void SetAnalogFMEnable (int chan, bool on) override
 Enable or disable analog frequency modulation (also requires modulation to be turned on) More...
 
virtual bool GetAnalogFMEnable (int chan) override
 Enable or disable analog frequency modulation. More...
 
virtual std::vector< FunctionGenerator::WaveShapeGetAnalogFMWaveShapes () override
 Get the set of waveforms available for analog FM. More...
 
virtual FunctionGenerator::WaveShape GetAnalogFMWaveShape (int chan) override
 Get the current waveform selected for analog FM. More...
 
virtual void SetAnalogFMWaveShape (int chan, FunctionGenerator::WaveShape shape) override
 Sets the analog FM modulation shape for a channel. More...
 
virtual void SetAnalogFMDeviation (int chan, int64_t deviation) override
 Sets the analog FM deviation for a channel (in Hz) More...
 
virtual int64_t GetAnalogFMDeviation (int chan) override
 Gets the analog FM deviation for a channel. More...
 
virtual void SetAnalogFMFrequency (int chan, int64_t frequency) override
 Sets the analog FM frequency for a channel (in Hz) More...
 
virtual int64_t GetAnalogFMFrequency (int chan) override
 Gets the analog FM frequency for a channel. More...
 
virtual bool IsVectorModulationAvailable (int chan) override
 Checks if an instrument is vector modulation capable. More...
 
virtual bool IsSweepAvailable (int chan) override
 Checks if an instrument supports sweeping the center frequency. More...
 
virtual float GetSweepStartFrequency (int chan) override
 Gets the start of a frequency sweep, in Hz. More...
 
virtual float GetSweepStopFrequency (int chan) override
 Gets the end of a frequency sweep, in Hz. More...
 
virtual void SetSweepStartFrequency (int chan, float freq) override
 Sets the start of a frequency sweep. More...
 
virtual void SetSweepStopFrequency (int chan, float freq) override
 Sets the stop of a frequency sweep. More...
 
virtual float GetSweepStartLevel (int chan) override
 Gets the start of a power sweep, in dBm. More...
 
virtual float GetSweepStopLevel (int chan) override
 Gets the end of a power sweep, in dBm. More...
 
virtual void SetSweepStartLevel (int chan, float level) override
 Sets the start of a power sweep. More...
 
virtual void SetSweepStopLevel (int chan, float level) override
 Sets the stop of a power sweep. More...
 
virtual void SetSweepDwellTime (int chan, float fs) override
 Sets the dwell time for each step in a sweep. More...
 
virtual float GetSweepDwellTime (int chan) override
 Gets the dwell time for each step in a sweep, in femtoseconds. More...
 
virtual void SetSweepPoints (int chan, int npoints) override
 Sets the number of frequency points in a sweep. More...
 
virtual int GetSweepPoints (int chan) override
 Gets the number of frequency points in a sweep. More...
 
virtual SweepShape GetSweepShape (int chan) override
 Gets the shape of a sweep. More...
 
virtual void SetSweepShape (int chan, SweepShape shape) override
 Sets the shape of a sweep. More...
 
virtual SweepSpacing GetSweepSpacing (int chan) override
 Gets the spacing of a sweep (log or linear) More...
 
virtual void SetSweepSpacing (int chan, SweepSpacing shape) override
 Sets the spacing of a sweep (log or linear) More...
 
virtual SweepDirection GetSweepDirection (int chan) override
 Gets the direction of a sweep. More...
 
virtual void SetSweepDirection (int chan, SweepDirection dir) override
 Sets the direction of a sweep. More...
 
virtual SweepType GetSweepType (int chan) override
 Gets the type of a sweep. More...
 
virtual void SetSweepType (int chan, SweepType type) override
 Sets the type of a sweep. More...
 
virtual std::vector< WaveShapeGetAvailableWaveformShapes (int chan) override
 Query the set of available pre-defined waveforms for this generator. More...
 
virtual bool GetFunctionChannelActive (int chan) override
 Returns true if the function generator channel's output is enabled. More...
 
virtual void SetFunctionChannelActive (int chan, bool on) override
 Turns a function generator channel on or off. More...
 
virtual bool HasFunctionDutyCycleControls (int chan) override
 Determines if the function generator allows control over duty cycles. More...
 
virtual float GetFunctionChannelAmplitude (int chan) override
 Gets the amplitude for a function generator output. More...
 
virtual void SetFunctionChannelAmplitude (int chan, float amplitude) override
 Sets the amplitude for a function generator output. More...
 
virtual float GetFunctionChannelOffset (int chan) override
 Gets the DC offset for a function generator output. More...
 
virtual void SetFunctionChannelOffset (int chan, float offset) override
 Sets the DC offset for a function generator output. More...
 
virtual float GetFunctionChannelFrequency (int chan) override
 Gets the frequency for a function generator output. More...
 
virtual void SetFunctionChannelFrequency (int chan, float hz) override
 Sets the frequency for a function generator output. More...
 
virtual WaveShape GetFunctionChannelShape (int chan) override
 Gets the waveform shape for a function generator output. More...
 
virtual void SetFunctionChannelShape (int chan, WaveShape shape) override
 Sets the waveform shape for a function generator output. More...
 
virtual bool HasFunctionRiseFallTimeControls (int chan) override
 Determines if the function generator allows control over rise/fall times. More...
 
virtual bool HasFunctionImpedanceControls (int chan) override
 Determines if the function generator allows control over rise/fall times. More...
 
virtual bool GetChannelOutputEnable (int chan)=0
 Check if a channel is currently enabled. More...
 
virtual void SetChannelOutputEnable (int chan, bool on)=0
 Enable or disable a channel output. More...
 
virtual float GetChannelOutputPower (int chan)=0
 Gets the power level of a channel. More...
 
virtual void SetChannelOutputPower (int chan, float power)=0
 Sets the power level of a channel. More...
 
virtual double GetChannelCenterFrequency (int chan)=0
 Gets the center frequency of a channel. More...
 
virtual void SetChannelCenterFrequency (int chan, double freq)=0
 Sets the power level of a channel. More...
 
virtual bool IsAnalogModulationAvailable (int chan)=0
 Checks if an instrument is analog modulation capable. More...
 
virtual void SetAnalogModulationEnable (int chan, bool on)=0
 Enable or disable analog modulation. More...
 
virtual bool GetAnalogModulationEnable (int chan)=0
 Enable or disable analog modulation. More...
 
virtual void SetAnalogFMEnable (int chan, bool on)=0
 Enable or disable analog frequency modulation (also requires modulation to be turned on) More...
 
virtual bool GetAnalogFMEnable (int chan)=0
 Enable or disable analog frequency modulation. More...
 
virtual std::vector< FunctionGenerator::WaveShapeGetAnalogFMWaveShapes ()=0
 Get the set of waveforms available for analog FM. More...
 
virtual FunctionGenerator::WaveShape GetAnalogFMWaveShape (int chan)=0
 Get the current waveform selected for analog FM. More...
 
virtual void SetAnalogFMWaveShape (int chan, FunctionGenerator::WaveShape shape)=0
 Sets the analog FM modulation shape for a channel. More...
 
virtual void SetAnalogFMDeviation (int chan, int64_t deviation)=0
 Sets the analog FM deviation for a channel (in Hz) More...
 
virtual int64_t GetAnalogFMDeviation (int chan)=0
 Gets the analog FM deviation for a channel. More...
 
virtual void SetAnalogFMFrequency (int chan, int64_t frequency)=0
 Sets the analog FM frequency for a channel (in Hz) More...
 
virtual int64_t GetAnalogFMFrequency (int chan)=0
 Gets the analog FM frequency for a channel. More...
 
virtual bool IsVectorModulationAvailable (int chan)=0
 Checks if an instrument is vector modulation capable. More...
 
virtual bool IsSweepAvailable (int chan)=0
 Checks if an instrument supports sweeping the center frequency. More...
 
virtual SweepType GetSweepType (int chan)
 Gets the type of a sweep. More...
 
virtual void SetSweepType (int chan, SweepType type)
 Sets the type of a sweep. More...
 
virtual float GetSweepStartFrequency (int chan)
 Gets the start of a frequency sweep, in Hz. More...
 
virtual float GetSweepStopFrequency (int chan)
 Gets the end of a frequency sweep, in Hz. More...
 
virtual void SetSweepStartFrequency (int chan, float freq)
 Sets the start of a frequency sweep. More...
 
virtual void SetSweepStopFrequency (int chan, float freq)
 Sets the stop of a frequency sweep. More...
 
virtual float GetSweepStartLevel (int chan)
 Gets the start of a power sweep, in dBm. More...
 
virtual float GetSweepStopLevel (int chan)
 Gets the end of a power sweep, in dBm. More...
 
virtual void SetSweepStartLevel (int chan, float level)
 Sets the start of a power sweep. More...
 
virtual void SetSweepStopLevel (int chan, float level)
 Sets the stop of a power sweep. More...
 
virtual void SetSweepDwellTime (int chan, float fs)
 Sets the dwell time for each step in a sweep. More...
 
virtual float GetSweepDwellTime (int chan)
 Gets the dwell time for each step in a sweep, in femtoseconds. More...
 
virtual void SetSweepPoints (int chan, int npoints)
 Sets the number of frequency points in a sweep. More...
 
virtual int GetSweepPoints (int chan)
 Gets the number of frequency points in a sweep. More...
 
virtual SweepShape GetSweepShape (int chan)
 Gets the shape of a sweep. More...
 
virtual void SetSweepShape (int chan, SweepShape shape)
 Sets the shape of a sweep. More...
 
virtual SweepSpacing GetSweepSpacing (int chan)
 Gets the spacing of a sweep (log or linear) More...
 
virtual void SetSweepSpacing (int chan, SweepSpacing shape)
 Sets the spacing of a sweep (log or linear) More...
 
virtual SweepDirection GetSweepDirection (int chan)
 Gets the direction of a sweep. More...
 
virtual void SetSweepDirection (int chan, SweepDirection dir)
 Sets the direction of a sweep. More...
 
virtual bool AcquireData () override
 Pull data from the instrument. More...
 
- Public Member Functions inherited from Instrument
virtual unsigned int GetInstrumentTypes () const =0
 Returns a bitfield describing the set of instrument types that this instrument supports. More...
 
virtual std::string GetName () const =0
 
virtual std::string GetVendor () const =0
 
virtual std::string GetSerial () const =0
 
virtual std::string GetTransportConnectionString ()=0
 Gets the connection string for our transport. More...
 
virtual std::string GetTransportName ()=0
 Gets the name of our transport. More...
 
virtual uint32_t GetInstrumentTypesForChannel (size_t i) const =0
 Returns a bitfield describing the set of instrument types that a given channel supports. More...
 
size_t GetChannelCount () const
 Gets the number of channels (of any type) this instrument has.
 
InstrumentChannelGetChannel (size_t i) const
 Gets a given channel on the instrument. More...
 
virtual std::string GetChannelDisplayName (size_t i)
 Gets the hardware display name for a channel. This is an arbitrary user-selected string. More...
 
virtual void SetChannelDisplayName (size_t i, std::string name)
 Sets the hardware display name for a channel. This is an arbitrary user-selected string. More...
 
InstrumentChannelGetChannelByDisplayName (const std::string &name)
 Gets a channel given the display name.
 
InstrumentChannelGetChannelByHwName (const std::string &name)
 Gets a channel given the hardware name.
 
virtual bool AcquireData ()=0
 Pull data from the instrument. More...
 
virtual YAML::Node SerializeConfiguration (IDTable &table) const
 Serializes this instrument's configuration to a YAML node. More...
 
virtual void LoadConfiguration (int version, const YAML::Node &node, IDTable &idmap)
 Load instrument and channel configuration from a save file. More...
 
virtual void PreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &warnings)
 Parse a limited subset of instrument configuration but do not apply it. More...
 
- Public Member Functions inherited from SCPIInstrument
 SCPIInstrument (SCPITransport *transport, bool identify=true)
 
virtual std::string GetTransportConnectionString ()
 Gets the connection string for our transport. More...
 
virtual std::string GetTransportName ()
 Gets the name of our transport. More...
 
virtual std::string GetName () const
 
virtual std::string GetVendor () const
 
virtual std::string GetSerial () const
 
virtual std::string GetDriverName () const =0
 
- Public Member Functions inherited from SCPIDevice
 SCPIDevice (SCPITransport *transport, bool identify=true)
 
SCPITransportGetTransport () const
 
- Public Member Functions inherited from FunctionGenerator
virtual bool AcquireData () override
 Pull data from the instrument. More...
 
virtual bool GetFunctionChannelActive (int chan)=0
 Returns true if the function generator channel's output is enabled. More...
 
virtual void SetFunctionChannelActive (int chan, bool on)=0
 Turns a function generator channel on or off. More...
 
virtual bool HasFunctionDutyCycleControls (int chan)
 Determines if the function generator allows control over duty cycles. More...
 
virtual float GetFunctionChannelDutyCycle (int chan)
 Gets the duty cycle for a function generator output. More...
 
virtual void SetFunctionChannelDutyCycle (int chan, float duty)
 Sets the duty cycle for a function generator output. More...
 
virtual float GetFunctionChannelAmplitude (int chan)=0
 Gets the amplitude for a function generator output. More...
 
virtual void SetFunctionChannelAmplitude (int chan, float amplitude)=0
 Sets the amplitude for a function generator output. More...
 
virtual float GetFunctionChannelOffset (int chan)=0
 Gets the DC offset for a function generator output. More...
 
virtual void SetFunctionChannelOffset (int chan, float offset)=0
 Sets the DC offset for a function generator output. More...
 
virtual float GetFunctionChannelFrequency (int chan)=0
 Gets the frequency for a function generator output. More...
 
virtual void SetFunctionChannelFrequency (int chan, float hz)=0
 Sets the frequency for a function generator output. More...
 
virtual WaveShape GetFunctionChannelShape (int chan)=0
 Gets the waveform shape for a function generator output. More...
 
virtual void SetFunctionChannelShape (int chan, WaveShape shape)=0
 Sets the waveform shape for a function generator output. More...
 
virtual float GetFunctionChannelRiseTime (int chan)
 Gets the rise time for a function generator output (if supported) More...
 
virtual void SetFunctionChannelRiseTime (int chan, float fs)
 Sets the rise time for a function generator output (if supported) More...
 
virtual float GetFunctionChannelFallTime (int chan)
 Gets the fall time for a function generator output (if supported) More...
 
virtual void SetFunctionChannelFallTime (int chan, float fs)
 Sets the fall time for a function generator output (if supported) More...
 
virtual bool HasFunctionRiseFallTimeControls (int chan)=0
 Determines if the function generator allows control over rise/fall times. More...
 
virtual bool HasFunctionImpedanceControls (int chan)
 Determines if the function generator allows control over rise/fall times. More...
 
virtual OutputImpedance GetFunctionChannelOutputImpedance (int chan)
 Gets the currently selected output impedance for a function generator output (if supported) More...
 
virtual void SetFunctionChannelOutputImpedance (int chan, OutputImpedance z)
 Sets the currently selected output impedance for a function generator output (if supported) More...
 
virtual std::vector< WaveShapeGetAvailableWaveformShapes (int chan)=0
 Query the set of available pre-defined waveforms for this generator. More...
 

Static Public Member Functions

static std::string GetDriverNameInternal ()
 
- Static Public Member Functions inherited from SCPIRFSignalGenerator
static void DoAddDriverClass (std::string name, VSGCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPIRFSignalGeneratorCreateRFSignalGenerator (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from RFSignalGenerator
static std::string GetNameOfSweepType (SweepType type)
 Converts a SweepType to a human-readable name.
 
static SweepType GetSweepTypeOfName (const std::string &name)
 Converts a human-readable name to a SweepType.
 
static std::string GetNameOfSweepShape (SweepShape shape)
 Converts a SweepShape to a human-readable name.
 
static SweepShape GetSweepShapeOfName (const std::string &name)
 Converts a human-readable name to a SweepShape.
 
static std::string GetNameOfSweepSpacing (SweepSpacing spacing)
 Converts a SweepSpacing to a human-readable name.
 
static SweepSpacing GetSweepSpacingOfName (const std::string &name)
 Converts a human-readable name to a SweepSpacing.
 
static std::string GetNameOfSweepDirection (SweepDirection dir)
 Converts a SweepDirection to a human-readable name.
 
static SweepDirection GetSweepDirectionOfName (const std::string &name)
 Converts a human-readable name to a SweepDirection.
 
- Static Public Member Functions inherited from SCPIFunctionGenerator
static void DoAddDriverClass (std::string name, GeneratorCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPIFunctionGeneratorCreateFunctionGenerator (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from FunctionGenerator
static std::string GetNameOfShape (WaveShape shape)
 Converts a WaveShape enum to a human readable name. More...
 
static WaveShape GetShapeOfName (const std::string &name)
 Converts a human readable name to a WaveShape. More...
 
static std::string GetNameOfImpedance (OutputImpedance imp)
 Converts an OutputImpedance enum to a human readable name. More...
 
static OutputImpedance GetImpedanceOfName (const std::string &name)
 Converts a human readable name to an OutputImpedance. More...
 

Protected Types

enum  ChannelIDs { CHANNEL_RFOUT = 0 , CHANNEL_LFO = 1 }
 
- Protected Types inherited from SCPIRFSignalGenerator
typedef std::map< std::string, VSGCreateProcType > VSGCreateMapType
 
- Protected Types inherited from SCPIFunctionGenerator
typedef std::map< std::string, GeneratorCreateProcType > GeneratorCreateMapType
 

Protected Attributes

int m_firmwareRev [5]
 
- Protected Attributes inherited from Instrument
std::list< sigc::slot< void(YAML::Node &, IDTable &)> > m_serializers
 List of methods which need to be called to serialize this node's configuration.
 
std::list< sigc::slot< void(int, const YAML::Node &, IDTable &)> > m_loaders
 List of methods which need to be called to deserialize this node's configuration.
 
std::list< sigc::slot< void(int, const YAML::Node &, IDTable &, ConfigWarningList &)> > m_preloaders
 List of methods which need to be called to pre-load this node's configuration.
 
std::vector< InstrumentChannel * > m_channels
 Set of all channels on this instrument.
 
- Protected Attributes inherited from SCPIDevice
SCPITransportm_transport
 
std::string m_vendor
 
std::string m_model
 
std::string m_serial
 
std::string m_fwVersion
 

Additional Inherited Members

- Public Types inherited from SCPIRFSignalGenerator
typedef std::shared_ptr< SCPIRFSignalGenerator >(* VSGCreateProcType) (SCPITransport *)
 
- Public Types inherited from RFSignalGenerator
enum  SweepType { SWEEP_TYPE_NONE , SWEEP_TYPE_FREQ , SWEEP_TYPE_LEVEL , SWEEP_TYPE_FREQ_LEVEL }
 
enum  SweepShape { SWEEP_SHAPE_TRIANGLE , SWEEP_SHAPE_SAWTOOTH }
 
enum  SweepSpacing { SWEEP_SPACING_LINEAR , SWEEP_SPACING_LOG }
 
enum  SweepDirection { SWEEP_DIR_FWD , SWEEP_DIR_REV }
 
- Public Types inherited from Instrument
enum  InstrumentTypes {
  INST_OSCILLOSCOPE = 0x01 , INST_DMM = 0x02 , INST_PSU = 0x04 , INST_FUNCTION = 0x08 ,
  INST_RF_GEN = 0x10 , INST_LOAD = 0x20 , INST_BERT = 0x40 , INST_MISC = 0x80 ,
  INST_SWITCH_MATRIX = 0x100
}
 
- Public Types inherited from SCPIFunctionGenerator
typedef std::shared_ptr< SCPIFunctionGenerator >(* GeneratorCreateProcType) (SCPITransport *)
 
- Public Types inherited from FunctionGenerator
enum  WaveShape {
  SHAPE_SINE , SHAPE_SQUARE , SHAPE_TRIANGLE , SHAPE_PULSE ,
  SHAPE_DC , SHAPE_NOISE , SHAPE_SAWTOOTH_UP , SHAPE_SAWTOOTH_DOWN ,
  SHAPE_SINC , SHAPE_GAUSSIAN , SHAPE_LORENTZ , SHAPE_HALF_SINE ,
  SHAPE_PRBS_NONSTANDARD , SHAPE_EXPONENTIAL_RISE , SHAPE_EXPONENTIAL_DECAY , SHAPE_HAVERSINE ,
  SHAPE_CARDIAC , SHAPE_STAIRCASE_UP , SHAPE_STAIRCASE_DOWN , SHAPE_STAIRCASE_UP_DOWN ,
  SHAPE_NEGATIVE_PULSE , SHAPE_LOG_RISE , SHAPE_LOG_DECAY , SHAPE_SQUARE_ROOT ,
  SHAPE_CUBE_ROOT , SHAPE_QUADRATIC , SHAPE_CUBIC , SHAPE_DLORENTZ ,
  SHAPE_GAUSSIAN_PULSE , SHAPE_HAMMING , SHAPE_HANNING , SHAPE_KAISER ,
  SHAPE_BLACKMAN , SHAPE_GAUSSIAN_WINDOW , SHAPE_HARRIS , SHAPE_BARTLETT ,
  SHAPE_TAN , SHAPE_COT , SHAPE_SEC , SHAPE_CSC ,
  SHAPE_ASIN , SHAPE_ACOS , SHAPE_ATAN , SHAPE_ACOT ,
  SHAPE_ARB
}
 Predefined waveform shapes.
 
enum  OutputImpedance { IMPEDANCE_HIGH_Z , IMPEDANCE_50_OHM }
 Nominal output impedance for a function generator channel. More...
 
- Public Attributes inherited from Instrument
std::string m_nickname
 Optional user-selected nickname of the instrument. More...
 
- Protected Member Functions inherited from RFSignalGenerator
void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 Serializes this oscilloscope's configuration to a YAML node.
 
void DoLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap)
 Load instrument and channel configuration from a save file.
 
void DoPreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list)
 Validate instrument and channel configuration from a save file.
 
- Protected Member Functions inherited from SCPIInstrument
void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 
- Protected Member Functions inherited from FunctionGenerator
void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 Serializes this instrument's configuration to a YAML node. More...
 
void DoLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap)
 Load instrument and channel configuration from a save file. More...
 
void DoPreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list)
 Validate instrument and channel configuration from a save file. More...
 
- Static Protected Attributes inherited from SCPIRFSignalGenerator
static VSGCreateMapType m_vsgcreateprocs
 
- Static Protected Attributes inherited from SCPIFunctionGenerator
static GeneratorCreateMapType m_gencreateprocs
 

Detailed Description

Siglent vector signal generators.

Tested on SSG5000X-V series. May also support 3000X but not tested.

Member Function Documentation

◆ AcquireData()

bool SiglentVectorSignalGenerator::AcquireData ( )
overridevirtual

Pull data from the instrument.

Returns
True if waveform was acquired, false if connection lost or other serious error

Reimplemented from FunctionGenerator.

◆ GetAnalogFMDeviation()

int64_t SiglentVectorSignalGenerator::GetAnalogFMDeviation ( int  chan)
overridevirtual

Gets the analog FM deviation for a channel.

Implements RFSignalGenerator.

◆ GetAnalogFMEnable()

bool SiglentVectorSignalGenerator::GetAnalogFMEnable ( int  chan)
overridevirtual

Enable or disable analog frequency modulation.

Implements RFSignalGenerator.

◆ GetAnalogFMFrequency()

int64_t SiglentVectorSignalGenerator::GetAnalogFMFrequency ( int  chan)
overridevirtual

Gets the analog FM frequency for a channel.

Implements RFSignalGenerator.

◆ GetAnalogFMWaveShape()

FunctionGenerator::WaveShape SiglentVectorSignalGenerator::GetAnalogFMWaveShape ( int  chan)
overridevirtual

Get the current waveform selected for analog FM.

Implements RFSignalGenerator.

◆ GetAnalogFMWaveShapes()

vector< FunctionGenerator::WaveShape > SiglentVectorSignalGenerator::GetAnalogFMWaveShapes ( )
overridevirtual

Get the set of waveforms available for analog FM.

Implements RFSignalGenerator.

◆ GetAnalogModulationEnable()

bool SiglentVectorSignalGenerator::GetAnalogModulationEnable ( int  chan)
overridevirtual

Enable or disable analog modulation.

Implements RFSignalGenerator.

◆ GetAvailableWaveformShapes()

vector< FunctionGenerator::WaveShape > SiglentVectorSignalGenerator::GetAvailableWaveformShapes ( int  chan)
overridevirtual

Query the set of available pre-defined waveforms for this generator.

Parameters
chanChannel index
Returns
Vector of supported WaveShape's

Implements FunctionGenerator.

◆ GetChannelCenterFrequency()

double SiglentVectorSignalGenerator::GetChannelCenterFrequency ( int  chan)
overridevirtual

Gets the center frequency of a channel.

Parameters
chanZero-based channel index
Returns
Center frequency, in Hz

Implements RFSignalGenerator.

◆ GetChannelOutputEnable()

bool SiglentVectorSignalGenerator::GetChannelOutputEnable ( int  chan)
overridevirtual

Check if a channel is currently enabled.

Parameters
chanZero-based channel index
Returns
True if output is enabled, false if disabled

Implements RFSignalGenerator.

◆ GetChannelOutputPower()

float SiglentVectorSignalGenerator::GetChannelOutputPower ( int  chan)
overridevirtual

Gets the power level of a channel.

Parameters
chanZero-based channel index
Returns
Power level (in dBm)

Implements RFSignalGenerator.

◆ GetFunctionChannelActive()

bool SiglentVectorSignalGenerator::GetFunctionChannelActive ( int  chan)
overridevirtual

Returns true if the function generator channel's output is enabled.

Parameters
chanChannel index

Implements FunctionGenerator.

◆ GetFunctionChannelAmplitude()

float SiglentVectorSignalGenerator::GetFunctionChannelAmplitude ( int  chan)
overridevirtual

Gets the amplitude for a function generator output.

Parameters
chanChannel index
Returns
Amplitude, in Vpp

Implements FunctionGenerator.

◆ GetFunctionChannelFrequency()

float SiglentVectorSignalGenerator::GetFunctionChannelFrequency ( int  chan)
overridevirtual

Gets the frequency for a function generator output.

Parameters
chanChannel index
Returns
Frequency, in Hz

Implements FunctionGenerator.

◆ GetFunctionChannelOffset()

float SiglentVectorSignalGenerator::GetFunctionChannelOffset ( int  chan)
overridevirtual

Gets the DC offset for a function generator output.

Parameters
chanChannel index
Returns
Offset, in volts

Implements FunctionGenerator.

◆ GetFunctionChannelShape()

FunctionGenerator::WaveShape SiglentVectorSignalGenerator::GetFunctionChannelShape ( int  chan)
overridevirtual

Gets the waveform shape for a function generator output.

Parameters
chanChannel index
Returns
Waveform shape

Implements FunctionGenerator.

◆ GetInstrumentTypes()

unsigned int SiglentVectorSignalGenerator::GetInstrumentTypes ( ) const
overridevirtual

Returns a bitfield describing the set of instrument types that this instrument supports.

Not all types may be available on a given channel.

Implements Instrument.

◆ GetInstrumentTypesForChannel()

uint32_t SiglentVectorSignalGenerator::GetInstrumentTypesForChannel ( size_t  i) const
overridevirtual

Returns a bitfield describing the set of instrument types that a given channel supports.

Parameters
iChannel index

Implements Instrument.

◆ GetSweepDirection()

RFSignalGenerator::SweepDirection SiglentVectorSignalGenerator::GetSweepDirection ( int  chan)
overridevirtual

Gets the direction of a sweep.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepDwellTime()

float SiglentVectorSignalGenerator::GetSweepDwellTime ( int  chan)
overridevirtual

Gets the dwell time for each step in a sweep, in femtoseconds.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepPoints()

int SiglentVectorSignalGenerator::GetSweepPoints ( int  chan)
overridevirtual

Gets the number of frequency points in a sweep.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepShape()

RFSignalGenerator::SweepShape SiglentVectorSignalGenerator::GetSweepShape ( int  chan)
overridevirtual

Gets the shape of a sweep.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepSpacing()

RFSignalGenerator::SweepSpacing SiglentVectorSignalGenerator::GetSweepSpacing ( int  chan)
overridevirtual

Gets the spacing of a sweep (log or linear)

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepStartFrequency()

float SiglentVectorSignalGenerator::GetSweepStartFrequency ( int  chan)
overridevirtual

Gets the start of a frequency sweep, in Hz.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepStartLevel()

float SiglentVectorSignalGenerator::GetSweepStartLevel ( int  chan)
overridevirtual

Gets the start of a power sweep, in dBm.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepStopFrequency()

float SiglentVectorSignalGenerator::GetSweepStopFrequency ( int  chan)
overridevirtual

Gets the end of a frequency sweep, in Hz.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepStopLevel()

float SiglentVectorSignalGenerator::GetSweepStopLevel ( int  chan)
overridevirtual

Gets the end of a power sweep, in dBm.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ GetSweepType()

RFSignalGenerator::SweepType SiglentVectorSignalGenerator::GetSweepType ( int  chan)
overridevirtual

Gets the type of a sweep.

Parameters
chanZero-based channel index

Reimplemented from RFSignalGenerator.

◆ HasFunctionDutyCycleControls()

bool SiglentVectorSignalGenerator::HasFunctionDutyCycleControls ( int  chan)
overridevirtual

Determines if the function generator allows control over duty cycles.

If this function returns false, GetFunctionChannelDutyCycle() will always return 0.5, and SetFunctionChannelRiseTime() and SetFunctionChannelDutyCycle() is a no-op.

Parameters
chanChannel index
Returns
True if duty cycle control is available, false if unavailable

Reimplemented from FunctionGenerator.

◆ HasFunctionImpedanceControls()

bool SiglentVectorSignalGenerator::HasFunctionImpedanceControls ( int  chan)
overridevirtual

Determines if the function generator allows control over rise/fall times.

If this function returns false, GetFunctionChannelOutputImpedance() will always return IMPEDANCE_50_OHM and SetFunctionChannelOutputImpedance() is a no-op.

Reimplemented from FunctionGenerator.

◆ HasFunctionRiseFallTimeControls()

bool SiglentVectorSignalGenerator::HasFunctionRiseFallTimeControls ( int  chan)
overridevirtual

Determines if the function generator allows control over rise/fall times.

If this function returns false, GetFunctionChannelRiseTime() and GetFunctionChannelFallTime() will always return 0, and SetFunctionChannelRiseTime() and SetFunctionChannelFallTime() are no-ops.

Parameters
chanChannel index
Returns
True if rise/fall time control is available, false if unavailable

Implements FunctionGenerator.

◆ IsAnalogModulationAvailable()

bool SiglentVectorSignalGenerator::IsAnalogModulationAvailable ( int  chan)
overridevirtual

Checks if an instrument is analog modulation capable.

Parameters
chanZero-based channel index

Implements RFSignalGenerator.

◆ IsSweepAvailable()

bool SiglentVectorSignalGenerator::IsSweepAvailable ( int  chan)
overridevirtual

Checks if an instrument supports sweeping the center frequency.

Implements RFSignalGenerator.

◆ IsVectorModulationAvailable()

bool SiglentVectorSignalGenerator::IsVectorModulationAvailable ( int  chan)
overridevirtual

Checks if an instrument is vector modulation capable.

Parameters
chanZero-based channel index

Implements RFSignalGenerator.

◆ SetAnalogFMDeviation()

void SiglentVectorSignalGenerator::SetAnalogFMDeviation ( int  chan,
int64_t  deviation 
)
overridevirtual

Sets the analog FM deviation for a channel (in Hz)

Implements RFSignalGenerator.

◆ SetAnalogFMEnable()

void SiglentVectorSignalGenerator::SetAnalogFMEnable ( int  chan,
bool  on 
)
overridevirtual

Enable or disable analog frequency modulation (also requires modulation to be turned on)

Implements RFSignalGenerator.

◆ SetAnalogFMFrequency()

void SiglentVectorSignalGenerator::SetAnalogFMFrequency ( int  chan,
int64_t  frequency 
)
overridevirtual

Sets the analog FM frequency for a channel (in Hz)

Implements RFSignalGenerator.

◆ SetAnalogFMWaveShape()

void SiglentVectorSignalGenerator::SetAnalogFMWaveShape ( int  chan,
FunctionGenerator::WaveShape  shape 
)
overridevirtual

Sets the analog FM modulation shape for a channel.

Implements RFSignalGenerator.

◆ SetAnalogModulationEnable()

void SiglentVectorSignalGenerator::SetAnalogModulationEnable ( int  chan,
bool  on 
)
overridevirtual

Enable or disable analog modulation.

Implements RFSignalGenerator.

◆ SetChannelCenterFrequency()

void SiglentVectorSignalGenerator::SetChannelCenterFrequency ( int  chan,
double  freq 
)
overridevirtual

Sets the power level of a channel.

Parameters
chanZero-based channel index
freqCenter frequency, in Hz

Implements RFSignalGenerator.

◆ SetChannelOutputEnable()

void SiglentVectorSignalGenerator::SetChannelOutputEnable ( int  chan,
bool  on 
)
overridevirtual

Enable or disable a channel output.

Parameters
chanZero-based channel index
onTrue to enable the output, false to disable

Implements RFSignalGenerator.

◆ SetChannelOutputPower()

void SiglentVectorSignalGenerator::SetChannelOutputPower ( int  chan,
float  power 
)
overridevirtual

Sets the power level of a channel.

Parameters
chanZero-based channel index
powerPower level (in dBm)

Implements RFSignalGenerator.

◆ SetFunctionChannelActive()

void SiglentVectorSignalGenerator::SetFunctionChannelActive ( int  chan,
bool  on 
)
overridevirtual

Turns a function generator channel on or off.

Parameters
chanChannel index
onTrue to enable output, false to disable

Implements FunctionGenerator.

◆ SetFunctionChannelAmplitude()

void SiglentVectorSignalGenerator::SetFunctionChannelAmplitude ( int  chan,
float  amplitude 
)
overridevirtual

Sets the amplitude for a function generator output.

Parameters
chanChannel index
amplitudeOutput amplitude, in Vpp

Implements FunctionGenerator.

◆ SetFunctionChannelFrequency()

void SiglentVectorSignalGenerator::SetFunctionChannelFrequency ( int  chan,
float  hz 
)
overridevirtual

Sets the frequency for a function generator output.

Parameters
chanChannel index
hzFrequency, in Hz

Implements FunctionGenerator.

◆ SetFunctionChannelOffset()

void SiglentVectorSignalGenerator::SetFunctionChannelOffset ( int  chan,
float  offset 
)
overridevirtual

Sets the DC offset for a function generator output.

Parameters
chanChannel index
amplitudeOffset, in volts

Implements FunctionGenerator.

◆ SetFunctionChannelShape()

void SiglentVectorSignalGenerator::SetFunctionChannelShape ( int  chan,
WaveShape  shape 
)
overridevirtual

Sets the waveform shape for a function generator output.

Parameters
chanChannel index
shapeDesired output waveform

Implements FunctionGenerator.

◆ SetSweepDirection()

void SiglentVectorSignalGenerator::SetSweepDirection ( int  chan,
SweepDirection  dir 
)
overridevirtual

Sets the direction of a sweep.

Parameters
chanZero-based channel index
dirDirection of the sweep curve to use

Reimplemented from RFSignalGenerator.

◆ SetSweepDwellTime()

void SiglentVectorSignalGenerator::SetSweepDwellTime ( int  chan,
float  fs 
)
overridevirtual

Sets the dwell time for each step in a sweep.

Parameters
chanZero-based channel index
stepStep, in femtoseconds

Reimplemented from RFSignalGenerator.

◆ SetSweepPoints()

void SiglentVectorSignalGenerator::SetSweepPoints ( int  chan,
int  npoints 
)
overridevirtual

Sets the number of frequency points in a sweep.

Parameters
chanZero-based channel index
npointsNumber of points

Reimplemented from RFSignalGenerator.

◆ SetSweepShape()

void SiglentVectorSignalGenerator::SetSweepShape ( int  chan,
SweepShape  shape 
)
overridevirtual

Sets the shape of a sweep.

Parameters
chanZero-based channel index
shapeShape of the sweep curve to use

Reimplemented from RFSignalGenerator.

◆ SetSweepSpacing()

void SiglentVectorSignalGenerator::SetSweepSpacing ( int  chan,
SweepSpacing  shape 
)
overridevirtual

Sets the spacing of a sweep (log or linear)

Parameters
chanZero-based channel index
shapeSpacing of the sweep curve to use

Reimplemented from RFSignalGenerator.

◆ SetSweepStartFrequency()

void SiglentVectorSignalGenerator::SetSweepStartFrequency ( int  chan,
float  freq 
)
overridevirtual

Sets the start of a frequency sweep.

Parameters
chanZero-based channel index
freqStart frequency, in Hz

Reimplemented from RFSignalGenerator.

◆ SetSweepStartLevel()

void SiglentVectorSignalGenerator::SetSweepStartLevel ( int  chan,
float  level 
)
overridevirtual

Sets the start of a power sweep.

Parameters
chanZero-based channel index
levelStart power, in dBm

Reimplemented from RFSignalGenerator.

◆ SetSweepStopFrequency()

void SiglentVectorSignalGenerator::SetSweepStopFrequency ( int  chan,
float  freq 
)
overridevirtual

Sets the stop of a frequency sweep.

Parameters
chanZero-based channel index
freqStop frequency, in Hz

Reimplemented from RFSignalGenerator.

◆ SetSweepStopLevel()

void SiglentVectorSignalGenerator::SetSweepStopLevel ( int  chan,
float  level 
)
overridevirtual

Sets the stop of a power sweep.

Parameters
chanZero-based channel index
levelStop power, in dBm

Reimplemented from RFSignalGenerator.

◆ SetSweepType()

void SiglentVectorSignalGenerator::SetSweepType ( int  chan,
SweepType  type 
)
overridevirtual

Sets the type of a sweep.

Parameters
chanZero-based channel index
typeSweep type

Reimplemented from RFSignalGenerator.


The documentation for this class was generated from the following files: