ngscopeclient v0.3
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
PowerSupplyChannel Class Reference

A single channel of a power supply. More...

#include <PowerSupplyChannel.h>

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

Public Types

enum  StreamIndexes { STREAM_VOLTAGE_MEASURED , STREAM_VOLTAGE_SET_POINT , STREAM_CURRENT_MEASURED , STREAM_CURRENT_SET_POINT }
 
- Public Types inherited from InstrumentChannel
enum  PhysicalConnector {
  CONNECTOR_BANANA_DUAL , CONNECTOR_BMA , CONNECTOR_BNC , CONNECTOR_K ,
  CONNECTOR_K_DUAL , CONNECTOR_N , CONNECTOR_SMA
}
 
enum  VisibilityMode { VIS_HIDE , VIS_AUTO , VIS_SHOW }
 Selects how the channel should be displayed in e.g. the ngscopeclient filter graph editor.
 
enum  DownloadState {
  DOWNLOAD_UNKNOWN , DOWNLOAD_NONE , DOWNLOAD_WAITING , DOWNLOAD_IN_PROGRESS ,
  DOWNLOAD_FINISHED
}
 Enum values to be mapped to GetDownloadState() int result value for specific channel download states. More...
 
- Public Types inherited from FlowGraphNode
enum class  ExecutionCapabilities {
  None = 0 , CommandBufferAppend = 1 , CommandBufferTailCall = 2 , VulkanOnly = 4 ,
  DynamicShader = 8
}
 
typedef std::map< std::string, FilterParameter > ParameterMapType
 Short name for a map of strings to parameters.
 

Public Member Functions

 PowerSupplyChannel (const std::string &hwname, PowerSupply *powerSupply, const std::string &color="#808080", size_t index=0)
 
PowerSupply * GetPowerSupply ()
 
float GetVoltageMeasured ()
 
float GetVoltageSetPoint ()
 
float GetCurrentMeasured ()
 
float GetCurrentSetPoint ()
 
virtual void Refresh (vk::raii::CommandBuffer &cmdBuf, std::shared_ptr< QueueHandle > queue) override
 
virtual bool ValidateChannel (size_t i, StreamDescriptor stream) override
 Check if a stream is allowed to be connected to the given input.
 
virtual PhysicalConnector GetPhysicalConnector () override
 
- Public Member Functions inherited from InstrumentChannel
 InstrumentChannel (Instrument *inst, const std::string &hwname, const std::string &color="#808080", Unit xunit=Unit(Unit::UNIT_FS), size_t index=0)
 
 InstrumentChannel (Instrument *inst, const std::string &hwname, const std::string &color="#808080", Unit xunit=Unit(Unit::UNIT_FS), Unit yunit=Unit(Unit::UNIT_VOLTS), Stream::StreamType stype=Stream::STREAM_TYPE_ANALOG, size_t index=0)
 
virtual void SetDisplayName (std::string name)
 Sets the human-readable nickname for this channel, as displayed in the GUI.
 
virtual std::string GetDisplayName ()
 Gets the human-readable nickname for this channel, as displayed in the GUI.
 
const std::string & GetHwname () const
 Gets the hardware name of the channel (m_hwname)
 
size_t GetIndex () const
 Gets the (zero based) index of the channel.
 
Instrument * GetInstrument () const
 Gets the instrument this channel is part of (if any)
 
void ClearCachedDisplayName ()
 Sets the display name to an empty string, causing a fetch from hardware.
 
void SetData (WaveformBase *pNew, size_t stream)
 Sets the waveform data for a given stream, replacing any previous waveform.
 
virtual Unit GetXAxisUnits ()
 Returns the X axis unit for this channel.
 
virtual Unit GetYAxisUnits (size_t stream)
 Returns the Y axis unit for a specified stream.
 
virtual void SetXAxisUnits (const Unit &rhs)
 Changes the X axis unit for this channel.
 
virtual void SetYAxisUnits (const Unit &rhs, size_t stream)
 Changes the X axis unit for a specified stream.
 
