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

An SCPI-based electronic load. More...

#include <SCPILoad.h>

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

Public Types

typedef std::shared_ptr< SCPILoad >(* LoadCreateProcType) (SCPITransport *)
 
- Public Types inherited from Load
enum  LoadMode { MODE_CONSTANT_CURRENT , MODE_CONSTANT_VOLTAGE , MODE_CONSTANT_RESISTANCE , MODE_CONSTANT_POWER }
 Operating modes for the load. 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, LoadCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPILoadCreateLoad (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from Load
static std::string GetNameOfLoadMode (LoadMode mode)
 Convert a LoadMode to a printable string. More...
 
static LoadMode GetLoadModeOfName (const std::string &name)
 Convert a printable string to a LoadMode. More...
 

Protected Types

typedef std::map< std::string, LoadCreateProcType > LoadCreateMapType
 

Static Protected Attributes

static LoadCreateMapType m_loadcreateprocs
 

Additional Inherited Members

- Public Member Functions inherited from Load
virtual unsigned int GetInstrumentTypes () const override
 Returns a bitfield describing the set of instrument types that this instrument supports. More...
 
virtual bool AcquireData () override
 Pulls data from hardware and updates our measurements. More...
 
virtual LoadMode GetLoadMode (size_t channel)=0
 Returns the operating mode of the load. More...
 
virtual void SetLoadMode (size_t channel, LoadMode mode)=0
 Sets the operating mode of the load. More...
 
virtual std::vector< float > GetLoadCurrentRanges (size_t channel)=0
 Returns a sorted list of operating ranges for the load's current scale, in amps. More...
 
virtual size_t GetLoadCurrentRange (size_t channel)=0
 Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges() More...
 
virtual std::vector< float > GetLoadVoltageRanges (size_t channel)=0
 Returns a sorted list of operating ranges for the load's voltage scale, in volts. More...
 
virtual size_t GetLoadVoltageRange (size_t channel)=0
 Returns the index of the load's selected voltage range, as returned by GetLoadVoltageRanges() More...
 
virtual void SetLoadVoltageRange (size_t channel, size_t rangeIndex)=0
 Select the voltage range to use. More...
 
virtual void SetLoadCurrentRange (size_t channel, size_t rangeIndex)=0
 Select the current range to use. More...
 
virtual bool GetLoadActive (size_t channel)=0
 Returns true if the load is enabled (sinking power) and false if disabled (no load) More...
 
virtual void SetLoadActive (size_t channel, bool active)=0
 Turns the load on or off. More...
 
virtual float GetLoadSetPoint (size_t channel)=0
 Gets the set point for the channel. More...
 
virtual void SetLoadSetPoint (size_t channel, float target)=0
 Sets the set point for the channel. 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 Load
virtual float GetLoadVoltageActual (size_t channel)=0
 Get the measured voltage of the load (uncached instantaneous measurement) More...
 
virtual float GetLoadCurrentActual (size_t channel)=0
 Get the measured current of the load (uncached instantaneous measurement) More...
 
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 electronic load.


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