57 :
public std::enable_shared_from_this<Instrument>
78 INST_OSCILLOSCOPE = 0x01,
102 INST_SWITCH_MATRIX = 0x100
113 virtual std::string GetName()
const =0;
114 virtual std::string GetVendor()
const =0;
115 virtual std::string GetSerial()
const =0;
Declaration of ConfigWarningList, ConfigWarningMessage, and WarningList.
Declaration of InstrumentChannel.
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
A single channel of an instrument.
Definition: InstrumentChannel.h:63
An arbitrary lab instrument. Oscilloscope, LA, PSU, DMM, etc.
Definition: Instrument.h:58
virtual std::string GetChannelDisplayName(size_t i)
Gets the hardware display name for a channel. This is an arbitrary user-selected string.
Definition: Instrument.cpp:78
virtual unsigned int GetInstrumentTypes() const =0
Returns a bitfield describing the set of instrument types that this instrument supports.
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.
Definition: Instrument.cpp:173
std::list< sigc::slot< void(YAML::Node &, IDTable &)> > m_serializers
List of methods which need to be called to serialize this node's configuration.
Definition: Instrument.h:242
InstrumentChannel * GetChannelByDisplayName(const std::string &name)
Gets a channel given the display name.
Definition: Instrument.cpp:51
virtual bool AcquireData()=0
Pull data from the instrument.
virtual std::string GetTransportConnectionString()=0
Gets the connection string for our transport.
virtual std::string GetTransportName()=0
Gets the name of our transport.
InstrumentChannel * GetChannelByHwName(const std::string &name)
Gets a channel given the hardware name.
Definition: Instrument.cpp:64
InstrumentChannel * GetChannel(size_t i) const
Gets a given channel on the instrument.
Definition: Instrument.h:158
std::vector< InstrumentChannel * > m_channels
Set of all channels on this instrument.
Definition: Instrument.h:259
virtual YAML::Node SerializeConfiguration(IDTable &table) const
Serializes this instrument's configuration to a YAML node.
Definition: Instrument.cpp:86
virtual uint32_t GetInstrumentTypesForChannel(size_t i) const =0
Returns a bitfield describing the set of instrument types that a given channel supports.
std::string m_nickname
Optional user-selected nickname of the instrument.
Definition: Instrument.h:122
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.
Definition: Instrument.h:252
virtual void LoadConfiguration(int version, const YAML::Node &node, IDTable &idmap)
Load instrument and channel configuration from a save file.
Definition: Instrument.cpp:167
virtual void SetChannelDisplayName(size_t i, std::string name)
Sets the hardware display name for a channel. This is an arbitrary user-selected string.
Definition: Instrument.cpp:74
size_t GetChannelCount() const
Gets the number of channels (of any type) this instrument has.
Definition: Instrument.h:147
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.
Definition: Instrument.h:247