ngscopeclient 0.1-dev+51fbda87c
|
Driver for the Tektronix HSI interface using an external bridge server (WIP) More...
#include <TektronixHSIOscilloscope.h>
Public Member Functions | |
TektronixHSIOscilloscope (SCPITransport *transport) | |
Initialize the driver. More... | |
TektronixHSIOscilloscope (const TektronixHSIOscilloscope &rhs)=delete | |
TektronixHSIOscilloscope & | operator= (const TektronixHSIOscilloscope &rhs)=delete |
virtual Oscilloscope::TriggerMode | PollTrigger () override |
Checks the curent trigger status. More... | |
virtual bool | AcquireData () override |
Pull data from the instrument. More... | |
virtual void | Start () override |
Starts the instrument in continuous trigger mode. More... | |
virtual void | StartSingleTrigger () override |
Arms the trigger for a single acquistion. More... | |
virtual void | Stop () override |
Stops triggering. More... | |
OSCILLOSCOPE_INITPROC (TektronixHSIOscilloscope) | |
![]() | |
TektronixOscilloscope (SCPITransport *transport) | |
Initialize the driver. More... | |
TektronixOscilloscope (const TektronixOscilloscope &rhs)=delete | |
TektronixOscilloscope & | operator= (const TektronixOscilloscope &rhs)=delete |
virtual unsigned int | GetInstrumentTypes () const override |
Returns a bitfield describing the set of instrument types that this instrument supports. More... | |
virtual void | FlushConfigCache () override |
Instruments are allowed to cache configuration settings to reduce round trip queries to the device. 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 | IsChannelEnabled (size_t i) override |
Checks if a channel is enabled in hardware. More... | |
virtual void | EnableChannel (size_t i) override |
Turn a channel on, given the index. More... | |
virtual bool | CanEnableChannel (size_t i) override |
Determines if a channel can be enabled. More... | |
virtual void | DisableChannel (size_t i) override |
Turn a channel off, given the index. More... | |
virtual OscilloscopeChannel::CouplingType | GetChannelCoupling (size_t i) override |
Gets the coupling used for an input channel. More... | |
virtual void | SetChannelCoupling (size_t i, OscilloscopeChannel::CouplingType type) override |
Sets the coupling used for an input channel. More... | |
virtual std::vector< OscilloscopeChannel::CouplingType > | GetAvailableCouplings (size_t i) override |
Gets the set of legal coupling values for an input channel. More... | |
virtual double | GetChannelAttenuation (size_t i) override |
Gets the probe attenuation for an input channel. More... | |
virtual void | SetChannelAttenuation (size_t i, double atten) override |
Sets the probe attenuation used for an input channel. More... | |
virtual unsigned int | GetChannelBandwidthLimit (size_t i) override |
Gets the bandwidth limit for an input channel. More... | |
virtual void | SetChannelBandwidthLimit (size_t i, unsigned int limit_mhz) override |
Sets the bandwidth limit for an input channel. More... | |
virtual float | GetChannelVoltageRange (size_t i, size_t stream) override |
Gets the range of the current channel configuration. More... | |
virtual void | SetChannelVoltageRange (size_t i, size_t stream, float range) override |
Sets the range of the current channel configuration. More... | |
virtual OscilloscopeChannel * | GetExternalTrigger () override |
Returns the external trigger input channel, if we have one. More... | |
virtual float | GetChannelOffset (size_t i, size_t stream) override |
Gets the offset, in volts, for a given channel. More... | |
virtual void | SetChannelOffset (size_t i, size_t stream, float offset) override |
Sets the offset for a given channel. More... | |
virtual std::string | GetChannelDisplayName (size_t i) override |
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) override |
Sets the hardware display name for a channel. This is an arbitrary user-selected string. More... | |
virtual std::vector< unsigned int > | GetChannelBandwidthLimiters (size_t i) override |
Gets the set of available bandwidth limiters for an input channel. More... | |
Unit | GetYAxisUnit (size_t i) |
virtual bool | CanDegauss (size_t i) override |
Determines if a channel has a probe connected which supports the "degauss" feature. More... | |
virtual bool | ShouldDegauss (size_t i) override |
Determines if a channel requires a degauss cycle (if supported) More... | |
virtual void | Degauss (size_t i) override |
Performs an "degauss" cycle on the attached active probe, if supported by the hardware. More... | |
virtual std::string | GetProbeName (size_t i) override |
Returns the name of the probe connected to the scope, if possible. More... | |
virtual Oscilloscope::TriggerMode | PollTrigger () override |
Checks the curent trigger status. More... | |
virtual bool | PeekTriggerArmed () override |
Checks if the trigger is armed directly on the instrument, without altering internal state or touching caches. More... | |
virtual bool | AcquireData () override |
Pull data from the instrument. More... | |
virtual void | Start () override |
Starts the instrument in continuous trigger mode. More... | |
virtual void | StartSingleTrigger () override |
Arms the trigger for a single acquistion. More... | |
virtual void | Stop () override |
Stops triggering. More... | |
virtual void | ForceTrigger () override |
Forces a single acquisition as soon as possible. More... | |
virtual bool | IsTriggerArmed () override |
Checks if the trigger is currently armed. More... | |
virtual void | PushTrigger () override |
Pushes changes made to m_trigger to the instrument. More... | |
virtual void | PullTrigger () override |
Updates m_trigger with any changes made from the instrument side. More... | |
std::vector< std::string > | GetTriggerTypes () override |
Gets a list of triggers this instrument supports. More... | |
virtual std::vector< uint64_t > | GetSampleRatesNonInterleaved () override |
Get the legal sampling rates (in Hz) for this scope in all-channels mode. More... | |
virtual std::vector< uint64_t > | GetSampleRatesInterleaved () override |
Get the legal sampling rates (in Hz) for this scope in combined-channels mode. More... | |
virtual std::set< InterleaveConflict > | GetInterleaveConflicts () override |
virtual std::vector< uint64_t > | GetSampleDepthsNonInterleaved () override |
Get the legal memory depths for this scope in all-channels mode. More... | |
virtual std::vector< uint64_t > | GetSampleDepthsInterleaved () override |
Get the legal memory depths for this scope in combined-channels mode. More... | |
virtual uint64_t | GetSampleRate () override |
Gets the current sampling rate (in Hz) of this scope. More... | |
virtual uint64_t | GetSampleDepth () override |
Gets the current sample depth of this scope. More... | |
virtual void | SetSampleDepth (uint64_t depth) override |
Sets the sample depth of the scope. More... | |
virtual void | SetSampleRate (uint64_t rate) override |
Sets the sample rate of the scope, in Hz. More... | |
virtual void | SetTriggerOffset (int64_t offset) override |
Sets the trigger offset. More... | |
virtual int64_t | GetTriggerOffset () override |
Gets the trigger offset. More... | |
virtual bool | IsInterleaving () override |
Checks if the scope is currently combining channels. More... | |
virtual bool | SetInterleaving (bool combine) override |
Configures the scope to combine channels. More... | |
virtual void | SetDeskewForChannel (size_t channel, int64_t skew) override |
Sets the deskew setting for a channel. More... | |
virtual int64_t | GetDeskewForChannel (size_t channel) override |
Gets the deskew setting for a channel. More... | |
virtual void | SetUseExternalRefclk (bool external) override |
Configures the instrument's clock source. More... | |
virtual void | EnableTriggerOutput () override |
Enables the trigger output, configuring a shared auxiliary port for this purpose if needed. More... | |
virtual std::vector< DigitalBank > | GetDigitalBanks () override |
Gets the digital channel banks for this instrument. More... | |
virtual DigitalBank | GetDigitalBank (size_t channel) override |
Gets the bank containing a given channel. More... | |
virtual bool | IsDigitalHysteresisConfigurable () override |
Checks if digital input hysteresis is configurable or fixed. More... | |
virtual bool | IsDigitalThresholdConfigurable () override |
Checks if digital input threshold is configurable or fixed. More... | |
virtual float | GetDigitalHysteresis (size_t channel) override |
Gets the hysteresis for a digital input. More... | |
virtual float | GetDigitalThreshold (size_t channel) override |
Gets the threshold for a digital input. More... | |
virtual void | SetDigitalHysteresis (size_t channel, float level) override |
Sets the hysteresis for a digital input. More... | |
virtual void | SetDigitalThreshold (size_t channel, float level) override |
Gets the threshold for a digital input. More... | |
virtual unsigned int | GetMeasurementTypes () override |
virtual int | GetMeterChannelCount () |
virtual int | GetCurrentMeterChannel () override |
virtual void | SetCurrentMeterChannel (int chan) override |
virtual MeasurementTypes | GetMeterMode () override |
virtual void | SetMeterMode (MeasurementTypes type) override |
virtual void | SetMeterAutoRange (bool enable) override |
virtual bool | GetMeterAutoRange () override |
virtual void | StartMeter () override |
virtual void | StopMeter () override |
virtual double | GetMeterValue () override |
Get the value of the primary measurement. More... | |
virtual int | GetMeterDigits () override |
Returns the digit resolution of the meter. More... | |
virtual std::vector< WaveShape > | GetAvailableWaveformShapes (int chan) override |
Query the set of available pre-defined waveforms for this generator. More... | |
virtual bool | GetFunctionChannelActive (int chan) override |
Returns true if the function generator channel's output is enabled. More... | |
virtual void | SetFunctionChannelActive (int chan, bool on) override |
Turns a function generator channel on or off. More... | |
virtual float | GetFunctionChannelDutyCycle (int chan) override |
Gets the duty cycle for a function generator output. More... | |
virtual void | SetFunctionChannelDutyCycle (int chan, float duty) override |
Sets the duty cycle for a function generator output. More... | |
virtual float | GetFunctionChannelAmplitude (int chan) override |
Gets the amplitude for a function generator output. More... | |
virtual void | SetFunctionChannelAmplitude (int chan, float amplitude) override |
Sets the amplitude for a function generator output. More... | |
virtual float | GetFunctionChannelOffset (int chan) override |
Gets the DC offset for a function generator output. More... | |
virtual void | SetFunctionChannelOffset (int chan, float offset) override |
Sets the DC offset for a function generator output. More... | |
virtual float | GetFunctionChannelFrequency (int chan) override |
Gets the frequency for a function generator output. More... | |
virtual void | SetFunctionChannelFrequency (int chan, float hz) override |
Sets the frequency for a function generator output. More... | |
virtual WaveShape | GetFunctionChannelShape (int chan) override |
Gets the waveform shape for a function generator output. More... | |
virtual void | SetFunctionChannelShape (int chan, WaveShape shape) override |
Sets the waveform shape for a function generator output. More... | |
virtual bool | HasFunctionRiseFallTimeControls (int chan) override |
Determines if the function generator allows control over rise/fall times. More... | |
virtual OutputImpedance | GetFunctionChannelOutputImpedance (int chan) override |
Gets the currently selected output impedance for a function generator output (if supported) More... | |
virtual void | SetFunctionChannelOutputImpedance (int chan, OutputImpedance z) override |
Sets the currently selected output impedance for a function generator output (if supported) More... | |
virtual bool | HasFrequencyControls () override |
Returns true if the instrument has at least one frequency-domain channel. More... | |
virtual void | SetSpan (int64_t span) override |
Sets the span for frequency-domain channels. More... | |
virtual int64_t | GetSpan () override |
Gets the span for frequency-domain channels. More... | |
virtual void | SetCenterFrequency (size_t channel, int64_t freq) override |
Sets the center frequency for frequency-domain channels. More... | |
virtual int64_t | GetCenterFrequency (size_t channel) override |
Gets the center frequency for a frequency-domain channel. More... | |
virtual void | SetResolutionBandwidth (int64_t rbw) override |
Gets the resolution bandwidth for frequency-domain channels. More... | |
virtual int64_t | GetResolutionBandwidth () override |
Gets the resolution bandwidth for frequency-domain channels. More... | |
![]() | |
virtual std::string | IDPing () |
Returns the instrument's identification string. More... | |
![]() | |
virtual std::string | IDPing ()=0 |
Returns the instrument's identification string. More... | |
virtual void | FlushConfigCache () |
Instruments are allowed to cache configuration settings to reduce round trip queries to the device. More... | |
virtual bool | IsOffline () |
Checks if the instrument is currently online. More... | |
OscilloscopeChannel * | GetOscilloscopeChannel (size_t i) |
Gets a channel by index. More... | |
virtual bool | IsChannelEnabled (size_t i)=0 |
Checks if a channel is enabled in hardware. More... | |
virtual void | EnableChannel (size_t i)=0 |
Turn a channel on, given the index. More... | |
virtual bool | CanEnableChannel (size_t i) |
Determines if a channel can be enabled. More... | |
virtual void | DisableChannel (size_t i)=0 |
Turn a channel off, given the index. More... | |
int | GetEnabledChannelCount () |
Returns the number of enabled channels for this oscilloscope. More... | |
OscilloscopeChannel * | GetOscilloscopeChannelByHwName (const std::string &name) |
Gets a channel given the hardware name. | |
virtual OscilloscopeChannel::CouplingType | GetChannelCoupling (size_t i)=0 |
Gets the coupling used for an input channel. More... | |
virtual void | SetChannelCoupling (size_t i, OscilloscopeChannel::CouplingType type)=0 |
Sets the coupling used for an input channel. More... | |
virtual std::vector< OscilloscopeChannel::CouplingType > | GetAvailableCouplings (size_t i)=0 |
Gets the set of legal coupling values for an input channel. More... | |
virtual double | GetChannelAttenuation (size_t i)=0 |
Gets the probe attenuation for an input channel. More... | |
virtual void | SetChannelAttenuation (size_t i, double atten)=0 |
Sets the probe attenuation used for an input channel. More... | |
virtual std::vector< unsigned int > | GetChannelBandwidthLimiters (size_t i) |
Gets the set of available bandwidth limiters for an input channel. More... | |
virtual unsigned int | GetChannelBandwidthLimit (size_t i)=0 |
Gets the bandwidth limit for an input channel. More... | |
virtual void | SetChannelBandwidthLimit (size_t i, unsigned int limit_mhz)=0 |
Sets the bandwidth limit for an input channel. More... | |
virtual OscilloscopeChannel * | GetExternalTrigger ()=0 |
Returns the external trigger input channel, if we have one. More... | |
virtual float | GetChannelVoltageRange (size_t i, size_t stream)=0 |
Gets the range of the current channel configuration. More... | |
virtual void | SetChannelVoltageRange (size_t i, size_t stream, float range)=0 |
Sets the range of the current channel configuration. More... | |
virtual bool | CanAutoZero (size_t i) |
Determines if a channel has a probe connected which supports the "auto zero" feature. More... | |
virtual void | AutoZero (size_t i) |
Performs an "auto zero" cycle on the attached active probe, if supported by the hardware. More... | |
virtual bool | CanDegauss (size_t i) |
Determines if a channel has a probe connected which supports the "degauss" feature. More... | |
virtual bool | ShouldDegauss (size_t i) |
Determines if a channel requires a degauss cycle (if supported) More... | |
virtual void | Degauss (size_t i) |
Performs an "degauss" cycle on the attached active probe, if supported by the hardware. More... | |
virtual bool | CanAverage (size_t i) |
Determines if the channel supports hardware averaging. More... | |
virtual size_t | GetNumAverages (size_t i) |
Returns the number of averages the channel is configured for. More... | |
virtual void | SetNumAverages (size_t i, size_t navg) |
Sets the number of hardware averages to use. More... | |
virtual std::string | GetProbeName (size_t i) |
Returns the name of the probe connected to the scope, if possible. More... | |
virtual bool | HasInputMux (size_t i) |
Checks if a channel has an input multiplexer. More... | |
virtual size_t | GetInputMuxSetting (size_t i) |
Gets the setting for a channel's input mux (if it has one) More... | |
virtual std::vector< std::string > | GetInputMuxNames (size_t i) |
Gets names for the input mux ports of a channel. More... | |
virtual void | SetInputMux (size_t i, size_t select) |
Sets the input mux for a channel. More... | |
virtual float | GetChannelOffset (size_t i, size_t stream)=0 |
Gets the offset, in volts, for a given channel. More... | |
virtual void | SetChannelOffset (size_t i, size_t stream, float offset)=0 |
Sets the offset for a given channel. More... | |
virtual bool | CanInvert (size_t i) |
Checks if a channel is capable of hardware polarity inversion. More... | |
virtual void | Invert (size_t i, bool invert) |
Enables hardware polarity inversion for a channel, if supported. More... | |
virtual bool | IsInverted (size_t i) |
Checks if hardware polarity inversion is enabled for a channel. More... | |
virtual Oscilloscope::TriggerMode | PollTrigger ()=0 |
Checks the curent trigger status. More... | |
virtual bool | PeekTriggerArmed () |
Checks if the trigger is armed directly on the instrument, without altering internal state or touching caches. More... | |
bool | WaitForTrigger (int timeout) |
Block until a trigger happens or a timeout elapses. More... | |
void | SetTrigger (Trigger *trigger) |
Sets a new trigger on the instrument and pushes changes. More... | |
virtual void | PushTrigger ()=0 |
Pushes changes made to m_trigger to the instrument. More... | |
Trigger * | GetTrigger (bool sync=false) |
Gets the current trigger. More... | |
virtual std::vector< std::string > | GetTriggerTypes () |
Gets a list of triggers this instrument supports. More... | |
virtual void | PullTrigger ()=0 |
Updates m_trigger with any changes made from the instrument side. More... | |
virtual void | Start ()=0 |
Starts the instrument in continuous trigger mode. More... | |
virtual void | StartSingleTrigger ()=0 |
Arms the trigger for a single acquistion. More... | |
virtual void | Stop ()=0 |
Stops triggering. More... | |
virtual void | ForceTrigger ()=0 |
Forces a single acquisition as soon as possible. More... | |
virtual bool | IsTriggerArmed ()=0 |
Checks if the trigger is currently armed. More... | |
virtual void | EnableTriggerOutput () |
Enables the trigger output, configuring a shared auxiliary port for this purpose if needed. More... | |
virtual std::vector< uint64_t > | GetSampleRatesNonInterleaved ()=0 |
Get the legal sampling rates (in Hz) for this scope in all-channels mode. More... | |
virtual std::vector< uint64_t > | GetSampleRatesInterleaved ()=0 |
Get the legal sampling rates (in Hz) for this scope in combined-channels mode. More... | |
virtual uint64_t | GetSampleRate ()=0 |
Gets the current sampling rate (in Hz) of this scope. More... | |
virtual bool | IsInterleaving ()=0 |
Checks if the scope is currently combining channels. More... | |
virtual bool | SetInterleaving (bool combine)=0 |
Configures the scope to combine channels. More... | |
virtual bool | CanInterleave () |
Returns true if we have no interleave conflicts, false if we have conflicts. More... | |
virtual std::set< InterleaveConflict > | GetInterleaveConflicts ()=0 |
virtual std::vector< uint64_t > | GetSampleDepthsNonInterleaved ()=0 |
Get the legal memory depths for this scope in all-channels mode. More... | |
virtual std::vector< uint64_t > | GetSampleDepthsInterleaved ()=0 |
Get the legal memory depths for this scope in combined-channels mode. More... | |
virtual uint64_t | GetSampleDepth ()=0 |
Gets the current sample depth of this scope. More... | |
virtual void | SetSampleDepth (uint64_t depth)=0 |
Sets the sample depth of the scope. More... | |
virtual void | SetSampleRate (uint64_t rate)=0 |
Sets the sample rate of the scope, in Hz. More... | |
virtual bool | IsSamplingModeAvailable (SamplingMode mode) |
Returns true if the requested sampling mode is available with the current instrument configuration. More... | |
virtual SamplingMode | GetSamplingMode () |
Gets the current sampling mode of the instrument. More... | |
virtual void | SetSamplingMode (SamplingMode mode) |
Sets the current sampling mode of the instrument. More... | |
virtual void | SetUseExternalRefclk (bool external) |
Configures the instrument's clock source. More... | |
virtual void | SetTriggerOffset (int64_t offset)=0 |
Sets the trigger offset. More... | |
virtual int64_t | GetTriggerOffset ()=0 |
Gets the trigger offset. More... | |
virtual void | SetDeskewForChannel (size_t channel, int64_t skew) |
Sets the deskew setting for a channel. More... | |
virtual int64_t | GetDeskewForChannel (size_t channel) |
Gets the deskew setting for a channel. More... | |
virtual std::vector< AnalogBank > | GetAnalogBanks () |
Gets the analog banks for this instrument. More... | |
virtual AnalogBank | GetAnalogBank (size_t channel) |
Gets the bank containing a given channel. More... | |
virtual bool | IsADCModeConfigurable () |
Returns true if the ADC is configurable, false if it can only run in one mode. More... | |
virtual std::vector< std::string > | GetADCModeNames (size_t channel) |
Gets the names of the ADC modes for the bank a given channel is located in. More... | |
virtual size_t | GetADCMode (size_t channel) |
Gets the ADC mode for a channel. More... | |
virtual void | SetADCMode (size_t channel, size_t mode) |
Sets the ADC mode for a channel. More... | |
virtual std::vector< DigitalBank > | GetDigitalBanks () |
Gets the digital channel banks for this instrument. More... | |
virtual DigitalBank | GetDigitalBank (size_t channel) |
Gets the bank containing a given channel. More... | |
virtual bool | IsDigitalHysteresisConfigurable () |
Checks if digital input hysteresis is configurable or fixed. More... | |
virtual bool | IsDigitalThresholdConfigurable () |
Checks if digital input threshold is configurable or fixed. More... | |
virtual float | GetDigitalHysteresis (size_t channel) |
Gets the hysteresis for a digital input. More... | |
virtual float | GetDigitalThreshold (size_t channel) |
Gets the threshold for a digital input. More... | |
virtual void | SetDigitalHysteresis (size_t channel, float level) |
Sets the hysteresis for a digital input. More... | |
virtual void | SetDigitalThreshold (size_t channel, float level) |
Gets the threshold for a digital input. More... | |
virtual void | SetSpan (int64_t span) |
Sets the span for frequency-domain channels. More... | |
virtual int64_t | GetSpan () |
Gets the span for frequency-domain channels. More... | |
virtual void | SetCenterFrequency (size_t channel, int64_t freq) |
Sets the center frequency for frequency-domain channels. More... | |
virtual int64_t | GetCenterFrequency (size_t channel) |
Gets the center frequency for a frequency-domain channel. More... | |
virtual void | SetResolutionBandwidth (int64_t rbw) |
Gets the resolution bandwidth for frequency-domain channels. More... | |
virtual int64_t | GetResolutionBandwidth () |
Gets the resolution bandwidth for frequency-domain channels. More... | |
virtual bool | HasFrequencyControls () |
Returns true if the instrument has at least one frequency-domain channel. More... | |
virtual bool | HasResolutionBandwidth () |
Returns true if the instrument has a resolution bandwidth setting. More... | |
virtual bool | HasTimebaseControls () |
Returns true if the instrument has at least one time-domain channel. More... | |
bool | HasPendingWaveforms () |
void | ClearPendingWaveforms () |
Discard any pending waveforms that haven't yet been processed. | |
size_t | GetPendingWaveformCount () |
virtual bool | PopPendingWaveform () |
Pops the queue of pending waveforms and updates each channel with a new waveform. | |
virtual bool | IsAppendingToWaveform () |
Checks if we are appending to the existing waveform or creating a new one. | |
bool | HasPendingDiagnosticLogMessages () |
std::string | PopPendingDiagnosticLogMessage () |
std::map< std::string, FilterParameter * > & | GetDiagnosticsValues () |
bool | FreeWaveformPools () |
Free all waveforms in our pool to reclaim memory. More... | |
void | AddWaveformToAnalogPool (WaveformBase *w) |
void | AddWaveformToDigitalPool (WaveformBase *w) |
![]() | |
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... | |
![]() | |
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 |
![]() | |
SCPIDevice (SCPITransport *transport, bool identify=true) | |
SCPITransport * | GetTransport () const |
![]() | |
virtual bool | AcquireData () override |
Pull data from the instrument. More... | |
virtual bool | GetFunctionChannelActive (int chan)=0 |
Returns true if the function generator channel's output is enabled. More... | |
virtual void | SetFunctionChannelActive (int chan, bool on)=0 |
Turns a function generator channel on or off. More... | |
virtual bool | HasFunctionDutyCycleControls (int chan) |
Determines if the function generator allows control over duty cycles. More... | |
virtual float | GetFunctionChannelDutyCycle (int chan) |
Gets the duty cycle for a function generator output. More... | |
virtual void | SetFunctionChannelDutyCycle (int chan, float duty) |
Sets the duty cycle for a function generator output. More... | |
virtual float | GetFunctionChannelAmplitude (int chan)=0 |
Gets the amplitude for a function generator output. More... | |
virtual void | SetFunctionChannelAmplitude (int chan, float amplitude)=0 |
Sets the amplitude for a function generator output. More... | |
virtual float | GetFunctionChannelOffset (int chan)=0 |
Gets the DC offset for a function generator output. More... | |
virtual void | SetFunctionChannelOffset (int chan, float offset)=0 |
Sets the DC offset for a function generator output. More... | |
virtual float | GetFunctionChannelFrequency (int chan)=0 |
Gets the frequency for a function generator output. More... | |
virtual void | SetFunctionChannelFrequency (int chan, float hz)=0 |
Sets the frequency for a function generator output. More... | |
virtual WaveShape | GetFunctionChannelShape (int chan)=0 |
Gets the waveform shape for a function generator output. More... | |
virtual void | SetFunctionChannelShape (int chan, WaveShape shape)=0 |
Sets the waveform shape for a function generator output. More... | |
virtual float | GetFunctionChannelRiseTime (int chan) |
Gets the rise time for a function generator output (if supported) More... | |
virtual void | SetFunctionChannelRiseTime (int chan, float fs) |
Sets the rise time for a function generator output (if supported) More... | |
virtual float | GetFunctionChannelFallTime (int chan) |
Gets the fall time for a function generator output (if supported) More... | |
virtual void | SetFunctionChannelFallTime (int chan, float fs) |
Sets the fall time for a function generator output (if supported) More... | |
virtual bool | HasFunctionRiseFallTimeControls (int chan)=0 |
Determines if the function generator allows control over rise/fall times. More... | |
virtual bool | HasFunctionImpedanceControls (int chan) |
Determines if the function generator allows control over rise/fall times. More... | |
virtual OutputImpedance | GetFunctionChannelOutputImpedance (int chan) |
Gets the currently selected output impedance for a function generator output (if supported) More... | |
virtual void | SetFunctionChannelOutputImpedance (int chan, OutputImpedance z) |
Sets the currently selected output impedance for a function generator output (if supported) More... | |
virtual std::vector< WaveShape > | GetAvailableWaveformShapes (int chan)=0 |
Query the set of available pre-defined waveforms for this generator. More... | |
![]() | |
virtual unsigned int | GetMeasurementTypes ()=0 |
virtual unsigned int | GetSecondaryMeasurementTypes () |
Gets a bitmask of secondary measurement types currently available. More... | |
virtual int | GetCurrentMeterChannel ()=0 |
virtual void | SetCurrentMeterChannel (int chan)=0 |
virtual MeasurementTypes | GetMeterMode ()=0 |
virtual MeasurementTypes | GetSecondaryMeterMode () |
Gets the active secondary mode. More... | |
virtual std::string | ModeToText (MeasurementTypes type) |
Converts a meter mode to human readable text. | |
MeasurementTypes | TextToMode (const std::string &mode) |
Converts a textual meter mode to a mode ID. | |
virtual void | SetMeterMode (MeasurementTypes type)=0 |
virtual void | SetSecondaryMeterMode (MeasurementTypes type) |
Sets the active secondary mode. More... | |
virtual void | SetMeterAutoRange (bool enable)=0 |
virtual bool | GetMeterAutoRange ()=0 |
virtual void | StartMeter ()=0 |
virtual void | StopMeter ()=0 |
virtual Unit | GetMeterUnit () |
Get the current primary measurement unit. | |
virtual Unit | GetSecondaryMeterUnit () |
Get the current secondary measurement unit. | |
virtual double | GetMeterValue ()=0 |
Get the value of the primary measurement. More... | |
virtual double | GetSecondaryMeterValue () |
Get the value of the secondary measurement. More... | |
virtual int | GetMeterDigits ()=0 |
Returns the digit resolution of the meter. More... | |
virtual bool | AcquireData () override |
Pull meter readings from hardware. More... | |
Static Public Member Functions | |
static std::string | GetDriverNameInternal () |
Return the constant driver name "tektronix.hsi". | |
![]() | |
static std::string | GetDriverNameInternal () |
Return the constant driver name string "tektronix". | |
![]() | |
static void | Convert8BitSamples (float *pout, const int8_t *pin, float gain, float offset, size_t count) |
Converts 8-bit ADC samples to floating point. | |
static void | Convert8BitSamplesGeneric (float *pout, const int8_t *pin, float gain, float offset, size_t count) |
Generic backend for Convert8BitSamples() | |
static void | ConvertUnsigned8BitSamples (float *pout, const uint8_t *pin, float gain, float offset, size_t count) |
Converts Unsigned 8-bit ADC samples to floating point. | |
static void | ConvertUnsigned8BitSamplesGeneric (float *pout, const uint8_t *pin, float gain, float offset, size_t count) |
Generic backend for ConvertUnsigned8BitSamples() | |
static void | Convert16BitSamples (float *pout, const int16_t *pin, float gain, float offset, size_t count) |
Converts 16-bit ADC samples to floating point. | |
static void | Convert16BitSamplesGeneric (float *pout, const int16_t *pin, float gain, float offset, size_t count) |
Converts raw ADC samples to floating point. | |
static void | DoAddDriverClass (std::string name, CreateProcType proc) |
static void | EnumDrivers (std::vector< std::string > &names) |
static std::shared_ptr< Oscilloscope > | CreateOscilloscope (std::string driver, SCPITransport *transport) |
![]() | |
static void | DoAddDriverClass (std::string name, GeneratorCreateProcType proc) |
static void | EnumDrivers (std::vector< std::string > &names) |
static std::shared_ptr< SCPIFunctionGenerator > | CreateFunctionGenerator (std::string driver, SCPITransport *transport) |
![]() | |
static std::string | GetNameOfShape (WaveShape shape) |
Converts a WaveShape enum to a human readable name. More... | |
static WaveShape | GetShapeOfName (const std::string &name) |
Converts a human readable name to a WaveShape. More... | |
static std::string | GetNameOfImpedance (OutputImpedance imp) |
Converts an OutputImpedance enum to a human readable name. More... | |
static OutputImpedance | GetImpedanceOfName (const std::string &name) |
Converts a human readable name to an OutputImpedance. More... | |
![]() | |
static void | DoAddDriverClass (std::string name, MeterCreateProcType proc) |
static void | EnumDrivers (std::vector< std::string > &names) |
static std::shared_ptr< SCPIMultimeter > | CreateMultimeter (std::string driver, SCPITransport *transport) |
Additional Inherited Members | |
![]() | |
enum | TriggerMode { TRIGGER_MODE_RUN , TRIGGER_MODE_STOP , TRIGGER_MODE_TRIGGERED , TRIGGER_MODE_WAIT , TRIGGER_MODE_AUTO , TRIGGER_MODE_COUNT } |
enum | SamplingMode { REAL_TIME , EQUIVALENT_TIME } |
typedef std::pair< OscilloscopeChannel *, OscilloscopeChannel * > | InterleaveConflict |
Get the set of conflicting channels. More... | |
typedef std::vector< OscilloscopeChannel * > | AnalogBank |
typedef std::vector< OscilloscopeChannel * > | DigitalBank |
typedef std::shared_ptr< Oscilloscope >(* | CreateProcType) (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 } |
![]() | |
typedef std::shared_ptr< SCPIFunctionGenerator >(* | GeneratorCreateProcType) (SCPITransport *) |
![]() | |
enum | WaveShape { SHAPE_SINE , SHAPE_SQUARE , SHAPE_TRIANGLE , SHAPE_PULSE , SHAPE_DC , SHAPE_NOISE , SHAPE_SAWTOOTH_UP , SHAPE_SAWTOOTH_DOWN , SHAPE_SINC , SHAPE_GAUSSIAN , SHAPE_LORENTZ , SHAPE_HALF_SINE , SHAPE_PRBS_NONSTANDARD , SHAPE_EXPONENTIAL_RISE , SHAPE_EXPONENTIAL_DECAY , SHAPE_HAVERSINE , SHAPE_CARDIAC , SHAPE_STAIRCASE_UP , SHAPE_STAIRCASE_DOWN , SHAPE_STAIRCASE_UP_DOWN , SHAPE_NEGATIVE_PULSE , SHAPE_LOG_RISE , SHAPE_LOG_DECAY , SHAPE_SQUARE_ROOT , SHAPE_CUBE_ROOT , SHAPE_QUADRATIC , SHAPE_CUBIC , SHAPE_DLORENTZ , SHAPE_GAUSSIAN_PULSE , SHAPE_HAMMING , SHAPE_HANNING , SHAPE_KAISER , SHAPE_BLACKMAN , SHAPE_GAUSSIAN_WINDOW , SHAPE_HARRIS , SHAPE_BARTLETT , SHAPE_TAN , SHAPE_COT , SHAPE_SEC , SHAPE_CSC , SHAPE_ASIN , SHAPE_ACOS , SHAPE_ATAN , SHAPE_ACOT , SHAPE_ARB } |
Predefined waveform shapes. | |
enum | OutputImpedance { IMPEDANCE_HIGH_Z , IMPEDANCE_50_OHM } |
Nominal output impedance for a function generator channel. More... | |
![]() | |
typedef std::shared_ptr< SCPIMultimeter >(* | MeterCreateProcType) (SCPITransport *) |
![]() | |
enum | MeasurementTypes { NONE = 0x000 , DC_VOLTAGE = 0x001 , DC_RMS_AMPLITUDE = 0x002 , AC_RMS_AMPLITUDE = 0x004 , FREQUENCY = 0x008 , DC_CURRENT = 0x010 , AC_CURRENT = 0x020 , TEMPERATURE = 0x040 , RESISTANCE = 0x080 , CAPACITANCE = 0x100 , CONTINUITY = 0x200 , DIODE = 0x400 } |
![]() | |
std::string | m_nickname |
Optional user-selected nickname of the instrument. More... | |
![]() | |
enum | ProbeType { PROBE_TYPE_ANALOG , PROBE_TYPE_ANALOG_250K , PROBE_TYPE_ANALOG_CURRENT , PROBE_TYPE_DIGITAL_8BIT } |
Type of probe connected to a hardware channel. More... | |
enum | Family { FAMILY_MSO5 , FAMILY_MSO6 , FAMILY_UNKNOWN } |
Type of scope we're connected to. More... | |
![]() | |
typedef std::map< StreamDescriptor, WaveformBase * > | SequenceSet |
typedef std::map< std::string, CreateProcType > | CreateMapType |
![]() | |
typedef std::map< std::string, GeneratorCreateProcType > | GeneratorCreateMapType |
![]() | |
typedef std::map< std::string, MeterCreateProcType > | MeterCreateMapType |
![]() | |
void | ResynchronizeSCPI () |
Attempt to recover synchronization between ngscopeclient and the scope-side SCPI stack. More... | |
bool | ReadPreamble (std::string &preamble_in, mso56_preamble &preamble_out) |
Parses a waveform preamble. More... | |
bool | AcquireDataMSO56 (std::map< int, std::vector< WaveformBase * > > &pending_waveforms) |
Acquire data from a MSO5 or MSO6 scope. More... | |
void | DetectProbes () |
Look at each input channel and determine what kind of probe, if any, is connected. | |
void | PullEdgeTrigger () |
Reads settings for an edge trigger from the instrument. | |
void | PushEdgeTrigger (EdgeTrigger *trig) |
Pushes settings for an edge trigger to the instrument. More... | |
void | PullPulseWidthTrigger () |
Reads settings for a pulse width trigger from the instrument. | |
void | PushPulseWidthTrigger (PulseWidthTrigger *trig) |
Pushes settings for a pulse width trigger to the instrument. More... | |
void | PullDropoutTrigger () |
Reads settings for a dropout trigger from the instrument. More... | |
void | PushDropoutTrigger (DropoutTrigger *trig) |
Pushes settings for a dropout trigger to the instrument. More... | |
void | PullRuntTrigger () |
Reads settings for a runt trigger from the instrument. | |
void | PushRuntTrigger (RuntTrigger *trig) |
Pushes settings for a runt trigger to the instrument. More... | |
void | PullSlewRateTrigger () |
Reads settings for a slew rate trigger from the instrument. | |
void | PushSlewRateTrigger (SlewRateTrigger *trig) |
Pushes settings for a slew rate trigger to the instrument. More... | |
void | PullWindowTrigger () |
Reads settings for a window trigger from the instrument. | |
void | PushWindowTrigger (WindowTrigger *trig) |
Pushes settings for a window trigger to the instrument. More... | |
float | ReadTriggerLevelMSO56 (OscilloscopeChannel *chan) |
Determine the current trigger level. More... | |
void | SetTriggerLevelMSO56 (Trigger *trig) |
Push the current trigger voltage level to hardware. More... | |
bool | IsAnalog (size_t index) |
Check if a channel is analog given the index. More... | |
bool | IsDigital (size_t index) |
Check if a channel is digital given the index. More... | |
bool | IsSpectrum (size_t index) |
Check if a channel is spectrum given the index. More... | |
bool | IsEnableStateDirty (size_t chan) |
Checks if the channel enable state of a channel is up to date. More... | |
void | FlushChannelEnableStates () |
Flushes pending channel enable/disable commands. | |
![]() | |
void | ChannelsDownloadStarted () |
Helper method called by drivers to reset all channels to "waiting to download" state. | |
void | ChannelsDownloadStatusUpdate (size_t ch, InstrumentChannel::DownloadState state, float progress) |
Helper method called by drivers to set one channel's download status and update its download progress. Be aware that there is a measurement on ngscopeclient UI of the time spent between the download start and the progress of the last enabled channel. This measurement is used to decide whether to display a progress bar or not. This download speed evaluation method only works if enabled channels are download sequencially in increasing numeric order or if all channels are downloaded at the same speed. More... | |
void | ChannelsDownloadFinished () |
Helper method called by drivers when waveform download is finished to reset all channels to "no download" state. | |
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. | |
void | AddDiagnosticLog (std::string message) |
UniformAnalogWaveform * | AllocateAnalogWaveform (const std::string &name) |
SparseDigitalWaveform * | AllocateDigitalWaveform (const std::string &name) |
![]() | |
void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
![]() | |
void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
Serializes this instrument's configuration to a YAML node. More... | |
void | DoLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap) |
Load instrument and channel configuration from a save file. More... | |
void | DoPreLoadConfiguration (int version, const YAML::Node &node, IDTable &idmap, ConfigWarningList &list) |
Validate instrument and channel configuration from a save file. More... | |
![]() | |
void | DoSerializeConfiguration (YAML::Node &node, IDTable &table) |
Serializes this multimeter'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. | |
![]() | |
OscilloscopeChannel * | m_extTrigChannel |
External trigger. | |
FunctionGeneratorChannel * | m_awgChannel |
Function generator output. | |
unsigned int | m_analogChannelCount |
Hardware analog channel count, independent of LA option etc. | |
std::map< size_t, float > | m_channelOffsets |
Cached map of <channel ID, offset> | |
std::map< size_t, float > | m_channelVoltageRanges |
Cached map of <channel ID, full scale range> | |
std::map< size_t, float > | m_channelDigitalThresholds |
Cached map of <channel ID, digital threshold> | |
std::map< size_t, OscilloscopeChannel::CouplingType > | m_channelCouplings |
Cached map of <channel ID, coupling> | |
std::map< size_t, double > | m_channelAttenuations |
Cached map of <channel ID, attenuation> | |
std::map< size_t, int > | m_channelBandwidthLimits |
Cached map of <channel ID, bandwidth limiter> | |
std::map< int, bool > | m_channelsEnabled |
Cached map of <channel ID, enable flag> | |
std::map< int, int64_t > | m_channelCenterFrequencies |
Cached map of <channel ID, center frequency> | |
bool | m_triggerChannelValid |
True if m_triggerChannel is valid, false if out of sync. | |
size_t | m_triggerChannel |
Index of the channel selected for triggering. | |
bool | m_sampleRateValid |
True if m_sampleRate is valid, false if out of sync. | |
uint64_t | m_sampleRate |
Acquisition sample rate, in samples/sec. | |
bool | m_sampleDepthValid |
True if m_sampleDepth is valid, false if out of sync. | |
uint64_t | m_sampleDepth |
Acquisition memory depth, in samples. | |
bool | m_triggerOffsetValid |
True if m_triggerOffset is valid, false if out of sync. | |
int64_t | m_triggerOffset |
Offset from start of wavefrom to trigger position. | |
bool | m_spanValid |
True if span is valid, false if out of sync. | |
int64_t | m_span |
Span value for frequency control. | |
std::map< size_t, int64_t > | m_channelDeskew |
std::map< size_t, ProbeType > | m_probeTypes |
std::map< size_t, std::string > | m_probeNames |
bool | m_rbwValid |
int64_t | m_rbw |
bool | m_dmmAutorangeValid |
bool | m_dmmAutorange |
bool | m_dmmChannelValid |
int | m_dmmChannel |
bool | m_dmmModeValid |
Multimeter::MeasurementTypes | m_dmmMode |
std::map< size_t, Unit > | m_channelUnits |
std::map< OscilloscopeChannel *, size_t > | m_flexChannelParents |
The analog channel for each flex channel. | |
std::map< OscilloscopeChannel *, size_t > | m_flexChannelLanes |
size_t | m_digitalChannelBase |
Starting index for digital channels. | |
size_t | m_digitalChannelCount |
Nuber of digital channels. | |
size_t | m_spectrumChannelBase |
Starting index for spectrum channels. | |
bool | m_triggerArmed |
True if trigger is armed, false if idle. | |
bool | m_triggerOneShot |
True if trigger is single or forced, false if continuous. | |
unsigned int | m_maxBandwidth |
Maximum bandwidth we support, in MHz. | |
enum TektronixOscilloscope::Family | m_family |
bool | m_hasDVM |
True if we have the DVM option installed. | |
std::set< size_t > | m_channelEnableStatusDirty |
True if this channel's status has changed (on/off) since the last time the trigger was armed. More... | |
bool | m_hasAFG |
True if we have the AFG option installed. | |
bool | m_afgEnabled |
True if the AFG is currently outputting a waveform. | |
float | m_afgAmplitude |
Amplitude of the AFG output, in volts. | |
float | m_afgOffset |
DC offset of the AFG output, in volts. | |
float | m_afgFrequency |
Frequency of the AFG output, in Hz. | |
float | m_afgDutyCycle |
Duty cycle of the AFG output (0-1) | |
FunctionGenerator::WaveShape | m_afgShape |
Waveform the AFG is outputting. | |
FunctionGenerator::OutputImpedance | m_afgImpedance |
Impedance selected for the AFG output. | |
![]() | |
bool | m_triggerArmed |
bool | m_triggerOneShot |
std::recursive_mutex | m_cacheMutex |
![]() | |
std::list< SequenceSet > | m_pendingWaveforms |
std::mutex | m_pendingWaveformsMutex |
std::recursive_mutex | m_mutex |
std::deque< std::string > | m_diagnosticLogMessages |
std::map< std::string, FilterParameter * > | m_diagnosticValues |
Trigger * | m_trigger |
WaveformPool | m_analogWaveformPool |
WaveformPool | m_digitalWaveformPool |
![]() | |
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 CreateMapType | m_createprocs |
![]() | |
static GeneratorCreateMapType | m_gencreateprocs |
![]() | |
static MeterCreateMapType | m_metercreateprocs |
Driver for the Tektronix HSI interface using an external bridge server (WIP)
TektronixHSIOscilloscope::TektronixHSIOscilloscope | ( | SCPITransport * | transport | ) |
Initialize the driver.
transport | SCPITwinLanTransport pointing at the bridge server |
|
overridevirtual |
Pull data from the instrument.
Reimplemented from TektronixOscilloscope.
|
overridevirtual |
Checks the curent trigger status.
Reimplemented from TektronixOscilloscope.
|
overridevirtual |
Starts the instrument in continuous trigger mode.
Most drivers will implement this as repeated calls to the "single trigger" function to avoid race conditions when the instrument triggers halfway through downloading captured waveforms.
Reimplemented from TektronixOscilloscope.
|
overridevirtual |
Arms the trigger for a single acquistion.
Reimplemented from TektronixOscilloscope.
|
overridevirtual |
Stops triggering.
Reimplemented from TektronixOscilloscope.