30#ifndef SCPIInstrument_h
31#define SCPIInstrument_h
33enum class SCPITransportType
47std::string to_string(SCPITransportType type);
54 SCPITransportType transportType;
55 std::string connectionString;
63 std::string modelName;
64 std::vector<SCPITransportInfo> supportedTransports;
80 virtual std::string GetName()
const override;
81 virtual std::string GetVendor()
const override;
82 virtual std::string GetSerial()
const override;
83 virtual std::string GetDriverName()
const =0;
87 typedef std::vector<SCPIInstrumentModel> (*GetTransportsProcType)();
88 static void DoAddDriverClass(
const std::string& name, GetTransportsProcType
proc);
89 static std::vector<SCPIInstrumentModel> GetSupportedModels(
const std::string&
driver);
90 static std::vector<SCPIInstrumentModel> GetDriverSupportedModels();
93 typedef std::map<std::string, GetTransportsProcType > GetTransportMapType;
94 static GetTransportMapType m_getTransportProcs;
Definition AcceleratorBuffer.h:204
Bidirectional table mapping integer IDs in scopesession files to object pointers.
Definition IDTable.h:49
An arbitrary lab instrument. Oscilloscope, LA, PSU, DMM, etc.
Definition Instrument.h:62
An SCPI-based device.
Definition SCPIDevice.h:37
An SCPI-based oscilloscope.
Definition SCPIInstrument.h:72
virtual void BackgroundProcessing() override
Run various background processing typically done by a second thread (e.g. InstrumentThread)
Definition SCPIInstrument.cpp:54
virtual std::string GetTransportName() override
Gets the name of our transport.
Definition SCPIInstrument.cpp:62
virtual std::string GetTransportConnectionString() override
Gets the connection string for our transport.
Definition SCPIInstrument.cpp:67
Abstraction of a transport layer for moving SCPI data between endpoints.
Definition SCPITransport.h:53
SCPI instrument model (model name and transport information)
Definition SCPIInstrument.h:62
SCPI transport information (type and connectionString)
Definition SCPIInstrument.h:53