All warnings generated by a configuration we're in the process of loading.
Definition: ConfigWarningList.h:90
Bidirectional table mapping integer IDs in scopesession files to object pointers.
Definition: IDTable.h:49
An arbitrary lab instrument. Oscilloscope, LA, PSU, DMM, etc.
Definition: Instrument.h:58
Base class for all electronic load drivers.
Definition: Load.h:45
virtual size_t GetLoadCurrentRange(size_t channel)=0
Returns the index of the load's selected current range, as returned by GetLoadCurrentRanges()
LoadMode
Operating modes for the load.
Definition: Load.h:62
@ MODE_CONSTANT_VOLTAGE
Draw as much current as needed for the input voltage to drop to the specified level.
Definition: Load.h:67
@ MODE_CONSTANT_CURRENT
Draw a constant current regardless of supplied voltage.
Definition: Load.h:64
@ MODE_CONSTANT_POWER
Draw a constant power regardless of supplied voltage.
Definition: Load.h:73
@ MODE_CONSTANT_RESISTANCE
Emulate a fixed resistance.
Definition: Load.h:70
virtual float GetLoadSetPoint(size_t channel)=0
Gets the set point for the channel.
virtual void SetLoadMode(size_t channel, LoadMode mode)=0
Sets the operating mode of the load.
virtual void SetLoadActive(size_t channel, bool active)=0
Turns the load on or off.
virtual void SetLoadCurrentRange(size_t channel, size_t rangeIndex)=0
Select the current range to use.
static std::string GetNameOfLoadMode(LoadMode mode)
Convert a LoadMode to a printable string.
Definition: Load.cpp:87
virtual unsigned int GetInstrumentTypes() const override
Returns a bitfield describing the set of instrument types that this instrument supports.
Definition: Load.cpp:54
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 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 float GetLoadCurrentActual(size_t channel)=0
Get the measured current of the load (uncached instantaneous measurement)
virtual LoadMode GetLoadMode(size_t channel)=0
Returns the operating mode of the load.
void DoSerializeConfiguration(YAML::Node &node, IDTable &table)
Serializes this multimeter's configuration to a YAML node.
Definition: Load.cpp:135
void DoLoadConfiguration(int version, const YAML::Node &node, IDTable &idmap)
Load instrument and channel configuration from a save file.
Definition: Load.cpp:185
static LoadMode GetLoadModeOfName(const std::string &name)
Convert a printable string to a LoadMode.
Definition: Load.cpp:116
virtual void SetLoadVoltageRange(size_t channel, size_t rangeIndex)=0
Select the voltage 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)
void DoPreLoadConfiguration(int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list)
Validate instrument and channel configuration from a save file.
Definition: Load.cpp:209
virtual bool AcquireData() override
Pulls data from hardware and updates our measurements.
Definition: Load.cpp:62
virtual void SetLoadSetPoint(size_t channel, float target)=0
Sets the set point for the channel.
virtual float GetLoadVoltageActual(size_t channel)=0
Get the measured voltage of the load (uncached instantaneous measurement)