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

Siglent electronic load. More...

#include <SiglentLoad.h>

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

Public Member Functions

 SiglentLoad (SCPITransport *transport)
 
virtual unsigned int GetInstrumentTypes () const override
 Returns a bitfield describing the set of instrument types that this instrument supports. More...
 
virtual uint32_t GetInstrumentTypesForChannel (size_t i) const override
 Returns a bitfield describing the set of instrument types that a given channel supports. More...
 
virtual LoadMode GetLoadMode (size_t channel) override
 Returns the operating mode of the load. More...
 
virtual void SetLoadMode (size_t channel, LoadMode mode) override
 Sets the operating mode of the load. More...
 
virtual std::vector< float > GetLoadCurrentRanges (size_t channel) override
 Returns a sorted list of operating ranges for the load's current scale, in amps. More...
 
virtual size_t GetLoadCurrentRange (size_t channel) override
 Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges() More...
 
virtual std::vector< float > GetLoadVoltageRanges (size_t channel) override
 Returns a sorted list of operating ranges for the load's voltage scale, in volts. More...
 
virtual size_t GetLoadVoltageRange (size_t channel) override
 Returns the index of the load's selected voltage range, as returned by GetLoadVoltageRanges() More...
 
virtual bool GetLoadActive (size_t channel) override
 Returns true if the load is enabled (sinking power) and false if disabled (no load) More...
 
virtual void SetLoadActive (size_t channel, bool active) override
 Turns the load on or off. More...
 
virtual void SetLoadVoltageRange (size_t channel, size_t rangeIndex) override
 Select the voltage range to use. More...
 
virtual void SetLoadCurrentRange (size_t channel, size_t rangeIndex) override
 Select the current range to use. More...
 
virtual float GetLoadSetPoint (size_t channel) override
 Gets the set point for the channel. More...
 
virtual void SetLoadSetPoint (size_t channel, float target) override
 Sets the set point for the channel. More...
 
- 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
 

Static Public Member Functions

static std::string GetDriverNameInternal ()
 
- Static Public Member Functions inherited from SCPILoad
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 Member Functions

LoadMode GetLoadModeUncached (size_t channel)
 
virtual float GetLoadVoltageActual (size_t channel) override
 Get the measured voltage of the load (uncached instantaneous measurement) More...
 
virtual float GetLoadCurrentActual (size_t channel) override
 Get the measured current of the load (uncached instantaneous measurement) More...
 
virtual float GetLoadSetPointActual (size_t channel)
 
- 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

LoadMode m_modeCached
 
float m_setPointCached
 
- 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
 

Additional Inherited Members

- Public Types inherited from SCPILoad
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
}
 
- Public Attributes inherited from Instrument
std::string m_nickname
 Optional user-selected nickname of the instrument. More...
 
- Protected Types inherited from SCPILoad
typedef std::map< std::string, LoadCreateProcType > LoadCreateMapType
 
- Static Protected Attributes inherited from SCPILoad
static LoadCreateMapType m_loadcreateprocs
 

Detailed Description

Siglent electronic load.

So far only series available is SDL1000X-E, base X should be the same (just higher resolution).

Member Function Documentation

◆ GetInstrumentTypes()

unsigned int SiglentLoad::GetInstrumentTypes ( ) const
overridevirtual

Returns a bitfield describing the set of instrument types that this instrument supports.

Not all types may be available on a given channel.

Reimplemented from Load.

◆ GetInstrumentTypesForChannel()

uint32_t SiglentLoad::GetInstrumentTypesForChannel ( size_t  i) const
overridevirtual

Returns a bitfield describing the set of instrument types that a given channel supports.

Parameters
iChannel index

Implements Instrument.

◆ GetLoadActive()

bool SiglentLoad::GetLoadActive ( size_t  channel)
overridevirtual

Returns true if the load is enabled (sinking power) and false if disabled (no load)

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadCurrentActual()

float SiglentLoad::GetLoadCurrentActual ( size_t  channel)
overrideprotectedvirtual

Get the measured current of the load (uncached instantaneous measurement)

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadCurrentRange()

size_t SiglentLoad::GetLoadCurrentRange ( size_t  channel)
overridevirtual

Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges()

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadCurrentRanges()

vector< float > SiglentLoad::GetLoadCurrentRanges ( size_t  channel)
overridevirtual

Returns a sorted list of operating ranges for the load's current scale, in amps.

For example, returning [1, 10] means the load supports one mode with 1A full scale range and one with 10A range.

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadMode()

Load::LoadMode SiglentLoad::GetLoadMode ( size_t  channel)
overridevirtual

Returns the operating mode of the load.

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadSetPoint()

float SiglentLoad::GetLoadSetPoint ( size_t  channel)
overridevirtual

Gets the set point for the channel.

Units vary depending on operating mode: amps (CC), volts (CV), ohms (CR), watts (CP).

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadVoltageActual()

float SiglentLoad::GetLoadVoltageActual ( size_t  channel)
overrideprotectedvirtual

Get the measured voltage of the load (uncached instantaneous measurement)

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadVoltageRange()

size_t SiglentLoad::GetLoadVoltageRange ( size_t  channel)
overridevirtual

Returns the index of the load's selected voltage range, as returned by GetLoadVoltageRanges()

Parameters
channelIndex of the channel to query

Implements Load.

◆ GetLoadVoltageRanges()

vector< float > SiglentLoad::GetLoadVoltageRanges ( size_t  channel)
overridevirtual

Returns a sorted list of operating ranges for the load's voltage scale, in volts.

For example, returning [10, 250] means the load supports one mode with 10V full scale range and one with 250V range.

Parameters
channelIndex of the channel to query

Implements Load.

◆ SetLoadActive()

void SiglentLoad::SetLoadActive ( size_t  channel,
bool  active 
)
overridevirtual

Turns the load on or off.

Parameters
channelIndex of the channel to query
activeTrue to turn the load on, false to turn it off

Implements Load.

◆ SetLoadCurrentRange()

void SiglentLoad::SetLoadCurrentRange ( size_t  channel,
size_t  rangeIndex 
)
overridevirtual

Select the current range to use.

Parameters
channelChannel index
rangeIndexIndex of the range, as returned by GetLoadCurrentRanges()

Implements Load.

◆ SetLoadMode()

void SiglentLoad::SetLoadMode ( size_t  channel,
LoadMode  mode 
)
overridevirtual

Sets the operating mode of the load.

Parameters
channelChannel index
modeOperating mode

Implements Load.

◆ SetLoadSetPoint()

void SiglentLoad::SetLoadSetPoint ( size_t  channel,
float  target 
)
overridevirtual

Sets the set point for the channel.

Units vary depending on operating mode: amps (CC), volts (CV), ohms (CR), watts (CP).

Parameters
channelIndex of the channel to query
targetDesired operating current/voltage/resistance/power depending on the operating mode

Implements Load.

◆ SetLoadVoltageRange()

void SiglentLoad::SetLoadVoltageRange ( size_t  channel,
size_t  rangeIndex 
)
overridevirtual

Select the voltage range to use.

Parameters
channelChannel index
rangeIndexIndex of the range, as returned by GetLoadVoltageRanges()

Implements Load.


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