ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Protected Member Functions | List of all members
PowerSupply Class Referenceabstract

A generic power supply. More...

#include <PowerSupply.h>

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

Public Member Functions

virtual unsigned int GetInstrumentTypes () const override
 Returns a bitfield describing the set of instrument types that this instrument supports. More...
 
virtual bool SupportsSoftStart ()
 Determines if the power supply supports soft start. More...
 
virtual bool SupportsIndividualOutputSwitching ()
 Determines if the power supply supports switching individual output channels. More...
 
virtual bool SupportsMasterOutputSwitching ()
 Determines if the power supply supports ganged master switching of all outputs. More...
 
virtual bool SupportsOvercurrentShutdown ()
 Determines if the power supply supports shutdown rather than constant-current mode on overcurrent. More...
 
virtual bool SupportsVoltageCurrentControl (int chan)
 Determines if the power supply supports voltage/current control for the given channel. More...
 
virtual bool AcquireData () override
 Pulls data from hardware and updates our measurements. More...
 
virtual double GetPowerVoltageActual (int chan)=0
 
virtual double GetPowerVoltageNominal (int chan)=0
 
virtual double GetPowerCurrentActual (int chan)=0
 
virtual double GetPowerCurrentNominal (int chan)=0
 
virtual bool GetPowerChannelActive (int chan)
 
virtual bool GetPowerOvercurrentShutdownEnabled (int chan)
 
virtual void SetPowerOvercurrentShutdownEnabled (int chan, bool enable)
 
virtual bool GetPowerOvercurrentShutdownTripped (int chan)
 
virtual void SetPowerVoltage (int chan, double volts)=0
 
virtual void SetPowerCurrent (int chan, double amps)=0
 
virtual void SetPowerChannelActive (int chan, bool on)
 
virtual bool IsPowerConstantCurrent (int chan)=0
 
virtual bool GetMasterPowerEnable ()
 
virtual void SetMasterPowerEnable (bool enable)
 
virtual bool IsSoftStartEnabled (int chan)
 
virtual void SetSoftStartEnabled (int chan, bool enable)
 
virtual int64_t GetSoftStartRampTime (int chan)
 Gets the ramp time for use with soft-start mode. More...
 
virtual void SetSoftStartRampTime (int chan, int64_t time)
 Sets the ramp time for use with soft-start mode. 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...
 

Protected Member Functions

void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 Serializes this oscilloscope'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 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 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.
 

Detailed Description

A generic power supply.

Member Function Documentation

◆ AcquireData()

bool PowerSupply::AcquireData ( )
overridevirtual

Pulls data from hardware and updates our measurements.

Implements Instrument.

◆ GetInstrumentTypes()

unsigned int PowerSupply::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.

Implements Instrument.

◆ GetSoftStartRampTime()

int64_t PowerSupply::GetSoftStartRampTime ( int  chan)
virtual

Gets the ramp time for use with soft-start mode.

Parameters
chanChannel index
Returns
Ramp time, in femtoseconds

Reimplemented in RohdeSchwarzHMC804xPowerSupply.

◆ SetSoftStartRampTime()

void PowerSupply::SetSoftStartRampTime ( int  chan,
int64_t  time 
)
virtual

Sets the ramp time for use with soft-start mode.

Parameters
chanChannel index
timeRamp time, in femtoseconds

Reimplemented in RohdeSchwarzHMC804xPowerSupply.

◆ SupportsIndividualOutputSwitching()

bool PowerSupply::SupportsIndividualOutputSwitching ( )
virtual

Determines if the power supply supports switching individual output channels.

If this function returns false, GetPowerChannelActive() will always return true, and SetPowerChannelActive() is a no-op.

Reimplemented in AlientekPowerSupply, DemoPowerSupply, HP662xAPowerSupply, KuaiquPowerSupply, RidenPowerSupply, RigolDP8xxPowerSupply, RohdeSchwarzHMC804xPowerSupply, and SiglentPowerSupply.

◆ SupportsMasterOutputSwitching()

bool PowerSupply::SupportsMasterOutputSwitching ( )
virtual

Determines if the power supply supports ganged master switching of all outputs.

If this function returns false, GetMasterPowerEnable() will always return true, and SetMasterPowerEnable() is a no-op.

Reimplemented in DemoPowerSupply, GWInstekGPDX303SPowerSupply, HP662xAPowerSupply, RigolDP8xxPowerSupply, and RohdeSchwarzHMC804xPowerSupply.

◆ SupportsOvercurrentShutdown()

bool PowerSupply::SupportsOvercurrentShutdown ( )
virtual

Determines if the power supply supports shutdown rather than constant-current mode on overcurrent.

If this function returns false, GetPowerOvercurrentShutdownEnabled() and GetPowerOvercurrentShutdownTripped() will always return false, and SetPowerOvercurrentShutdownEnabled() is a no-op.

Reimplemented in DemoPowerSupply, HP662xAPowerSupply, RigolDP8xxPowerSupply, and RohdeSchwarzHMC804xPowerSupply.

◆ SupportsSoftStart()

bool PowerSupply::SupportsSoftStart ( )
virtual

Determines if the power supply supports soft start.

If this function returns false, IsSoftStartEnabled() will always return false, and SetSoftStartEnabled() is a no-op.

Reimplemented in DemoPowerSupply, HP662xAPowerSupply, RigolDP8xxPowerSupply, and RohdeSchwarzHMC804xPowerSupply.

◆ SupportsVoltageCurrentControl()

bool PowerSupply::SupportsVoltageCurrentControl ( int  chan)
virtual

Determines if the power supply supports voltage/current control for the given channel.

If this function returns false, GetPowerVoltage* and GetPowerCurrent* will always return zero, and SetPowerCurrent*, and SetPowerVoltage* are no-ops.

Reimplemented in AlientekPowerSupply, KuaiquPowerSupply, RidenPowerSupply, and SiglentPowerSupply.


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