ngscopeclient 0.1-dev+51fbda87c
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LeCroyFWPOscilloscope Class Reference

A Teledyne LeCroy oscilloscope using the FastWavePort interface for download instead of SCPI. More...

#include <LeCroyFWPOscilloscope.h>

Inheritance diagram for LeCroyFWPOscilloscope:
Inheritance graph
[legend]
Collaboration diagram for LeCroyFWPOscilloscope:
Collaboration graph
[legend]

Public Member Functions

 LeCroyFWPOscilloscope (SCPITransport *transport)
 
 LeCroyFWPOscilloscope (const LeCroyFWPOscilloscope &rhs)=delete
 
LeCroyFWPOscilloscopeoperator= (const LeCroyFWPOscilloscope &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 EnableChannel (size_t i) override
 Turn a channel on, given the index. More...
 
virtual void DisableChannel (size_t i) override
 Turn a channel off, given the index. More...
 
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...
 
- Public Member Functions inherited from LeCroyOscilloscope
 LeCroyOscilloscope (SCPITransport *transport)
 
 LeCroyOscilloscope (const LeCroyOscilloscope &rhs)=delete
 
LeCroyOscilloscopeoperator= (const LeCroyOscilloscope &rhs)=delete
 
virtual std::string GetName () const override
 
virtual std::string GetVendor () const override
 
virtual std::string GetSerial () const override
 
virtual unsigned int GetInstrumentTypes () const override
 See what features we have. More...
 
virtual unsigned int GetMeasurementTypes () override
 See what measurement capabilities we have. 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 void FlushConfigCache () override
 Instruments are allowed to cache configuration settings to reduce round trip queries to the device. More...
 
void ForceHDMode (bool mode)
 Forces 16-bit transfer mode on/off when connecting to a scope regardless of ADC resolution.
 
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 OscilloscopeChannelGetExternalTrigger () 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...
 
virtual bool CanInvert (size_t i) override
 Checks if a channel is capable of hardware polarity inversion. More...
 
virtual void Invert (size_t i, bool invert) override
 Enables hardware polarity inversion for a channel, if supported. More...
 
virtual bool IsInverted (size_t i) override
 Checks if hardware polarity inversion is enabled for a channel. More...
 
virtual bool CanAutoZero (size_t i) override
 Determines if a channel has a probe connected which supports the "auto zero" feature. More...
 
virtual void AutoZero (size_t i) override
 Performs an "auto zero" 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 bool HasInputMux (size_t i) override
 Checks if a channel has an input multiplexer. More...
 
virtual size_t GetInputMuxSetting (size_t i) override
 Gets the setting for a channel's input mux (if it has one) More...
 
virtual std::vector< std::string > GetInputMuxNames (size_t i) override
 Gets names for the input mux ports of a channel. More...
 
virtual void SetInputMux (size_t i, size_t select) override
 Sets the input mux for a channel. More...
 
virtual bool CanAverage (size_t i) override
 Determines if the channel supports hardware averaging. More...
 
virtual size_t GetNumAverages (size_t i) override
 Returns the number of averages the channel is configured for. More...
 
virtual void SetNumAverages (size_t i, size_t navg) override
 Sets the number of hardware averages to use. More...
 
OscilloscopeChannelGetACLineTrigger ()
 
OscilloscopeChannelGetFastEdgeTrigger ()
 
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...
 
virtual void EnableTriggerOutput () override
 Enables the trigger output, configuring a shared auxiliary port for this purpose if needed. More...
 
virtual std::vector< std::string > GetTriggerTypes () override
 Gets a list of triggers this instrument supports. More...
 
bool IsCDRLocked ()
 Checks if the hardware CDR trigger is locked.
 
virtual int GetMeterChannelCount ()
 
virtual int GetCurrentMeterChannel () override
 
virtual void SetCurrentMeterChannel (int chan) override
 
virtual void StartMeter () override
 
virtual void StopMeter () override
 
virtual void SetMeterAutoRange (bool enable) override
 
virtual bool GetMeterAutoRange () override
 
virtual double GetMeterValue () override
 Get the value of the primary measurement. More...
 
virtual Multimeter::MeasurementTypes GetMeterMode () override
 
virtual void SetMeterMode (Multimeter::MeasurementTypes type) override
 
virtual int GetMeterDigits () override
 Returns the digit resolution of the meter. More...
 
virtual std::vector< WaveShapeGetAvailableWaveformShapes (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 FunctionGenerator::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 float GetFunctionChannelRiseTime (int chan) override
 Gets the rise time for a function generator output (if supported) More...
 
virtual void SetFunctionChannelRiseTime (int chan, float fs) override
 Sets the rise time for a function generator output (if supported) More...
 
virtual float GetFunctionChannelFallTime (int chan) override
 Gets the fall time for a function generator output (if supported) More...
 
virtual void SetFunctionChannelFallTime (int chan, float fs) override
 Sets the fall time for a function generator output (if supported) 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...
 
Model GetModelID ()
 
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< InterleaveConflictGetInterleaveConflicts () 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 SetUseExternalRefclk (bool external) override
 Configures the instrument's clock source. 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 bool IsSamplingModeAvailable (SamplingMode mode) override
 Returns true if the requested sampling mode is available with the current instrument configuration. More...
 
virtual SamplingMode GetSamplingMode () override
 Gets the current sampling mode of the instrument. More...
 
virtual void SetSamplingMode (SamplingMode mode) override
 Sets the current sampling mode of the instrument. More...
 
bool HasDBICapability ()
 
bool IsDBIEnabled (size_t channel)
 
virtual void SetTriggerOffset (int64_t offset) override
 Sets the trigger offset. More...
 
virtual int64_t GetTriggerOffset () override
 Gets the trigger offset. 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 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 bool IsADCModeConfigurable () override
 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) override
 Gets the names of the ADC modes for the bank a given channel is located in. More...
 
virtual size_t GetADCMode (size_t channel) override
 Gets the ADC mode for a channel. More...
 
virtual void SetADCMode (size_t channel, size_t mode) override
 Sets the ADC mode for a channel. More...
 
- Public Member Functions inherited from SCPIOscilloscope
virtual std::string IDPing ()
 Returns the instrument's identification string. More...
 
- Public Member Functions inherited from Oscilloscope
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...
 
OscilloscopeChannelGetOscilloscopeChannel (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...
 
OscilloscopeChannelGetOscilloscopeChannelByHwName (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 OscilloscopeChannelGetExternalTrigger ()=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...
 
TriggerGetTrigger (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< InterleaveConflictGetInterleaveConflicts ()=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)
 
- Public Member Functions inherited from Instrument
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.
 
InstrumentChannelGetChannel (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...
 
InstrumentChannelGetChannelByDisplayName (const std::string &name)
 Gets a channel given the display name.
 
InstrumentChannelGetChannelByHwName (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...
 
- Public Member Functions inherited from SCPIInstrument
 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
 
- Public Member Functions inherited from SCPIDevice
 SCPIDevice (SCPITransport *transport, bool identify=true)
 
SCPITransportGetTransport () const
 
- Public Member Functions inherited from Multimeter
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...
 
- Public Member Functions inherited from FunctionGenerator
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< WaveShapeGetAvailableWaveformShapes (int chan)=0
 Query the set of available pre-defined waveforms for this generator. More...
 

Static Public Member Functions

static std::string GetDriverNameInternal ()
 
- Static Public Member Functions inherited from LeCroyOscilloscope
static time_t ExtractTimestamp (unsigned char *wavedesc, double &basetime)
 
static std::string GetDriverNameInternal ()
 
- Static Public Member Functions inherited from Oscilloscope
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< OscilloscopeCreateOscilloscope (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from SCPIMultimeter
static void DoAddDriverClass (std::string name, MeterCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPIMultimeterCreateMultimeter (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from SCPIFunctionGenerator
static void DoAddDriverClass (std::string name, GeneratorCreateProcType proc)
 
static void EnumDrivers (std::vector< std::string > &names)
 
static std::shared_ptr< SCPIFunctionGeneratorCreateFunctionGenerator (std::string driver, SCPITransport *transport)
 
- Static Public Member Functions inherited from FunctionGenerator
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...
 

Protected Member Functions

void SendEnableMask ()
 
- Protected Member Functions inherited from LeCroyOscilloscope
void IdentifyHardware ()
 
void SharedCtorInit ()
 
virtual void DetectAnalogChannels ()
 Figures out how many analog channels we have, and add them to the device. More...
 
void AddDigitalChannels (unsigned int count)
 Creates digital channels for the oscilloscope.
 
void DetectOptions ()
 
void Pull8b10bTrigger ()
 Reads settings for an 8B/10B trigger from the instrument.
 
void Pull64b66bTrigger ()
 Reads settings for a 64b66b pattern trigger from the instrument.
 
void PullNRZTrigger ()
 Reads settings for an NRZ pattern trigger from the instrument.
 
void PullDropoutTrigger ()
 Reads settings for a dropout trigger from the instrument.
 
void PullEdgeTrigger ()
 Reads settings for an edge trigger from the instrument.
 
void PullGlitchTrigger ()
 Reads settings for a glitch trigger from the instrument.
 
void PullPulseWidthTrigger ()
 Reads settings for an edge trigger from the instrument.
 
void PullRuntTrigger ()
 Reads settings for a runt-pulse trigger from the instrument.
 
void PullSlewRateTrigger ()
 Reads settings for a slew rate trigger from the instrument.
 
void PullUartTrigger ()
 Reads settings for a UART trigger from the instrument.
 
void PullWindowTrigger ()
 Reads settings for a window trigger from the instrument.
 
void PullTriggerSource (Trigger *trig)
 Reads the source of a trigger from the instrument.
 
void GetTriggerSlope (EdgeTrigger *trig, std::string reply)
 Processes the slope for an edge or edge-derived trigger.
 
Trigger::Condition GetCondition (std::string reply)
 Parses a trigger condition.
 
void Push8b10bTrigger (CDR8B10BTrigger *trig)
 Pushes settings for an 8B/10B trigger to the instrument.
 
void PushNRZTrigger (CDRNRZPatternTrigger *trig)
 Pushes settings for a NRZ pattern trigger to the instrument.
 
void PushDropoutTrigger (DropoutTrigger *trig)
 Pushes settings for a dropout trigger to the instrument.
 
void PushEdgeTrigger (EdgeTrigger *trig, const std::string &tree)
 Pushes settings for an edge trigger to the instrument.
 
void PushGlitchTrigger (GlitchTrigger *trig)
 Pushes settings for a glitch trigger to the instrument.
 
void PushCondition (const std::string &path, Trigger::Condition cond)
 Pushes settings for a trigger condition under a .Condition field.
 
void PushPatternCondition (const std::string &path, Trigger::Condition cond)
 Pushes settings for a trigger condition under a .PatternOperator field.
 
void PushFloat (std::string path, float f)
 
void PushPulseWidthTrigger (PulseWidthTrigger *trig)
 Pushes settings for a pulse width trigger to the instrument.
 
void PushRuntTrigger (RuntTrigger *trig)
 Pushes settings for a runt trigger to the instrument.
 
void PushSlewRateTrigger (SlewRateTrigger *trig)
 Pushes settings for a slew rate trigger to the instrument.
 
void PushUartTrigger (UartTrigger *trig)
 Pushes settings for a UART trigger to the instrument.
 
void PushWindowTrigger (WindowTrigger *trig)
 Pushes settings for a window trigger to the instrument.
 
void OnCDRTriggerAutoBaud ()
 Automatic baud rate configuration.
 
void BulkCheckChannelEnableState ()
 Optimized function for checking channel enable status en masse with less round trips to the scope.
 
std::string GetPossiblyEmptyString (const std::string &property)
 Get an.
 
bool ReadWaveformBlock (std::string &data)
 
bool ReadWavedescs (std::vector< std::string > &wavedescs, bool *enabled, unsigned int &firstEnabledChannel, bool &any_enabled)
 
void RequestWaveforms (bool *enabled, uint32_t num_sequences, bool denabled)
 
std::vector< WaveformBase * > ProcessAnalogWaveform (const char *data, size_t datalen, std::string &wavedesc, uint32_t num_sequences, time_t ttime, double basetime, double *wavetime)
 
std::map< int, SparseDigitalWaveform * > ProcessDigitalWaveform (std::string &data, int64_t analog_hoff)
 
- Protected Member Functions inherited from Oscilloscope
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)
 
UniformAnalogWaveformAllocateAnalogWaveform (const std::string &name)
 
SparseDigitalWaveformAllocateDigitalWaveform (const std::string &name)
 
- Protected Member Functions inherited from SCPIInstrument
void DoSerializeConfiguration (YAML::Node &node, IDTable &table)
 
- Protected Member Functions inherited from Multimeter
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.
 
- Protected Member Functions inherited from FunctionGenerator
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...
 

Protected Attributes

bool m_fallback
 Indicates we're operating in fallback mode (FWP wasn't available for some reason)
 
Socket m_socket
 
- Protected Attributes inherited from LeCroyOscilloscope
unsigned int m_analogChannelCount
 
unsigned int m_digitalChannelCount
 
size_t m_digitalChannelBase
 
Model m_modelid
 
bool m_hasLA
 
bool m_hasDVM
 
bool m_hasFunctionGen
 
bool m_hasFastSampleRate
 
int m_memoryDepthOption
 
bool m_hasI2cTrigger
 
bool m_hasSpiTrigger
 
bool m_hasUartTrigger
 
bool m_has8b10bTrigger
 
bool m_hasNrzTrigger
 
bool m_hasXdev
 
unsigned int m_maxBandwidth
 Maximum bandwidth we support, in MHz.
 
bool m_triggerArmed
 True if we have sent an arm command to the scope (may not have executed yet)
 
bool m_triggerReallyArmed
 True if the scope has reported it is in fact in the arm state.
 
bool m_triggerOneShot
 True if current trigger is a single-shot and should not re-arm.
 
std::map< size_t, float > m_channelVoltageRanges
 
std::map< size_t, float > m_channelOffsets
 
std::map< size_t, float > m_channelDigitalThresholds
 
std::map< size_t, size_t > m_channelNavg
 
std::map< int, bool > m_channelsEnabled
 
bool m_sampleRateValid
 
int64_t m_sampleRate
 
bool m_memoryDepthValid
 
int64_t m_memoryDepth
 
bool m_triggerOffsetValid
 
int64_t m_triggerOffset
 
std::map< size_t, int64_t > m_channelDeskew
 
bool m_interleaving
 
bool m_interleavingValid
 
Multimeter::MeasurementTypes m_meterMode
 
bool m_meterModeValid
 
std::map< size_t, bool > m_probeIsActive
 
bool m_highDefinition
 
OscilloscopeChannelm_extTrigChannel
 External trigger input.
 
OscilloscopeChannelm_acLineChannel
 Internal "AC line" trigger source.
 
OscilloscopeChannelm_fastEdgeChannel
 Internal "fast edge" trigger source.
 
FunctionGeneratorChannelm_awgChannel
 
std::vector< OscilloscopeChannel * > m_digitalChannels
 
- Protected Attributes inherited from SCPIOscilloscope
bool m_triggerArmed
 
bool m_triggerOneShot
 
std::recursive_mutex m_cacheMutex
 
- Protected Attributes inherited from Oscilloscope
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
 
Triggerm_trigger
 
WaveformPool m_analogWaveformPool
 
WaveformPool m_digitalWaveformPool
 
- Protected Attributes inherited from Instrument
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.
 
- Protected Attributes inherited from SCPIDevice
SCPITransportm_transport
 
std::string m_vendor
 
std::string m_model
 
std::string m_serial
 
std::string m_fwVersion
 

Additional Inherited Members

- Public Types inherited from LeCroyOscilloscope
enum  Model {
  MODEL_DDA_5K , MODEL_HDO_4KA , MODEL_HDO_6KA , MODEL_HDO_9K ,
  MODEL_LABMASTER_ZI_A , MODEL_MDA_800 , MODEL_SDA_3K , MODEL_SDA_8ZI ,
  MODEL_SDA_8ZI_A , MODEL_SDA_8ZI_B , MODEL_WAVEMASTER_8ZI , MODEL_WAVEMASTER_8ZI_A ,
  MODEL_WAVEMASTER_8ZI_B , MODEL_WAVEPRO_HD , MODEL_WAVERUNNER_8K , MODEL_WAVERUNNER_8K_HD ,
  MODEL_WAVERUNNER_9K , MODEL_WAVESURFER_3K , MODEL_UNKNOWN
}
 
- Public Types inherited from Oscilloscope
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 *)
 
- Public Types inherited from Instrument
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
}
 
- Public Types inherited from SCPIMultimeter
typedef std::shared_ptr< SCPIMultimeter >(* MeterCreateProcType) (SCPITransport *)
 
- Public Types inherited from Multimeter
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
}
 
- Public Types inherited from SCPIFunctionGenerator
typedef std::shared_ptr< SCPIFunctionGenerator >(* GeneratorCreateProcType) (SCPITransport *)
 
- Public Types inherited from FunctionGenerator
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...
 
- Public Attributes inherited from Instrument
std::string m_nickname
 Optional user-selected nickname of the instrument. More...
 
- Protected Types inherited from Oscilloscope
typedef std::map< StreamDescriptor, WaveformBase * > SequenceSet
 
typedef std::map< std::string, CreateProcType > CreateMapType
 
- Protected Types inherited from SCPIMultimeter
typedef std::map< std::string, MeterCreateProcType > MeterCreateMapType
 
- Protected Types inherited from SCPIFunctionGenerator
typedef std::map< std::string, GeneratorCreateProcType > GeneratorCreateMapType
 
- Static Protected Attributes inherited from Oscilloscope
static CreateMapType m_createprocs
 
- Static Protected Attributes inherited from SCPIMultimeter
static MeterCreateMapType m_metercreateprocs
 
- Static Protected Attributes inherited from SCPIFunctionGenerator
static GeneratorCreateMapType m_gencreateprocs
 

Detailed Description

A Teledyne LeCroy oscilloscope using the FastWavePort interface for download instead of SCPI.

Requires the instrument to have the XDEV option installed, and scopehal-fwp-bridge running

Member Function Documentation

◆ AcquireData()

bool LeCroyFWPOscilloscope::AcquireData ( )
overridevirtual

Pull data from the instrument.

Returns
True if waveform was acquired, false if connection lost or other serious error

Reimplemented from LeCroyOscilloscope.

◆ DisableChannel()

void LeCroyFWPOscilloscope::DisableChannel ( size_t  i)
overridevirtual

Turn a channel off, given the index.

This function may optionally configure channel interleaving, if supported in hardware.

Parameters
iZero-based index of channel

Reimplemented from LeCroyOscilloscope.

◆ EnableChannel()

void LeCroyFWPOscilloscope::EnableChannel ( size_t  i)
overridevirtual

Turn a channel on, given the index.

Parameters
iZero-based index of channel

Reimplemented from LeCroyOscilloscope.

◆ GetSampleDepthsInterleaved()

vector< uint64_t > LeCroyFWPOscilloscope::GetSampleDepthsInterleaved ( )
overridevirtual

Get the legal memory depths for this scope in combined-channels mode.

Reimplemented from LeCroyOscilloscope.

◆ GetSampleDepthsNonInterleaved()

vector< uint64_t > LeCroyFWPOscilloscope::GetSampleDepthsNonInterleaved ( )
overridevirtual

Get the legal memory depths for this scope in all-channels mode.

Reimplemented from LeCroyOscilloscope.

◆ PollTrigger()

Oscilloscope::TriggerMode LeCroyFWPOscilloscope::PollTrigger ( )
overridevirtual

Checks the curent trigger status.

Reimplemented from LeCroyOscilloscope.

◆ Start()

void LeCroyFWPOscilloscope::Start ( )
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 LeCroyOscilloscope.


The documentation for this class was generated from the following files: