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

An SCPI-based RF signal generator. More...

#include <SCPIRFSignalGenerator.h>

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

Public Types

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
}
 

Static Public Member Functions

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.
 

Protected Types

typedef std::map< std::string, VSGCreateProcType > VSGCreateMapType
 

Static Protected Attributes

static VSGCreateMapType m_vsgcreateprocs
 

Additional Inherited Members

- Public Member Functions inherited from RFSignalGenerator
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 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 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
 

Detailed Description

An SCPI-based RF signal generator.


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