Stream::StreamType GetType (size_t stream)
 Returns the type of a specified stream.
 
size_t GetStreamCount ()
 Get the number of data streams.
 
std::string GetStreamName (size_t stream)
 Gets the name of a stream (for display in the UI)
 
WaveformBase * GetData (size_t stream)
 Get the contents of a data stream.
 
uint8_t GetStreamFlags (size_t stream)
 Get the flags of a data stream.
 
float GetScalarValue (size_t stream)
 Gets the value of a scalar data stream.
 
void SetScalarValue (size_t stream, float value)
 Sets the value of a scalar data stream.
 
uint64_t GetDigitalScalarValue (size_t stream)
 Gets the value of a scalar data stream.
 
uint64_t GetDigitalWidth (size_t stream)
 Gets the width of a digital data stream.
 
void SetDigitalWidth (size_t stream, uint64_t width)
 Set the width of a digital data stream.
 
void SetDigitalScalarValue (size_t stream, uint64_t value)
 Sets the value of a scalar data stream.
 
WaveformBase * Detach (size_t stream)
 Detach the capture data from this channel.
 
virtual bool ShouldPersistWaveform ()
 Determine whether the channel's waveform(s) should be persisted to a session file.
 
virtual DownloadState GetDownloadState ()
 Returns the current download state of this channel.
 
virtual float GetDownloadProgress ()
 returns the current completion of the download (on the range [0, 1]), if not DOWNLOAD_UNKNOWN
 
virtual double GetDownloadStartTime ()
 returns the start time of a download, if we are DOWNLOAD_IN_PROGRESS; undefined, otherwise
 
- Public Member Functions inherited from FlowGraphNode
void DetachInputs ()
 Disconnects all inputs from the node without releasing them.
 
size_t GetInputCount ()
 Get the number of input ports.
 
std::string GetInputName (size_t i)
 
void SetInput (size_t i, StreamDescriptor stream, bool force=false)
 Connects a stream to the input of this node.
 
void SetInput (const std::string &name, StreamDescriptor stream, bool force=false)
 
bool HasInput (StreamDescriptor desc)
 Checks if the given stream is connected to at least one of our inputs.
 
StreamDescriptor GetInput (size_t i)
 Gets the descriptor for one of our inputs.
 
std::shared_ptr< InputConstraint > GetInputConstraints (size_t i)
 Get the constraints on one of our inputs.
 
FilterParameter & GetParameter (std::string s)
 
bool HasParameter (std::string s)
 Checks if we have a parameter with a given name.
 
ParameterMapType::iterator GetParamBegin ()
 Returns an iterator to the beginning of our parameter map.
 
ParameterMapType::iterator GetParamEnd ()
 Returns an iterator to the end of our parameter map.
 
size_t GetParamCount ()
 Returns the number of parameter we have.
 
virtual YAML::Node SerializeConfiguration (IDTable &table)
 Serializes this trigger's configuration to a YAML string.
 
virtual void LoadParameters (const YAML::Node &node, IDTable &table)
 Load configuration from a save file.
 
virtual void LoadInputs (const YAML::Node &node, IDTable &table)
 
bool IsDownstreamOf (std::set< FlowGraphNode * > nodes)
 Determines if this node is downstream of any of the specified other nodes.
 
virtual uint32_t GetExecutionCapabilitiesMask ()
 Returns a bitmask of ExecutionCapabilities fields.
 
bool HasMessages () const
 Checks if this graph has any messages.
 
const std::vector< FlowGraphNodeMessage > & GetMessages () const
 Walking through any messages.
 
const FlowGraphNodeMessage * GetMostSevereMessage () const
 
void AddSink (size_t stream, FlowGraphNode *node)
 
void RemoveSink (size_t stream, FlowGraphNode *node)
 
const std::set< FlowGraphNode * > & GetSinks (size_t stream)
 
sigc::signal< void()> signal_parametersChanged ()
 
sigc::signal< void()> signal_inputsChanged ()
 

