ngscopeclient 0.1-dev+51fbda87c
|
A miscellaneous instrument which streams scalar data over CSV. More...
#include <CSVStreamInstrument.h>
Public Member Functions | |
CSVStreamInstrument (SCPITransport *transport) | |
Initialize the driver. More... | |
virtual uint32_t | GetInstrumentTypes () const override |
Returns a bitfield describing the set of instrument types that this instrument supports. More... | |
virtual uint32_t | GetInstrumentTypesForChannel (size_t i) const override |
Returns a bitfield describing the set of instrument types that a given channel supports. More... | |
virtual bool | AcquireData () override |
Pull data from the instrument. More... | |
MISC_INITPROC (CSVStreamInstrument) | |
![]() | |
SCPIInstrument (SCPITransport *transport, bool identify=true) | |
virtual std::string | GetTransportConnectionString () |
Gets the connection string for our transport. More... | |
virtual std::string | GetTransportName () |
Gets the name of our transport. More... | |
virtual std::string | GetName () const |
virtual std::string | GetVendor () const |
virtual std::string | GetSerial () const |
virtual std::string | GetDriverName () const =0 |
![]() | |
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. | |
InstrumentChannel * | GetChannel (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... | |
InstrumentChannel * | GetChannelByDisplayName (const std::string &name) |
Gets a channel given the display name. | |
InstrumentChannel * | GetChannelByHwName (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... | |
![]() | |
SCPIDevice (SCPITransport *transport, bool identify=true) | |
SCPITransport * | GetTransport () const |
Static Public Member Functions | |
static std::string | GetDriverNameInternal () |
Returns the constant driver name "csvstream". | |
![]() | |
static void | DoAddDriverClass (std::string name, MiscCreateProcType proc) |
static void | EnumDrivers (std::vector< std::string > &names) |
static std::shared_ptr< SCPIMiscInstrument > | CreateInstrument (std::string driver, SCPITransport *transport) |
Protected Member Functions | |
void | DoPreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list) |
Validate instrument and channel configuration from a save file. | |
![]() | |
void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
Additional Inherited Members | |
![]() | |
typedef std::shared_ptr< SCPIMiscInstrument >(* | MiscCreateProcType) (SCPITransport *) |
![]() | |
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 } |
![]() | |
std::string | m_nickname |
Optional user-selected nickname of the instrument. More... | |
![]() | |
typedef std::map< std::string, MiscCreateProcType > | MiscCreateMapType |
![]() | |
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. | |
![]() | |
SCPITransport * | m_transport |
std::string | m_vendor |
std::string | m_model |
std::string | m_serial |
std::string | m_fwVersion |
![]() | |
static MiscCreateMapType | m_misccreateprocs |
A miscellaneous instrument which streams scalar data over CSV.
Typically used to plot real time system state (voltages, temperatures, ADC values, etc) from a microcontroller over a UART or SWO trace interface.
The instrument protocol is a unidirectional stream of line oriented comma-separated-value (CSV) rather than SCPI.
At any time, the instrument may send lines with one or more of the following formats, separated by
characters. Lines not starting with these magic keywords are ignored.
CSV-NAME,ch1name,ch2name, ... : assign human readable names to channels CSV-UNIT,V,A, ... : specify unit associated with each channel CSV-DATA,1.23,3.14, ... : specify latest measurement value for each channel. It is not possible to perform partial updates of a single channel without updating the others.
CSVStreamInstrument::CSVStreamInstrument | ( | SCPITransport * | transport | ) |
Initialize the driver.
transport | SCPITransport pointing at the instrument |
|
overridevirtual |
Pull data from the instrument.
Implements Instrument.
|
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.
|
overridevirtual |
Returns a bitfield describing the set of instrument types that a given channel supports.
i | Channel index |
Implements Instrument.