ngscopeclient 0.1-dev+51fbda87c
|
An SCPI-based electronic load. More...
#include <SCPILoad.h>
Public Types | |
typedef std::shared_ptr< SCPILoad >(* | LoadCreateProcType) (SCPITransport *) |
![]() | |
enum | LoadMode { MODE_CONSTANT_CURRENT , MODE_CONSTANT_VOLTAGE , MODE_CONSTANT_RESISTANCE , MODE_CONSTANT_POWER } |
Operating modes for the load. More... | |
![]() | |
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< SCPILoad > | CreateLoad (std::string driver, SCPITransport *transport) |
![]() | |
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 | |
![]() | |
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... | |
![]() | |
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 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... | |
![]() | |
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 |
![]() | |
SCPIDevice (SCPITransport *transport, bool identify=true) | |
SCPITransport * | GetTransport () const |
![]() | |
std::string | m_nickname |
Optional user-selected nickname of the instrument. More... | |
![]() | |
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. | |
![]() | |
void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
![]() | |
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. | |
![]() | |
SCPITransport * | m_transport |
std::string | m_vendor |
std::string | m_model |
std::string | m_serial |
std::string | m_fwVersion |
An SCPI-based electronic load.