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

An SCPI-based multimeter. More...

#include <SCPIMultimeter.h>

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

Public Types

typedef std::shared_ptr< SCPIMultimeter >(* MeterCreateProcType) (SCPITransport *)
 
- Public Types inherited from Multimeter
enum  MeasurementTypes {
  NONE = 0x000 , DC_VOLTAGE = 0x001 , DC_RMS_AMPLITUDE = 0x002 , AC_RMS_AMPLITUDE = 0x004 ,
  FREQUENCY = 0x008 , DC_CURRENT = 0x010 , AC_CURRENT = 0x020 , TEMPERATURE = 0x040 ,
  RESISTANCE = 0x080 , CAPACITANCE = 0x100 , CONTINUITY = 0x200 , DIODE = 0x400
}
 
- 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, MeterCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPIMultimeterCreateMultimeter (std::string driver, SCPITransport *transport)
 

Protected Types

typedef std::map< std::string, MeterCreateProcType > MeterCreateMapType
 

Static Protected Attributes

static MeterCreateMapType m_metercreateprocs
 

Additional Inherited Members

- Public Member Functions inherited from Multimeter
virtual unsigned int GetMeasurementTypes ()=0
 
virtual unsigned int GetSecondaryMeasurementTypes ()
 Gets a bitmask of secondary measurement types currently available. More...
 
virtual int GetCurrentMeterChannel ()=0
 
virtual void SetCurrentMeterChannel (int chan)=0
 
virtual MeasurementTypes GetMeterMode ()=0
 
virtual MeasurementTypes GetSecondaryMeterMode ()
 Gets the active secondary mode. More...
 
virtual std::string ModeToText (MeasurementTypes type)
 Converts a meter mode to human readable text.
 
MeasurementTypes TextToMode (const std::string &mode)
 Converts a textual meter mode to a mode ID.
 
virtual void SetMeterMode (MeasurementTypes type)=0
 
virtual void SetSecondaryMeterMode (MeasurementTypes type)
 Sets the active secondary mode. More...
 
virtual void SetMeterAutoRange (bool enable)=0
 
virtual bool GetMeterAutoRange ()=0
 
virtual void StartMeter ()=0
 
virtual void StopMeter ()=0
 
virtual Unit GetMeterUnit ()
 Get the current primary measurement unit.
 
virtual Unit GetSecondaryMeterUnit ()
 Get the current secondary measurement unit.
 
virtual double GetMeterValue ()=0
 Get the value of the primary measurement. More...
 
virtual double GetSecondaryMeterValue ()
 Get the value of the secondary measurement. More...
 
virtual int GetMeterDigits ()=0
 Returns the digit resolution of the meter. More...
 
virtual bool AcquireData () override
 Pull meter readings from hardware. 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 Multimeter
void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 Serializes this multimeter'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 multimeter.


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