|
ngscopeclient v0.2.2
|
Base class for all electronic load drivers. More...
#include <Load.h>


Public Types | |
| 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 Member Functions | |
| virtual unsigned int | GetInstrumentTypes () const override |
| Returns a bitfield describing the set of instrument types that this instrument supports. | |
| virtual bool | AcquireData () override |
| Pulls data from hardware and updates our measurements. | |
| virtual LoadMode | GetLoadMode (size_t channel)=0 |
| Returns the operating mode of the load. | |
| virtual void | SetLoadMode (size_t channel, LoadMode mode)=0 |
| Sets the operating mode of the load. | |
| virtual std::vector< float > | GetLoadCurrentRanges (size_t channel)=0 |
| Returns a sorted list of operating ranges for the load's current scale, in amps. | |
| virtual size_t | GetLoadCurrentRange (size_t channel)=0 |
| Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges() | |
| virtual std::vector< float > | GetLoadVoltageRanges (size_t channel)=0 |
| Returns a sorted list of operating ranges for the load's voltage scale, in volts. | |
| virtual size_t | GetLoadVoltageRange (size_t channel)=0 |
| Returns the index of the load's selected voltage range, as returned by GetLoadVoltageRanges() | |
| virtual void | SetLoadVoltageRange (size_t channel, size_t rangeIndex)=0 |
| Select the voltage range to use. | |
| virtual void | SetLoadCurrentRange (size_t channel, size_t rangeIndex)=0 |
| Select the current range to use. | |
| virtual bool | GetLoadActive (size_t channel)=0 |
| Returns true if the load is enabled (sinking power) and false if disabled (no load) | |
| virtual void | SetLoadActive (size_t channel, bool active)=0 |
| Turns the load on or off. | |
| virtual float | GetLoadSetPoint (size_t channel)=0 |
| Gets the set point for the channel. | |
| virtual void | SetLoadSetPoint (size_t channel, float target)=0 |
| Sets the set point for the channel. | |
Public Member Functions inherited from Instrument | |
| 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. | |
| virtual std::string | GetTransportName ()=0 |
| Gets the name of our transport. | |
| 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 void | BackgroundProcessing () |
| Run various background processing typically done by a second thread (e.g. InstrumentThread) | |
| 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. | |
Static Public Member Functions | |
| static std::string | GetNameOfLoadMode (LoadMode mode) |
| Convert a LoadMode to a printable string. | |
| static LoadMode | GetLoadModeOfName (const std::string &name) |
| Convert a printable string to a LoadMode. | |
Protected Member Functions | |
| virtual float | GetLoadVoltageActual (size_t channel)=0 |
| Get the measured voltage of the load (uncached instantaneous measurement) | |
| virtual float | GetLoadCurrentActual (size_t channel)=0 |
| Get the measured current of the load (uncached instantaneous measurement) | |
| 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. | |
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. | |
Base class for all electronic load drivers.
Operating modes for the load.
|
overridevirtual |
Pulls data from hardware and updates our measurements.
Implements Instrument.
Returns a bitfield describing the set of instrument types that this instrument supports.
Not all types may be available on a given channel.
Implements Instrument.
Reimplemented in SiglentLoad.
Returns true if the load is enabled (sinking power) and false if disabled (no load)
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Get the measured current of the load (uncached instantaneous measurement)
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges()
| channel | Index of the channel to query |
Implemented in SiglentLoad.
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.
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Returns the operating mode of the load.
| channel | Index of the channel to query |
Implemented in SiglentLoad.
|
static |
Convert a printable string to a LoadMode.
If an invalid input is provided, returns MODE_CONSTANT_CURRENT.
| name | Name of the mode |
Gets the set point for the channel.
Units vary depending on operating mode: amps (CC), volts (CV), ohms (CR), watts (CP).
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Get the measured voltage of the load (uncached instantaneous measurement)
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Returns the index of the load's selected voltage range, as returned by GetLoadVoltageRanges()
| channel | Index of the channel to query |
Implemented in SiglentLoad.
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.
| channel | Index of the channel to query |
Implemented in SiglentLoad.
Convert a LoadMode to a printable string.
| mode | Input mode |
Turns the load on or off.
| channel | Index of the channel to query |
| active | True to turn the load on, false to turn it off |
Implemented in SiglentLoad.
Select the current range to use.
| channel | Channel index |
| rangeIndex | Index of the range, as returned by GetLoadCurrentRanges() |
Implemented in SiglentLoad.
Sets the operating mode of the load.
| channel | Channel index |
| mode | Operating mode |
Implemented in SiglentLoad.
Sets the set point for the channel.
Units vary depending on operating mode: amps (CC), volts (CV), ohms (CR), watts (CP).
| channel | Index of the channel to query |
| target | Desired operating current/voltage/resistance/power depending on the operating mode |
Implemented in SiglentLoad.
Select the voltage range to use.
| channel | Channel index |
| rangeIndex | Index of the range, as returned by GetLoadVoltageRanges() |
Implemented in SiglentLoad.