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

Base class for switch matrixes. More...

#include <SwitchMatrix.h>

Inheritance diagram for SwitchMatrix:
Inheritance graph
[legend]
Collaboration diagram for SwitchMatrix:
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 void SetMuxPath (size_t dstchan, size_t srcchan)=0
 Sets the mux selector for an output channel. More...
 
virtual void SetMuxPathOpen (size_t dstchan)=0
 Removes a mux path for an output channel. More...
 
virtual bool MuxHasConfigurableDrive (size_t dstchan)=0
 Checks if an output channel has configurable voltage level. More...
 
virtual float GetMuxOutputDrive (size_t dstchan)=0
 Gets the drive level of an output channel. More...
 
virtual void SetMuxOutputDrive (size_t dstchan, float v)=0
 Sets the drive level of an output channel. More...
 
virtual bool MuxHasConfigurableThreshold (size_t dstchan)=0
 Checks if an input channel has configurable voltage level. More...
 
virtual float GetMuxInputThreshold (size_t dstchan)=0
 Gets the threshold level of an input channel. More...
 
virtual void SetMuxInputThreshold (size_t dstchan, float v)=0
 Sets the threshold level of an input 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...
 

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

Base class for switch matrixes.

Member Function Documentation

◆ GetInstrumentTypes()

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

Reimplemented in AntikernelLabsTriggerCrossbar.

◆ GetMuxInputThreshold()

virtual float SwitchMatrix::GetMuxInputThreshold ( size_t  dstchan)
pure virtual

Gets the threshold level of an input channel.

Implemented in AntikernelLabsTriggerCrossbar.

◆ GetMuxOutputDrive()

virtual float SwitchMatrix::GetMuxOutputDrive ( size_t  dstchan)
pure virtual

Gets the drive level of an output channel.

Implemented in AntikernelLabsTriggerCrossbar.

◆ MuxHasConfigurableDrive()

virtual bool SwitchMatrix::MuxHasConfigurableDrive ( size_t  dstchan)
pure virtual

Checks if an output channel has configurable voltage level.

Implemented in AntikernelLabsTriggerCrossbar.

◆ MuxHasConfigurableThreshold()

virtual bool SwitchMatrix::MuxHasConfigurableThreshold ( size_t  dstchan)
pure virtual

Checks if an input channel has configurable voltage level.

Implemented in AntikernelLabsTriggerCrossbar.

◆ SetMuxInputThreshold()

virtual void SwitchMatrix::SetMuxInputThreshold ( size_t  dstchan,
float  v 
)
pure virtual

Sets the threshold level of an input channel.

Implemented in AntikernelLabsTriggerCrossbar.

◆ SetMuxOutputDrive()

virtual void SwitchMatrix::SetMuxOutputDrive ( size_t  dstchan,
float  v 
)
pure virtual

Sets the drive level of an output channel.

Implemented in AntikernelLabsTriggerCrossbar.

◆ SetMuxPath()

virtual void SwitchMatrix::SetMuxPath ( size_t  dstchan,
size_t  srcchan 
)
pure virtual

Sets the mux selector for an output channel.

Implemented in AntikernelLabsTriggerCrossbar.

◆ SetMuxPathOpen()

virtual void SwitchMatrix::SetMuxPathOpen ( size_t  dstchan)
pure virtual

Removes a mux path for an output channel.

Not all switch matrices or ports support this feature.

Implemented in AntikernelLabsTriggerCrossbar.


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