ngscopeclient 0.1-dev+51fbda87c
|
Input channel for a BERT that also supports CDR logic analyzer (raw serial bitstream capture) mode. More...
#include <BERTInputChannelWithDataCapture.h>
Public Types | |
enum | DataStreamIDs { STREAM_CDR_CAPTURE = 4 , STREAM_CDR_RECCLK = 5 } |
Stream IDs for waveform capture. More... | |
![]() | |
enum | StreamIDs { STREAM_HBATHTUB = 0 , STREAM_EYE = 1 , STREAM_BER = 2 , STREAM_MASKHITRATE = 3 } |
Well known indexes of output streams. More... | |
![]() | |
enum | CouplingType { COUPLE_DC_1M , COUPLE_AC_1M , COUPLE_DC_50 , COUPLE_AC_50 , COUPLE_GND , COUPLE_SYNTHETIC } |
![]() | |
enum | PhysicalConnector { CONNECTOR_BANANA_DUAL , CONNECTOR_BMA , CONNECTOR_BNC , CONNECTOR_K , CONNECTOR_K_DUAL , CONNECTOR_N , CONNECTOR_SMA } |
enum | VisibilityMode { VIS_HIDE , VIS_AUTO , VIS_SHOW } |
Selects how the channel should be displayed in e.g. the ngscopeclient filter graph editor. | |
enum | DownloadState { DOWNLOAD_UNKNOWN , DOWNLOAD_NONE , DOWNLOAD_WAITING , DOWNLOAD_IN_PROGRESS , DOWNLOAD_FINISHED } |
Enum values to be mapped to GetDownloadState() int result value for specific channel download states. More... | |
![]() | |
enum | DataLocation { LOC_CPU , LOC_GPU , LOC_DONTCARE } |
typedef std::map< std::string, FilterParameter > | ParameterMapType |
Short name for a map of strings to parameters. | |
Public Member Functions | |
BERTInputChannelWithDataCapture (const std::string &hwname, std::weak_ptr< BERT > bert, const std::string &color="#808080", size_t index=0) | |
Initialize the channel. More... | |
![]() | |
BERTInputChannel (const std::string &hwname, std::weak_ptr< BERT > bert, const std::string &color="#808080", size_t index=0) | |
Initialize the channel. More... | |
virtual void | Refresh (vk::raii::CommandBuffer &cmdBuf, std::shared_ptr< QueueHandle > queue) override |
virtual bool | ValidateChannel (size_t i, StreamDescriptor stream) override |
std::weak_ptr< BERT > | GetBERT () const |
Get the BERT we're part of. | |
bool | GetInvert () |
Get the polarity inversion state. | |
void | SetInvert (bool invert) |
Set the polarity inversion state. More... | |
bool | GetCdrLockState () |
Check if the CDR is currently locked. | |
void | SetPattern (BERT::Pattern pattern) |
Set the pattern this channel is expecting to see. More... | |
BERT::Pattern | GetPattern () |
Get the pattern this channel is expecting to see. | |
std::vector< BERT::Pattern > | GetAvailablePatterns () |
Get a list of all patterns this channel knows how to match. | |
int64_t | GetScanDepth () |
Gets the currently selected integration depth for eye / bathtub scans. More... | |
std::vector< int64_t > | GetScanDepths () |
Gets the available integration depths for eye / bathtub scans. | |
void | SetScanDepth (int64_t depth) |
Sets the currently selected integration depth for eye / bathtub scans. More... | |
StreamDescriptor | GetHBathtubStream () |
Gets the stream for the horizontal bathtub output. | |
StreamDescriptor | GetEyeStream () |
Gets the stream for the eye pattern output. | |
StreamDescriptor | GetBERStream () |
Gets the stream for the realtime BER output. | |
bool | HasCTLE () |
Returns true if the channel has a CTLE on the input. | |
std::vector< float > | GetCTLEGainSteps () |
Get the set of available gain steps for the CTLE, in dB. | |
size_t | GetCTLEGainStep () |
Gets the currently selected CTLE gain step. More... | |
void | SetCTLEGainStep (size_t step) |
Sets the gain for the CTLE. More... | |
void | SetBERSamplingPoint (int64_t dx, float dy) |
Sets the sampling location for real time offset BER measurements. More... | |
void | GetBERSamplingPoint (int64_t &dx, float &dy) |
Gets the sampling location for real time offset BER measurements. More... | |
int64_t | GetDataRate () |
Gets the data rate of this channel, in symbols per second. | |
void | SetDataRate (int64_t rate) |
Sets the data rate of this channel, in symbols per second. More... | |
std::string | GetMaskFile () |
Gets the path of the mask file for pass/fail testing (if any) | |
void | SetMaskFile (const std::string &fname) |
Sets the path of the mask file for pass/fail testing. More... | |
EyeMask & | GetMask () |
Gets the EyeMask being used for pass/fail testing (may be blank) | |
virtual PhysicalConnector | GetPhysicalConnector () override |
int64_t | GetExpectedBathtubCaptureTime () |
Estimate the time needed to capture a bathtub curve with the current settings. More... | |
int64_t | GetExpectedEyeCaptureTime () |
Estimate the time needed to capture an eye pattern with the current settings. More... | |
bool | IsEyeScanInProgress () |
Check if an eye scan is currently executing. More... | |
float | GetScanProgress () |
Returns an estimate of the current scan progress (if an eye or bathtub scan is executing) More... | |
bool | IsHBathtubScanInProgress () |
Check if a bathtub scan is currently executing. More... | |
virtual void | ClearStreams () override |
Clears out any existing streams. More... | |
virtual size_t | AddStream (Unit yunit, const std::string &name, Stream::StreamType stype, uint8_t flags=0) override |
Adds a new data stream to the channel. More... | |
virtual float | GetVoltageRange (size_t stream) override |
virtual void | SetVoltageRange (float range, size_t stream) override |
virtual float | GetOffset (size_t stream) override |
virtual void | SetOffset (float offset, size_t stream) override |
![]() | |
OscilloscopeChannel (Oscilloscope *scope, const std::string &hwname, const std::string &color, Unit xunit=Unit(Unit::UNIT_FS), size_t index=0) | |
OscilloscopeChannel (Oscilloscope *scope, const std::string &hwname, const std::string &color, Unit xunit=Unit(Unit::UNIT_FS), Unit yunit=Unit(Unit::UNIT_VOLTS), Stream::StreamType stype=Stream::STREAM_TYPE_ANALOG, size_t index=0) | |
Oscilloscope * | GetScope () |
size_t | GetRefCount () |
virtual void | SetDisplayName (std::string name) override |
Sets the human-readable nickname for this channel, as displayed in the GUI. More... | |
virtual std::string | GetDisplayName () override |
Gets the human-readable nickname for this channel, as displayed in the GUI. More... | |
bool | IsEnabled () |
void | Enable () |
void | Disable () |
virtual void | AddRef () |
virtual void | Release () |
virtual CouplingType | GetCoupling () |
virtual void | SetCoupling (CouplingType type) |
virtual std::vector< OscilloscopeChannel::CouplingType > | GetAvailableCouplings () |
virtual double | GetAttenuation () |
virtual void | SetAttenuation (double atten) |
virtual int | GetBandwidthLimit () |
virtual void | SetBandwidthLimit (int mhz) |
virtual void | SetDeskew (int64_t skew) |
virtual int64_t | GetDeskew () |
bool | IsPhysicalChannel () |
virtual float | GetVoltageRange (size_t stream) |
virtual void | SetVoltageRange (float range, size_t stream) |
virtual float | GetOffset (size_t stream) |
virtual void | SetOffset (float offset, size_t stream) |
void | SetDigitalHysteresis (float level) |
void | SetDigitalThreshold (float level) |
void | SetCenterFrequency (int64_t freq) |
bool | CanAutoZero () |
void | AutoZero () |
bool | CanDegauss () |
void | Degauss () |
std::string | GetProbeName () |
virtual bool | CanInvert () |
virtual void | Invert (bool invert) |
virtual bool | IsInverted () |
virtual bool | HasInputMux () |
virtual size_t | GetInputMuxSetting () |
virtual void | SetInputMux (size_t select) |
void | SetDefaultDisplayName () |
Gives a channel a default display name if there's not one already. More... | |
virtual DownloadState | GetDownloadState () override |
Returns the current download state of this channel. More... | |
virtual float | GetDownloadProgress () override |
returns the current completion of the download (on the range [0, 1]), if not DOWNLOAD_UNKNOWN More... | |
virtual double | GetDownloadStartTime () override |
returns the start time of a download, if we are DOWNLOAD_IN_PROGRESS; undefined, otherwise More... | |
![]() | |
InstrumentChannel (Instrument *inst, const std::string &hwname, const std::string &color="#808080", Unit xunit=Unit(Unit::UNIT_FS), size_t index=0) | |
InstrumentChannel (Instrument *inst, const std::string &hwname, const std::string &color="#808080", Unit xunit=Unit(Unit::UNIT_FS), Unit yunit=Unit(Unit::UNIT_VOLTS), Stream::StreamType stype=Stream::STREAM_TYPE_ANALOG, size_t index=0) | |
virtual void | SetDisplayName (std::string name) |
Sets the human-readable nickname for this channel, as displayed in the GUI. More... | |
virtual std::string | GetDisplayName () |
Gets the human-readable nickname for this channel, as displayed in the GUI. More... | |
std::string | GetHwname () |
Gets the hardware name of the channel (m_hwname) | |
size_t | GetIndex () |
Gets the (zero based) index of the channel. | |
Instrument * | GetInstrument () |
Gets the instrument this channel is part of (if any) | |
void | ClearCachedDisplayName () |
Sets the display name to an empty string, causing a fetch from hardware. More... | |
virtual PhysicalConnector | GetPhysicalConnector () |
void | SetData (WaveformBase *pNew, size_t stream) |
Sets the waveform data for a given stream, replacing any previous waveform. More... | |
virtual Unit | GetXAxisUnits () |
Returns the X axis unit for this channel. | |
virtual Unit | GetYAxisUnits (size_t stream) |
Returns the Y axis unit for a specified stream. | |
virtual void | SetXAxisUnits (const Unit &rhs) |
Changes the X axis unit for this channel. More... | |
virtual void | SetYAxisUnits (const Unit &rhs, size_t stream) |
Changes the X axis unit for a specified stream. More... | |
Stream::StreamType | GetType (size_t stream) |
Returns the type of a specified stream. | |
size_t | GetStreamCount () |
Get the number of data streams. | |
std::string | GetStreamName (size_t stream) |
Gets the name of a stream (for display in the UI) | |
WaveformBase * | GetData (size_t stream) |
Get the contents of a data stream. | |
uint8_t | GetStreamFlags (size_t stream) |
Get the flags of a data stream. | |
float | GetScalarValue (size_t stream) |
Gets the value of a scalar data stream. | |
void | SetScalarValue (size_t stream, float value) |
Sets the value of a scalar data stream. | |
WaveformBase * | Detach (size_t stream) |
Detach the capture data from this channel. More... | |
virtual bool | ShouldPersistWaveform () |
Determine whether the channel's waveform(s) should be persisted to a session file. More... | |
virtual DownloadState | GetDownloadState () |
Returns the current download state of this channel. More... | |
virtual float | GetDownloadProgress () |
returns the current completion of the download (on the range [0, 1]), if not DOWNLOAD_UNKNOWN More... | |
virtual double | GetDownloadStartTime () |
returns the start time of a download, if we are DOWNLOAD_IN_PROGRESS; undefined, otherwise More... | |
![]() | |
void | DetachInputs () |
Disconnects all inputs from the node without releasing them. More... | |
size_t | GetInputCount () |
std::string | GetInputName (size_t i) |
void | SetInput (size_t i, StreamDescriptor stream, bool force=false) |
Connects a stream to the input of this node. More... | |
void | SetInput (const std::string &name, StreamDescriptor stream, bool force=false) |
virtual bool | ValidateChannel (size_t i, StreamDescriptor stream) |
StreamDescriptor | GetInput (size_t i) |
Gets the descriptor for one of our inputs. | |
FilterParameter & | GetParameter (std::string s) |
bool | HasParameter (std::string s) |
Checks if we have a parameter with a given name. More... | |
ParameterMapType::iterator | GetParamBegin () |
Returns an iterator to the beginning of our parameter map. | |
ParameterMapType::iterator | GetParamEnd () |
Returns an iterator to the end of our parameter map. | |
size_t | GetParamCount () |
Returns the number of parameter we have. | |
virtual YAML::Node | SerializeConfiguration (IDTable &table) |
Serializes this trigger's configuration to a YAML string. More... | |
virtual void | LoadParameters (const YAML::Node &node, IDTable &table) |
Load configuration from a save file. More... | |
virtual void | LoadInputs (const YAML::Node &node, IDTable &table) |
bool | IsDownstreamOf (std::set< FlowGraphNode * > nodes) |
Determines if this node is downstream of any of the specified other nodes. More... | |
virtual DataLocation | GetInputLocation () |
Gets the desired location of the nodes's input data. More... | |
virtual void | Refresh () |
Evaluates a filter graph node. More... | |
virtual void | Refresh (vk::raii::CommandBuffer &cmdBuf, std::shared_ptr< QueueHandle > queue) |
sigc::signal< void()> | signal_parametersChanged () |
sigc::signal< void()> | signal_inputsChanged () |
Additional Inherited Members | |
![]() | |
std::string | m_displaycolor |
Display color (HTML hex notation with optional alpha channel: #RRGGBB or ##RRGGBBAA) | |
enum InstrumentChannel::VisibilityMode | m_visibilityMode |
![]() | |
void | SharedCtorInit (Unit unit) |
virtual void | ClearStreams () |
Clears out any existing streams. More... | |
virtual size_t | AddStream (Unit yunit, const std::string &name, Stream::StreamType stype, uint8_t flags=0) |
Adds a new data stream to the channel. More... | |
![]() | |
virtual void | OnInputChanged (size_t i) |
Called when a new input is connected to the node. More... | |
WaveformBase * | GetInputWaveform (size_t i) |
Gets the waveform attached to the specified input. More... | |
SparseAnalogWaveform * | GetSparseAnalogInputWaveform (size_t i) |
Gets the analog waveform attached to the specified input. | |
UniformAnalogWaveform * | GetUniformAnalogInputWaveform (size_t i) |
Gets the analog waveform attached to the specified input. | |
SparseDigitalWaveform * | GetSparseDigitalInputWaveform (size_t i) |
Gets the digital waveform attached to the specified input. | |
UniformDigitalWaveform * | GetUniformDigitalInputWaveform (size_t i) |
Gets the digital waveform attached to the specified input. | |
SparseDigitalBusWaveform * | GetSparseDigitalBusInputWaveform (size_t i) |
Gets the digital bus waveform attached to the specified input. | |
void | CreateInput (const std::string &name) |
Creates and names an input signal. | |
std::string | GetInputDisplayName (size_t i) |
Gets the display name for one of our inputs. More... | |
![]() | |
std::vector< float > | m_ranges |
Voltage range of each stream. | |
std::vector< float > | m_offsets |
Vertical offset of each stream. | |
std::string | m_maskFile |
Path to the YAML file, if any, that m_mask was loaded from. | |
EyeMask | m_mask |
Eye mask used for pass/fail testing. | |
std::weak_ptr< BERT > | m_bert |
Pointer to the parent instrument. More... | |
![]() | |
size_t | m_refcount |
Number of references (channel is disabled when last ref is released) | |
![]() | |
Instrument * | m_instrument |
The instrument we're part of (may be null in the case of filters etc) | |
std::string | m_hwname |
Hardware name of the channel. More... | |
std::string | m_displayname |
Display name (user defined, defaults to m_hwname). More... | |
size_t | m_index |
Zero based index of the channel within the instrument. | |
Unit | m_xAxisUnit |
Unit of measurement for our horizontal axis (common to all streams) | |
std::vector< Stream > | m_streams |
Configuration data for each of our output streams. | |
![]() | |
std::vector< std::string > | m_signalNames |
Names of signals we take as input. | |
std::vector< StreamDescriptor > | m_inputs |
The channel (if any) connected to each of our inputs. | |
ParameterMapType | m_parameters |
sigc::signal< void()> | m_parametersChangedSignal |
Signal emitted when the set of parameters changes. | |
sigc::signal< void()> | m_inputsChangedSignal |
Signal emitted when the set of inputs changes. | |
Input channel for a BERT that also supports CDR logic analyzer (raw serial bitstream capture) mode.
Stream IDs for waveform capture.
Enumerator | |
---|---|
STREAM_CDR_CAPTURE | Data capture waveform. |
STREAM_CDR_RECCLK | Recovered clock waveform. |
BERTInputChannelWithDataCapture::BERTInputChannelWithDataCapture | ( | const std::string & | hwname, |
std::weak_ptr< BERT > | bert, | ||
const std::string & | color = "#808080" , |
||
size_t | index = 0 |
||
) |
Initialize the channel.
hwname | Hardware name of the channel |
bert | BERT the channel is part of |
color | Initial display color of the channel |
index | Number of the channel |