ngscopeclient v0.2
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Attributes | List of all members
SCPIInstrument Class Referenceabstract

An SCPI-based oscilloscope. More...

#include <SCPIInstrument.h>

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

Public Types

typedef std::vector< SCPIInstrumentModel >(* GetTransportsProcType) ()
 
- 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 Member Functions

 SCPIInstrument (SCPITransport *transport, bool identify=true)
 
virtual std::string GetTransportConnectionString () override
 Gets the connection string for our transport.
 
virtual std::string GetTransportName () override
 Gets the name of our transport.
 
virtual std::string GetName () const override
 
virtual std::string GetVendor () const override
 
virtual std::string GetSerial () const override
 
virtual std::string GetDriverName () const =0
 
virtual void BackgroundProcessing () override
 Run various background processing typically done by a second thread (e.g. InstrumentThread)
 
- 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.
 
virtual bool IsOffline ()
 Checks if the instrument is currently online.
 
virtual uint32_t GetInstrumentTypesForChannel (size_t i) const =0
 Returns a bitfield describing the set of instrument types that a given channel supports.
 
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.
 
virtual std::string GetChannelDisplayName (size_t i)
 Gets the hardware display name for a channel. This is an arbitrary user-selected string.
 
virtual void SetChannelDisplayName (size_t i, std::string name)
 Sets the hardware display name for a channel. This is an arbitrary user-selected string.
 
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.
 
virtual void FlushConfigCache ()
 Instruments are allowed to cache configuration settings to reduce round trip queries to the device.
 
virtual YAML::Node SerializeConfiguration (IDTable &table) const
 Serializes this instrument's configuration to a YAML node.
 
virtual void LoadConfiguration (int version, const YAML::Node &node, IDTable &idmap)
 Load instrument and channel configuration from a save file.
 
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.
 
- Public Member Functions inherited from SCPIDevice
 SCPIDevice (SCPITransport *transport, bool identify=true, unsigned int identify_timeout_us=5000000)
 
 SCPIDevice (const SCPIDevice &rhs)=delete
 
SCPIDeviceoperator= (const SCPIDevice &rhs)=delete
 
SCPITransportGetTransport () const
 

Static Public Member Functions

static void DoAddDriverClass (const std::string &name, GetTransportsProcType proc)
 
static std::vector< SCPIInstrumentModelGetSupportedModels (const std::string &driver)
 
static std::vector< SCPIInstrumentModelGetDriverSupportedModels ()
 

Protected Types

typedef std::map< std::string, GetTransportsProcType > GetTransportMapType
 

Protected Member Functions

void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 

Static Protected Attributes

static GetTransportMapType m_getTransportProcs
 

Additional Inherited Members

- Public Attributes inherited from Instrument
std::string m_nickname
 Optional user-selected nickname of the instrument.
 
- 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 oscilloscope.

Member Function Documentation

◆ BackgroundProcessing()

void SCPIInstrument::BackgroundProcessing ( )
overridevirtual

Run various background processing typically done by a second thread (e.g. InstrumentThread)

This function must be called constantly in a loop to push pending commands to the instrument, complete nonblocking IO, etc

Reimplemented from Instrument.

Reimplemented in MockInstrument, MockPowerSupply, PicoOscilloscope, and ThunderScopeOscilloscope.

◆ GetName()

string SCPIInstrument::GetName ( ) const
overridevirtual

Implements Instrument.

◆ GetSerial()

string SCPIInstrument::GetSerial ( ) const
overridevirtual

Implements Instrument.

◆ GetTransportConnectionString()

string SCPIInstrument::GetTransportConnectionString ( )
overridevirtual

Gets the connection string for our transport.

Implements Instrument.

Reimplemented in DemoOscilloscope, and MockInstrument.

◆ GetTransportName()

string SCPIInstrument::GetTransportName ( )
overridevirtual

Gets the name of our transport.

Implements Instrument.

Reimplemented in DemoOscilloscope, and MockInstrument.

◆ GetVendor()

string SCPIInstrument::GetVendor ( ) const
overridevirtual

Implements Instrument.


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