|
ngscopeclient v0.1
|
An SCPI-based function generator. More...
#include <SCPIFunctionGenerator.h>


Public Types | |
| 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 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, GeneratorCreateProcType proc) |
| static void | EnumDrivers (std::vector< std::string > &names) |
| static std::shared_ptr< SCPIFunctionGenerator > | CreateFunctionGenerator (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 | |
| typedef std::map< std::string, GeneratorCreateProcType > | GeneratorCreateMapType |
Static Protected Attributes | |
| static GeneratorCreateMapType | m_gencreateprocs |
Additional Inherited Members | |
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< WaveShape > | GetAvailableWaveformShapes (int chan)=0 |
| Query the set of available pre-defined waveforms for this generator. 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. | |
| InstrumentChannel * | GetChannel (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... | |
| InstrumentChannel * | GetChannelByDisplayName (const std::string &name) |
| Gets a channel given the display name. | |
| InstrumentChannel * | GetChannelByHwName (const std::string &name) |
| Gets a channel given the hardware name. | |
| virtual bool | AcquireData ()=0 |
| Pull data from the instrument. More... | |
| virtual void | FlushConfigCache () |
| Instruments are allowed to cache configuration settings to reduce round trip queries to the device. 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) | |
| SCPITransport * | GetTransport () const |
Public Attributes inherited from Instrument | |
| std::string | m_nickname |
| Optional user-selected nickname of the instrument. More... | |
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... | |
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 | |
| SCPITransport * | m_transport |
| std::string | m_vendor |
| std::string | m_model |
| std::string | m_serial |
| std::string | m_fwVersion |
An SCPI-based function generator.