|
ngscopeclient v0.2
|
An SCPI-based oscilloscope. More...
#include <SCPIInstrument.h>


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. | |
| InstrumentChannel * | GetChannel (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. | |
| 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. | |
| 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 | |
| SCPIDevice & | operator= (const SCPIDevice &rhs)=delete |
| SCPITransport * | GetTransport () const |
Static Public Member Functions | |
| static void | DoAddDriverClass (const std::string &name, GetTransportsProcType proc) |
| static std::vector< SCPIInstrumentModel > | GetSupportedModels (const std::string &driver) |
| static std::vector< SCPIInstrumentModel > | GetDriverSupportedModels () |
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 | |
| SCPITransport * | m_transport |
| std::string | m_vendor |
| std::string | m_model |
| std::string | m_serial |
| std::string | m_fwVersion |
An SCPI-based oscilloscope.
|
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.
|
overridevirtual |
Implements Instrument.
|
overridevirtual |
Implements Instrument.
|
overridevirtual |
Gets the connection string for our transport.
Implements Instrument.
Reimplemented in DemoOscilloscope, and MockInstrument.
|
overridevirtual |
Gets the name of our transport.
Implements Instrument.
Reimplemented in DemoOscilloscope, and MockInstrument.
|
overridevirtual |
Implements Instrument.