37#ifndef SiglentVectorSignalGenerator_h
38#define SiglentVectorSignalGenerator_h
101 virtual void SetSweepShape(
int chan, SweepShape shape)
override;
107 virtual void SetSweepType(
int chan, SweepType type)
override;
126 static std::string GetDriverNameInternal();
136 int m_firmwareRev[5];
WaveShape
Predefined waveform shapes.
Definition: FunctionGenerator.h:55
An SCPI-based function generator.
Definition: SCPIFunctionGenerator.h:38
An SCPI-based RF signal generator.
Definition: SCPIRFSignalGenerator.h:38
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition: SCPITransport.h:47
Siglent vector signal generators.
Definition: SiglentVectorSignalGenerator.h:50
virtual float GetFunctionChannelOffset(int chan) override
Gets the DC offset for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:401
virtual uint32_t GetInstrumentTypesForChannel(size_t i) const override
Returns a bitfield describing the set of instrument types that a given channel supports.
Definition: SiglentVectorSignalGenerator.cpp:88
virtual bool AcquireData() override
Pull data from the instrument.
Definition: SiglentVectorSignalGenerator.cpp:101
virtual float GetFunctionChannelAmplitude(int chan) override
Gets the amplitude for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:391
virtual bool GetChannelOutputEnable(int chan) override
Check if a channel is currently enabled.
Definition: SiglentVectorSignalGenerator.cpp:114
virtual int64_t GetAnalogFMDeviation(int chan) override
Gets the analog FM deviation for a channel.
Definition: SiglentVectorSignalGenerator.cpp:545
virtual void SetAnalogFMFrequency(int chan, int64_t frequency) override
Sets the analog FM frequency for a channel (in Hz)
Definition: SiglentVectorSignalGenerator.cpp:551
virtual SweepDirection GetSweepDirection(int chan) override
Gets the direction of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:295
virtual void SetFunctionChannelFrequency(int chan, float hz) override
Sets the frequency for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:416
virtual float GetSweepDwellTime(int chan) override
Gets the dwell time for each step in a sweep, in femtoseconds.
Definition: SiglentVectorSignalGenerator.cpp:226
virtual void SetSweepStopLevel(int chan, float level) override
Sets the stop of a power sweep.
Definition: SiglentVectorSignalGenerator.cpp:216
virtual void SetChannelOutputPower(int chan, float power) override
Sets the power level of a channel.
Definition: SiglentVectorSignalGenerator.cpp:138
virtual void SetSweepDwellTime(int chan, float fs) override
Sets the dwell time for each step in a sweep.
Definition: SiglentVectorSignalGenerator.cpp:221
virtual float GetSweepStartFrequency(int chan) override
Gets the start of a frequency sweep, in Hz.
Definition: SiglentVectorSignalGenerator.cpp:181
virtual void SetSweepPoints(int chan, int npoints) override
Sets the number of frequency points in a sweep.
Definition: SiglentVectorSignalGenerator.cpp:231
virtual bool HasFunctionRiseFallTimeControls(int chan) override
Determines if the function generator allows control over rise/fall times.
Definition: SiglentVectorSignalGenerator.cpp:466
virtual void SetSweepStopFrequency(int chan, float freq) override
Sets the stop of a frequency sweep.
Definition: SiglentVectorSignalGenerator.cpp:196
virtual bool HasFunctionDutyCycleControls(int chan) override
Determines if the function generator allows control over duty cycles.
Definition: SiglentVectorSignalGenerator.cpp:386
virtual SweepSpacing GetSweepSpacing(int chan) override
Gets the spacing of a sweep (log or linear)
Definition: SiglentVectorSignalGenerator.cpp:269
virtual float GetSweepStartLevel(int chan) override
Gets the start of a power sweep, in dBm.
Definition: SiglentVectorSignalGenerator.cpp:201
virtual SweepType GetSweepType(int chan) override
Gets the type of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:321
virtual void SetSweepStartLevel(int chan, float level) override
Sets the start of a power sweep.
Definition: SiglentVectorSignalGenerator.cpp:211
virtual int GetSweepPoints(int chan) override
Gets the number of frequency points in a sweep.
Definition: SiglentVectorSignalGenerator.cpp:236
virtual void SetAnalogModulationEnable(int chan, bool on) override
Enable or disable analog modulation.
Definition: SiglentVectorSignalGenerator.cpp:493
virtual SweepShape GetSweepShape(int chan) override
Gets the shape of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:241
virtual void SetAnalogFMDeviation(int chan, int64_t deviation) override
Sets the analog FM deviation for a channel (in Hz)
Definition: SiglentVectorSignalGenerator.cpp:540
virtual void SetFunctionChannelAmplitude(int chan, float amplitude) override
Sets the amplitude for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:396
virtual float GetChannelOutputPower(int chan) override
Gets the power level of a channel.
Definition: SiglentVectorSignalGenerator.cpp:127
virtual bool GetFunctionChannelActive(int chan) override
Returns true if the function generator channel's output is enabled.
Definition: SiglentVectorSignalGenerator.cpp:373
virtual double GetChannelCenterFrequency(int chan) override
Gets the center frequency of a channel.
Definition: SiglentVectorSignalGenerator.cpp:146
virtual bool GetAnalogModulationEnable(int chan) override
Enable or disable analog modulation.
Definition: SiglentVectorSignalGenerator.cpp:487
virtual float GetFunctionChannelFrequency(int chan) override
Gets the frequency for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:411
virtual float GetSweepStopFrequency(int chan) override
Gets the end of a frequency sweep, in Hz.
Definition: SiglentVectorSignalGenerator.cpp:186
virtual void SetSweepType(int chan, SweepType type) override
Sets the type of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:334
virtual void SetFunctionChannelOffset(int chan, float offset) override
Sets the DC offset for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:406
virtual bool IsAnalogModulationAvailable(int chan) override
Checks if an instrument is analog modulation capable.
Definition: SiglentVectorSignalGenerator.cpp:482
virtual void SetFunctionChannelShape(int chan, WaveShape shape) override
Sets the waveform shape for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:437
virtual WaveShape GetFunctionChannelShape(int chan) override
Gets the waveform shape for a function generator output.
Definition: SiglentVectorSignalGenerator.cpp:421
virtual void SetAnalogFMWaveShape(int chan, FunctionGenerator::WaveShape shape) override
Sets the analog FM modulation shape for a channel.
Definition: SiglentVectorSignalGenerator.cpp:532
virtual bool HasFunctionImpedanceControls(int chan) override
Determines if the function generator allows control over rise/fall times.
Definition: SiglentVectorSignalGenerator.cpp:471
virtual void SetAnalogFMEnable(int chan, bool on) override
Enable or disable analog frequency modulation (also requires modulation to be turned on)
Definition: SiglentVectorSignalGenerator.cpp:501
virtual unsigned int GetInstrumentTypes() const override
Returns a bitfield describing the set of instrument types that this instrument supports.
Definition: SiglentVectorSignalGenerator.cpp:83
virtual void SetSweepSpacing(int chan, SweepSpacing shape) override
Sets the spacing of a sweep (log or linear)
Definition: SiglentVectorSignalGenerator.cpp:278
virtual bool IsSweepAvailable(int chan) override
Checks if an instrument supports sweeping the center frequency.
Definition: SiglentVectorSignalGenerator.cpp:176
virtual float GetSweepStopLevel(int chan) override
Gets the end of a power sweep, in dBm.
Definition: SiglentVectorSignalGenerator.cpp:206
virtual void SetChannelCenterFrequency(int chan, double freq) override
Sets the power level of a channel.
Definition: SiglentVectorSignalGenerator.cpp:157
virtual FunctionGenerator::WaveShape GetAnalogFMWaveShape(int chan) override
Get the current waveform selected for analog FM.
Definition: SiglentVectorSignalGenerator.cpp:523
virtual int64_t GetAnalogFMFrequency(int chan) override
Gets the analog FM frequency for a channel.
Definition: SiglentVectorSignalGenerator.cpp:556
virtual bool GetAnalogFMEnable(int chan) override
Enable or disable analog frequency modulation.
Definition: SiglentVectorSignalGenerator.cpp:509
virtual std::vector< WaveShape > GetAvailableWaveformShapes(int chan) override
Query the set of available pre-defined waveforms for this generator.
Definition: SiglentVectorSignalGenerator.cpp:362
virtual std::vector< FunctionGenerator::WaveShape > GetAnalogFMWaveShapes() override
Get the set of waveforms available for analog FM.
Definition: SiglentVectorSignalGenerator.cpp:515
virtual void SetFunctionChannelActive(int chan, bool on) override
Turns a function generator channel on or off.
Definition: SiglentVectorSignalGenerator.cpp:378
virtual void SetSweepStartFrequency(int chan, float freq) override
Sets the start of a frequency sweep.
Definition: SiglentVectorSignalGenerator.cpp:191
virtual void SetSweepShape(int chan, SweepShape shape) override
Sets the shape of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:250
virtual bool IsVectorModulationAvailable(int chan) override
Checks if an instrument is vector modulation capable.
Definition: SiglentVectorSignalGenerator.cpp:165
virtual void SetChannelOutputEnable(int chan, bool on) override
Enable or disable a channel output.
Definition: SiglentVectorSignalGenerator.cpp:119
virtual void SetSweepDirection(int chan, SweepDirection dir) override
Sets the direction of a sweep.
Definition: SiglentVectorSignalGenerator.cpp:304