|
ngscopeclient v0.1
|
A filter that takes a set of S-parameters as input and outputs another set of S-parameters. More...
#include <SParameterFilter.h>


Public Member Functions | |
| SParameterFilter (const std::string &color, Category cat) | |
| virtual bool | ValidateChannel (size_t i, StreamDescriptor stream) |
Public Member Functions inherited from SParameterSourceFilter | |
| SParameterSourceFilter (const std::string &color, Category cat) | |
| virtual bool | NeedsConfig () |
| Determines if we need to display the configuration / setup dialog. More... | |
| const SParameters & | GetParams () const |
Public Member Functions inherited from Filter | |
| Filter (const std::string &color, Category cat, Unit xunit=Unit::UNIT_FS) | |
| void | HideFromList () |
| Removes this filter from the global list. 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... | |
| void | AddProtocolStream (const std::string &name) |
| Helper method for constructors that adds a new STREAM_TYPE_PROTOCOL output stream. More... | |
| void | AddDigitalStream (const std::string &name) |
| Helper method for constructors that adds a new STREAM_TYPE_DIGITAL output stream. More... | |
| virtual void | SetDefaultName () |
| Sets the name of a filter based on its inputs. More... | |
| void | UseDefaultName (bool use) |
| Specifies whether we're using an auto-generated name or not. More... | |
| bool | IsUsingDefaultName () |
| Return true if we're using an autogenerated name, false if customized. | |
| virtual void | AddRef () override |
| virtual void | Release () override |
| size_t | GetRefCount () |
| Returns the current reference count. | |
| Category | GetCategory () |
| Returns the category for displaying this filter in the browser. | |
| virtual bool | NeedsConfig () |
| Determines if we need to display the configuration / setup dialog. More... | |
| virtual std::string | GetProtocolDisplayName ()=0 |
| Gets the display name of this protocol (for use in menus, save files, etc). Must be unique. | |
| virtual void | ClearSweeps () |
| Clears any integrated data from past triggers (e.g. eye patterns). More... | |
| virtual void | Refresh () override |
| Evaluates a filter graph node. More... | |
| virtual void | Refresh (vk::raii::CommandBuffer &cmdBuf, std::shared_ptr< QueueHandle > queue) override |
| virtual void | AutoscaleVertical (size_t stream) |
| Adjusts gain and offset such that the active waveform occupies the entire vertical area of the plot. | |
| 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 |
| virtual YAML::Node | SerializeConfiguration (IDTable &table) override |
| Serializes this trigger's configuration to a YAML string. More... | |
| virtual void | LoadParameters (const YAML::Node &node, IDTable &table) override |
| Load configuration from a save file. More... | |
| virtual void | LoadInputs (const YAML::Node &node, IDTable &table) override |
| virtual bool | ShouldPersistWaveform () override |
| Determine whether the channel's waveform(s) should be persisted to a session file. More... | |
| template<class T > | |
| __attribute__ ((noinline)) static float InterpolateTime(T *cap | |
| Interpolates the actual time of a threshold crossing between two samples. More... | |
| if ((ag &&bg)||(!ag &&!bg)) return 0 | |
| template<class T > | |
| __attribute__ ((noinline)) static void GetMinMaxVoltage(T *cap | |
| Gets the lowest and highest voltage of a waveform. | |
| for (float f :cap->m_samples) | |
| template<class T > | |
| __attribute__ ((noinline)) static float GetMinVoltage(T *cap) | |
| Gets the lowest voltage of a waveform. | |
| template<class T > | |
| __attribute__ ((noinline)) static float GetMaxVoltage(T *cap) | |
| Gets the highest voltage of a waveform. | |
| template<class T > | |
| __attribute__ ((noinline)) static float GetBaseVoltage(T *cap) | |
| Gets the most probable "0" level for a digital waveform. | |
| template<class T > | |
| __attribute__ ((noinline)) static float GetTopVoltage(T *cap) | |
| Gets the most probable "1" level for a digital waveform. | |
| template<class T > | |
| __attribute__ ((noinline)) static float GetAvgVoltage(T *cap) | |
| Gets the average voltage of a waveform. | |
| template<class T > | |
| __attribute__ ((noinline)) static std | |
| Makes a histogram from a waveform with the specified number of bins. More... | |
| template<class T > | |
| __attribute__ ((noinline)) static std | |
| Makes a histogram from a waveform with the specified number of bins. More... | |
| template<class T , class R , class S > | |
| __attribute__ ((noinline)) static void SampleOnAnyEdges(T *data | |
| Samples a waveform on all edges of a clock. More... | |
| AssertSampleTypesAreSame (data, &samples) | |
| samples | clear () |
| samples | SetGpuAccessHint (AcceleratorBuffer< S >::HINT_NEVER) |
| if (dynamic_cast< SparseDigitalWaveform * >(clock) !=nullptr) | |
| samples | PrepareForCpuAccess () |
| for (size_t i=1;i< len;i++) | |
| FillDurationsGeneric (samples) | |
| samples | MarkModifiedFromCpu () |
| template<class T > | |
| __attribute__ ((noinline)) static void SampleOnAnyEdgesBase(WaveformBase *data | |
| Samples a waveform on all edges of a clock. More... | |
| clock | PrepareForCpuAccess () |
| samples | PrepareForCpuAccess () |
| if (udata &&uclock) SampleOnAnyEdges(udata | |
| else | if (udata &&sclock) SampleOnAnyEdges(udata |
| else | if (sdata &&sclock) SampleOnAnyEdges(sdata |
| else | if (sdata &&uclock) SampleOnAnyEdges(sdata |
| template<class T , class R , class S > | |
| __attribute__ ((noinline)) static void SampleOnRisingEdges(T *data | |
| Samples a waveform on the rising edges of a clock. More... | |
| AssertSampleTypesAreSame (data, &samples) | |
| samples | clear () |
| samples | SetGpuAccessHint (AcceleratorBuffer< S >::HINT_NEVER) |
| samples | Reserve (1 *1024 *1024) |
| for (size_t i=1;i< len;i++) | |
| FillDurationsGeneric (samples) | |
| samples | MarkModifiedFromCpu () |
| template<class T > | |
| __attribute__ ((noinline)) static void SampleOnRisingEdgesBase(WaveformBase *data | |
| Samples a waveform on rising edges of a clock. More... | |
| clock | PrepareForCpuAccess () |
| samples | PrepareForCpuAccess () |
| if (udata &&uclock) SampleOnRisingEdges(udata | |
| else | if (udata &&sclock) SampleOnRisingEdges(udata |
| else | if (sdata &&sclock) SampleOnRisingEdges(sdata |
| else | if (sdata &&uclock) SampleOnRisingEdges(sdata |
| template<class T , class R , class S > | |
| __attribute__ ((noinline)) static void SampleOnFallingEdges(T *data | |
| Samples a waveform on the falling edges of a clock. More... | |
| AssertSampleTypesAreSame (data, &samples) | |
| samples | clear () |
| samples | SetGpuAccessHint (AcceleratorBuffer< S >::HINT_NEVER) |
| samples | Reserve (1 *1024 *1024) |
| for (size_t i=1;i< len;i++) | |
| FillDurationsGeneric (samples) | |
| samples | MarkModifiedFromCpu () |
| template<class T , class R > | |
| __attribute__ ((noinline)) static void SampleOnAnyEdgesWithInterpolation(T *data | |
| Samples an analog waveform on all edges of a clock, interpolating linearly to get sub-sample accuracy. More... | |
| AssertTypeIsDigitalWaveform (clock) | |
| samples | clear () |
| samples | SetGpuAccessHint (AcceleratorBuffer< float >::HINT_NEVER) |
| samples | Reserve (1 *1024 *1024) |
| for (size_t i=1;i< len;i++) | |
| FillDurationsGeneric (samples) | |
| samples | MarkModifiedFromCpu () |
| template<class T > | |
| __attribute__ ((noinline)) static void SampleOnAnyEdgesBaseWithInterpolation(WaveformBase *data | |
| Samples an analog waveform on all edges of a clock, interpolating linearly to get sub-sample accuracy. More... | |
| clock | PrepareForCpuAccess () |
| samples | PrepareForCpuAccess () |
| if (udata &&uclock) SampleOnAnyEdgesWithInterpolation(udata | |
| else | if (udata &&sclock) SampleOnAnyEdgesWithInterpolation(udata |
| else | if (sdata &&sclock) SampleOnAnyEdgesWithInterpolation(sdata |
| else | if (sdata &&uclock) SampleOnAnyEdgesWithInterpolation(sdata |
| sigc::signal< void()> | signal_outputsChanged () |
Public Member Functions inherited from OscilloscopeChannel | |
| 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 bool | IsInverted (size_t stream) |
| 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... | |
Public Member Functions inherited from InstrumentChannel | |
| 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... | |
Public Member Functions inherited from FlowGraphNode | |
| 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 () |
Protected Member Functions | |
| virtual void | RefreshPorts () |
Protected Member Functions inherited from SParameterSourceFilter | |
| void | SetupStreams () |
| void | SetupInitialPortScales () |
Protected Member Functions inherited from Filter | |
| bool | VerifyAllInputsOK (bool allowEmpty=false) |
| Returns true if every input to the filter is non-NULL (and, optionally has a non-empty waveform present) | |
| bool | VerifyInputOK (size_t i, bool allowEmpty=false) |
| Returns true if a given input to the filter is non-NULL (and, optionally has a non-empty waveform present) | |
| bool | VerifyAllInputsOKAndUniformAnalog () |
| Returns true if every input to the filter is non-NULL and has a non-empty, uniformly sampled analog waveform present. | |
| bool | VerifyAllInputsOKAndSparseAnalog () |
| Returns true if every input to the filter is non-NULL and has a non-empty, sparsely sampled analog waveform present. | |
| bool | VerifyAllInputsOKAndSparseDigital () |
| Returns true if every input to the filter is non-NULL and has a non-empty, sparsely sampled digital waveform present. | |
| bool | VerifyAllInputsOKAndSparseOrUniformDigital () |
| Returns true if every input to the filter is non-NULL and has a non-empty, digital waveform present. | |
| UniformAnalogWaveform * | SetupEmptyUniformAnalogOutputWaveform (WaveformBase *din, size_t stream, bool clear=true) |
| Sets up an analog output waveform and copies basic metadata from the input. More... | |
| SparseAnalogWaveform * | SetupEmptySparseAnalogOutputWaveform (WaveformBase *din, size_t stream, bool clear=true) |
| Sets up an analog output waveform and copies basic metadata from the input. More... | |
| UniformDigitalWaveform * | SetupEmptyUniformDigitalOutputWaveform (WaveformBase *din, size_t stream) |
| Sets up an digital output waveform and copies basic metadata from the input. More... | |
| SparseDigitalWaveform * | SetupEmptySparseDigitalOutputWaveform (WaveformBase *din, size_t stream) |
| Sets up an digital output waveform and copies basic metadata from the input. More... | |
| SparseAnalogWaveform * | SetupSparseOutputWaveform (SparseWaveformBase *din, size_t stream, size_t skipstart, size_t skipend) |
| Sets up an analog output waveform and copies timebase configuration from the input. More... | |
| SparseDigitalWaveform * | SetupSparseDigitalOutputWaveform (SparseWaveformBase *din, size_t stream, size_t skipstart, size_t skipend) |
| Sets up a digital output waveform and copies timebase configuration from the input. More... | |
| template<class T > | |
| T * | SetupEmptyWaveform (WaveformBase *din, size_t stream, bool clear=true) |
| Sets up an empty output waveform and copies basic metadata from the input. More... | |
Protected Member Functions inherited from OscilloscopeChannel | |
| 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... | |
Protected Member Functions inherited from FlowGraphNode | |
| 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... | |
Protected Attributes | |
| std::string | m_portCountName |
Protected Attributes inherited from SParameterSourceFilter | |
| SParameters | m_params |
Protected Attributes inherited from Filter | |
| std::vector< float > | m_ranges |
| Y axis range of each output stream. | |
| std::vector< float > | m_offsets |
| Y axis offset of each output stream. | |
| Category | m_category |
| Category this filter should be displayed under. | |
| bool | m_usingDefault |
| If true, we're using an auto-generated name. | |
| sigc::signal< void()> | m_outputsChangedSignal |
| Signal emitted when the set of output streams changes. | |
| unsigned int | m_instanceNum |
| Instance number (for auto naming) More... | |
Protected Attributes inherited from OscilloscopeChannel | |
| size_t | m_refcount |
| Number of references (channel is disabled when last ref is released) | |
Protected Attributes inherited from InstrumentChannel | |
| 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. | |
Protected Attributes inherited from FlowGraphNode | |
| 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. | |
Additional Inherited Members | |
Public Types inherited from Filter | |
| enum | Category { CAT_ANALYSIS , CAT_BUS , CAT_CLOCK , CAT_MATH , CAT_MEASUREMENT , CAT_MEMORY , CAT_SERIAL , CAT_MISC , CAT_POWER , CAT_RF , CAT_GENERATION , CAT_EXPORT , CAT_OPTICAL , CAT_COUNT } |
| Category the filter should be displayed under in the GUI. More... | |
| enum | FIRFilterType { FILTER_TYPE_LOWPASS , FILTER_TYPE_HIGHPASS , FILTER_TYPE_BANDPASS , FILTER_TYPE_NOTCH } |
| typedef Filter *(* | CreateProcType) (const std::string &) |
Public Types inherited from OscilloscopeChannel | |
| enum | CouplingType { COUPLE_DC_1M , COUPLE_AC_1M , COUPLE_DC_50 , COUPLE_AC_50 , COUPLE_GND , COUPLE_SYNTHETIC } |
Public Types inherited from InstrumentChannel | |
| 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... | |
Public Types inherited from FlowGraphNode | |
| enum | DataLocation { LOC_CPU , LOC_GPU , LOC_DONTCARE } |
| typedef std::map< std::string, FilterParameter > | ParameterMapType |
| Short name for a map of strings to parameters. | |
Static Public Member Functions inherited from Filter | |
| static std::set< Filter * > | GetAllInstances () |
| Get all currently existing filters. | |
| static size_t | GetNumInstances () |
| Get all currently existing filters. | |
| static int64_t | GetNextEventTimestamp (SparseWaveformBase *wfm, size_t i, size_t len, int64_t timestamp) |
| Gets the timestamp of the next event (if any) on a waveform. More... | |
| static int64_t | GetNextEventTimestamp (UniformWaveformBase *wfm, size_t i, size_t len, int64_t timestamp) |
| Gets the timestamp of the next event (if any) on a waveform. More... | |
| static int64_t | GetNextEventTimestamp (SparseWaveformBase *swfm, UniformWaveformBase *uwfm, size_t i, size_t len, int64_t timestamp) |
| Gets the timestamp of the next sample in a waveform, which may be sparse or uniform. | |
| static void | AdvanceToTimestamp (SparseWaveformBase *wfm, size_t &i, size_t len, int64_t timestamp) |
| Advance the waveform to a given timestamp. More... | |
| static void | AdvanceToTimestamp (UniformWaveformBase *wfm, size_t &i, size_t len, int64_t timestamp) |
| Advance the waveform to a given timestamp. More... | |
| static void | AdvanceToTimestamp (SparseWaveformBase *swfm, UniformWaveformBase *uwfm, size_t &i, size_t len, int64_t timestamp) |
| static int64_t | GetNextEventTimestampScaled (SparseWaveformBase *wfm, size_t i, size_t len, int64_t timestamp) |
| Gets the timestamp of the next event (if any) on a waveform. More... | |
| static int64_t | GetNextEventTimestampScaled (UniformWaveformBase *wfm, size_t i, size_t len, int64_t timestamp) |
| Gets the timestamp of the next event (if any) on a waveform. More... | |
| static void | AdvanceToTimestampScaled (SparseWaveformBase *wfm, size_t &i, size_t len, int64_t timestamp) |
| Advance the waveform to a given timestamp. More... | |
| static void | AdvanceToTimestampScaled (UniformWaveformBase *wfm, size_t &i, size_t len, int64_t timestamp) |
| Advance the waveform to a given timestamp. More... | |
| static void | AdvanceToTimestampScaled (SparseWaveformBase *swfm, UniformWaveformBase *uwfm, size_t &i, size_t len, int64_t timestamp) |
| static int64_t | GetNextEventTimestampScaled (SparseWaveformBase *swfm, UniformWaveformBase *uwfm, size_t i, size_t len, int64_t timestamp) |
| static float | InterpolateTime (SparseAnalogWaveform *s, UniformAnalogWaveform *u, size_t a, float voltage) |
| static float | InterpolateTime (UniformAnalogWaveform *p, UniformAnalogWaveform *n, size_t a, float voltage) |
| Interpolates the actual time of a differential threshold crossing between two samples. More... | |
| static float | InterpolateTime (SparseAnalogWaveform *p, SparseAnalogWaveform *n, size_t a, float voltage) |
| Interpolates the actual time of a differential threshold crossing between two samples. More... | |
| static float | InterpolateTime (SparseAnalogWaveform *sp, UniformAnalogWaveform *up, SparseAnalogWaveform *sn, UniformAnalogWaveform *un, size_t a, float voltage) |
| static float | InterpolateValue (SparseAnalogWaveform *cap, size_t index, float frac_ticks) |
| Interpolates the actual value of a point between two samples. More... | |
| static float | InterpolateValue (UniformAnalogWaveform *cap, size_t index, float frac_ticks) |
| Interpolates the actual value of a point between two samples. More... | |
| static float | GetMinVoltage (SparseAnalogWaveform *s, UniformAnalogWaveform *u) |
| Gets the lowest voltage of a waveform. | |
| static float | GetMaxVoltage (SparseAnalogWaveform *s, UniformAnalogWaveform *u) |
| Gets the lowest voltage of a waveform. | |
| static float | GetBaseVoltage (SparseAnalogWaveform *swfm, UniformAnalogWaveform *uwfm) |
| Gets the base voltage of a waveform which may be sparse or uniform. | |
| static float | GetTopVoltage (SparseAnalogWaveform *swfm, UniformAnalogWaveform *uwfm) |
| Gets the top voltage of a waveform which may be sparse or uniform. | |
| static float | GetAvgVoltage (SparseAnalogWaveform *swfm, UniformAnalogWaveform *uwfm) |
| Gets the average voltage of a waveform which may be sparse or uniform. | |
| static std::vector< size_t > | MakeHistogram (SparseAnalogWaveform *s, UniformAnalogWaveform *u, float low, float high, size_t bins) |
| Makes a histogram from a waveform with the specified number of bins. More... | |
| template<class T > | |
| static void | PrepareForCpuAccess (SparseWaveform< T > *s, UniformWaveform< T > *u) |
| Prepares a sparse or uniform analog waveform for CPU access. | |
| template<class T > | |
| static void | PrepareForGpuAccess (SparseWaveform< T > *s, UniformWaveform< T > *u) |
| Prepares a sparse or uniform analog waveform for GPU access. | |
| static void | FindRisingEdges (UniformAnalogWaveform *data, float threshold, std::vector< int64_t > &edges) |
| Find rising edges in a waveform, interpolating to sub-sample resolution as necessary. | |
| static void | FindRisingEdges (SparseAnalogWaveform *data, float threshold, std::vector< int64_t > &edges) |
| Find rising edges in a waveform, interpolating to sub-sample resolution as necessary. | |
| static void | FindZeroCrossings (SparseAnalogWaveform *data, float threshold, std::vector< int64_t > &edges) |
| static void | FindZeroCrossings (UniformAnalogWaveform *data, float threshold, std::vector< int64_t > &edges) |
| static void | FindZeroCrossings (UniformDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindZeroCrossings (SparseDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindRisingEdges (UniformDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindRisingEdges (SparseDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindFallingEdges (UniformDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindFallingEdges (SparseDigitalWaveform *data, std::vector< int64_t > &edges) |
| static void | FindPeaks (UniformAnalogWaveform *data, float peak_threshold, std::vector< int64_t > &peak_indices) |
| static void | FindPeaks (SparseAnalogWaveform *data, float peak_threshold, std::vector< int64_t > &peak_indices) |
| static void | FindZeroCrossingsBase (WaveformBase *data, float threshold, std::vector< int64_t > &edges) |
| static void | FindRisingEdges (SparseDigitalWaveform *sdata, UniformDigitalWaveform *udata, std::vector< int64_t > &edges) |
| static void | FindFallingEdges (SparseDigitalWaveform *sdata, UniformDigitalWaveform *udata, std::vector< int64_t > &edges) |
| static void | FindPeaks (SparseAnalogWaveform *sdata, UniformAnalogWaveform *udata, float peak_threshold, std::vector< int64_t > &peak_indices) |
| static void | FindZeroCrossings (SparseAnalogWaveform *sdata, UniformAnalogWaveform *udata, float threshold, std::vector< int64_t > &edges) |
| static void | FindZeroCrossings (SparseDigitalWaveform *sdata, UniformDigitalWaveform *udata, std::vector< int64_t > &edges) |
| static void | ClearAnalysisCache () |
| static void | CalculateFIRCoefficients (float fa, float fb, float stopbandAtten, FIRFilterType type, AcceleratorBuffer< float > &coefficients) |
| Calculates FIR coefficients. More... | |
| static float | Bessel (float x) |
| 0th order Bessel function | |
| static void | DoAddDecoderClass (const std::string &name, CreateProcType proc) |
| static void | EnumProtocols (std::vector< std::string > &names) |
| static Filter * | CreateFilter (const std::string &protocol, const std::string &color="#ffffff") |
Public Attributes inherited from Filter | |
| size_t | a |
| size_t float | voltage |
| float | fa = cap->m_samples[a] |
| float | fb = cap->m_samples[a+1] |
| bool | ag = (fa > voltage) |
| bool | bg = (fb > voltage) |
| float | slope = (fb - fa) |
| float | delta = voltage - fa |
| return delta | slope |
| float & | vmin |
| float float & | vmax |
| vmin = FLT_MAX | |
| vmax = FLT_MIN | |
| R * | clock |
| R SparseWaveform< S > & | samples |
| size_t | len = clock->size() |
| size_t | dlen = data->size() |
| else | |
| size_t | ndata = 0 |
| WaveformBase * | clock |
| WaveformBase SparseWaveform< T > & | samples |
| auto | udata = dynamic_cast<UniformWaveform<T>*>(data) |
| auto | sdata = dynamic_cast<SparseWaveform<T>*>(data) |
| auto | uclock = dynamic_cast<UniformDigitalWaveform*>(clock) |
| auto | sclock = dynamic_cast<SparseDigitalWaveform*>(clock) |
| uclock | |
| samples | |
| else | sclock |
| else | samples |
| else | uclock |
| AssertTypeIsSparseWaveform & | samples |
| R SparseAnalogWaveform & | samples |
Public Attributes inherited from InstrumentChannel | |
| std::string | m_displaycolor |
| Display color (HTML hex notation with optional alpha channel: #RRGGBB or ##RRGGBBAA) | |
| enum InstrumentChannel::VisibilityMode | m_visibilityMode |
Protected Types inherited from Filter | |
| typedef std::map< std::string, CreateProcType > | CreateMapType |
Static Protected Member Functions inherited from Filter | |
| static void | FillDurationsGeneric (SparseWaveformBase &wfm) |
| Computes durations of samples based on offsets, assuming the capture is gapless. More... | |
Static Protected Attributes inherited from Filter | |
| static CreateMapType | m_createprocs |
| static std::set< Filter * > | m_filters |
| static std::map< std::string, unsigned int > | m_instanceCount |
| static std::mutex | m_cacheMutex |
| static std::map< std::pair< WaveformBase *, float >, std::vector< int64_t > > | m_zeroCrossingCache |
A filter that takes a set of S-parameters as input and outputs another set of S-parameters.
|
virtual |
Reimplemented from FlowGraphNode.