Additional Inherited Members

- Public Attributes inherited from InstrumentChannel
std::string m_displaycolor
 Display color (HTML hex notation with optional alpha channel: #RRGGBB or ##RRGGBBAA)
 
enum InstrumentChannel::VisibilityMode m_visibilityMode
 
- Protected Member Functions inherited from InstrumentChannel
virtual void ClearStreams ()
 Clears out any existing streams.
 
virtual size_t AddStream (Unit yunit, const std::string &name, Stream::StreamType stype, uint8_t flags=0)
 Adds a new data stream to the channel.
 
- Protected Member Functions inherited from FlowGraphNode
virtual void OnInputChanged (size_t i)
 Called when a new input is connected to the node.
 
WaveformBase * GetInputWaveform (size_t i)
 Gets the waveform attached to the specified input.
 
SparseAnalogWaveform * GetSparseAnalogInputWaveform (size_t i)
 Gets the analog waveform attached to the specified input.
 
UniformAnalogWaveform * GetUniformAnalogInputWaveform (size_t i)
 Gets the analog waveform attached to the specified input.
 
SparseDigitalWaveform * GetSparseDigitalInputWaveform (size_t i)
 Gets the digital waveform attached to the specified input.
 
UniformDigitalWaveform * GetUniformDigitalInputWaveform (size_t i)
 Gets the digital waveform attached to the specified input.
 
virtual void CreateInput (const std::string &name)
 Gets the digital bus waveform attached to the specified input.
 
template<class T , class... Args>
void CreateInput (const std::string &name, Args &&... args)
 
std::string GetInputDisplayName (size_t i)
 Gets the display name for one of our inputs.
 
void ClearMessages ()
 Remove any messages left over from the last graph refresh.
 
void AddMessage (const FlowGraphNodeMessage &msg)
 Attach a new message to the node.
 
void AddMessage (Severity severity, const std::string &title, const std::string &message)
 Attach a new message to the node.
 
void AddErrorMessage (const std::string &err)
 Add a new error message.
 
void AddErrorMessage (const std::string &title, const std::string &err)
 Add a new error message with a title.
 
- Protected Attributes inherited from InstrumentChannel
Instrument * m_instrument
 The instrument we're part of (may be null in the case of filters etc)
 
std::string m_hwname
 Hardware name of the channel.
 
std::string m_displayname
 Display name (user defined, defaults to m_hwname).
 
size_t m_index
 Zero based index of the channel within the instrument.
 
Unit m_xAxisUnit
 Unit of measurement for our horizontal axis (common to all streams)
 
std::vector< Stream > m_streams
 Configuration data for each of our output streams.
 
- Protected Attributes inherited from FlowGraphNode
std::vector< std::shared_ptr< InputDescriptor > > m_inputs
 Input ports.
 
std::vector< std::set< FlowGraphNode * > > m_sinks
 The nodes (if any) that each of our streams drives.
 
ParameterMapType m_parameters
 
sigc::signal< void()> m_parametersChangedSignal
 Signal emitted when the set of parameters changes.
 
sigc::signal< void()> m_inputsChangedSignal
 Signal emitted when the set of inputs changes.
 
std::vector< FlowGraphNodeMessage > m_messages
 

Detailed Description

A single channel of a power supply.

Member Function Documentation

◆ GetPhysicalConnector()

InstrumentChannel::PhysicalConnector PowerSupplyChannel::GetPhysicalConnector ( )
overridevirtual

Reimplemented from InstrumentChannel.

◆ Refresh()

void PowerSupplyChannel::Refresh ( vk::raii::CommandBuffer &  cmdBuf,
std::shared_ptr< QueueHandle >  queue 
)
overridevirtual

Reimplemented from InstrumentChannel.

◆ ValidateChannel()

bool PowerSupplyChannel::ValidateChannel ( size_t  i,
StreamDescriptor  stream 
)
overridevirtual

Check if a stream is allowed to be connected to the given input.

Reimplemented from FlowGraphNode.


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