60 :
public std::enable_shared_from_this<Instrument>
82 INST_OSCILLOSCOPE = 0x01,
106 INST_SWITCH_MATRIX = 0x100
117 virtual std::string GetName()
const =0;
118 virtual std::string GetVendor()
const =0;
119 virtual std::string GetSerial()
const =0;
Declaration of ConfigWarningList, ConfigWarningMessage, and WarningList.
Declaration of InstrumentChannel.
Declaration of SerializableObject.
Definition AcceleratorBuffer.h:204
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:62
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:100
virtual unsigned int GetInstrumentTypes() const =0
Returns a bitfield describing the set of instrument types that this instrument supports.
virtual void FlushConfigCache()
Instruments are allowed to cache configuration settings to reduce round trip queries to the device.
Definition Instrument.cpp:62
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:200
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:277
InstrumentChannel * GetChannelByDisplayName(const std::string &name)
Gets a channel given the display name.
Definition Instrument.cpp:73
virtual bool AcquireData()=0
Pull data from the instrument.
virtual std::string GetTransportConnectionString()=0
Gets the connection string for our transport.
virtual bool IsOffline()
Checks if the instrument is currently online.
Definition Instrument.cpp:105
virtual void BackgroundProcessing()
Run various background processing typically done by a second thread (e.g. InstrumentThread)
Definition Instrument.cpp:55
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:86
InstrumentChannel * GetChannel(size_t i) const
Gets a given channel on the instrument.
Definition Instrument.h:170
std::vector< InstrumentChannel * > m_channels
Set of all channels on this instrument.
Definition Instrument.h:294
virtual YAML::Node SerializeConfiguration(IDTable &table) const
Serializes this instrument's configuration to a YAML node.
Definition Instrument.cpp:113
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:126
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:287
virtual void LoadConfiguration(int version, const YAML::Node &node, IDTable &idmap)
Load instrument and channel configuration from a save file.
Definition Instrument.cpp:194
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:96
size_t GetChannelCount() const
Gets the number of channels (of any type) this instrument has.
Definition Instrument.h:159
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:282
Definition SerializableObject.h:40