ngscopeclient 0.1-dev+51fbda87c
|
A filter which may be started and stopped. More...
#include <PausableFilter.h>
Public Member Functions | |
PausableFilter (const std::string &color, Category cat, Unit xunit=Unit::UNIT_FS) | |
virtual std::vector< std::string > | EnumActions () override |
Return a list of all actions which may be performed on the object. More... | |
virtual bool | PerformAction (const std::string &id) override |
Perform a specific action. More... | |
bool | ShouldRefresh () |
void | Run () |
void | Single () |
void | Stop () |
![]() | |
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) |
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) |
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) |
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) |
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 () |
![]() | |
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 () |
virtual std::vector< std::string > | EnumActions ()=0 |
Return a list of all actions which may be performed on the object. More... | |
virtual bool | PerformAction (const std::string &id)=0 |
Perform a specific action. More... | |
Protected Attributes | |
bool | m_running |
bool | m_oneShot |
![]() | |
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... | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
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... | |
typedef Filter *(* | CreateProcType) (const std::string &) |
![]() | |
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. | |
![]() | |
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) |
Find zero crossings in a waveform, interpolating as necessary. | |
static void | FindZeroCrossings (UniformAnalogWaveform *data, float threshold, std::vector< int64_t > &edges) |
Find zero crossings in a waveform, interpolating as necessary. | |
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 | 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") |
![]() | |
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() |
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 |
![]() | |
std::string | m_displaycolor |
Display color (HTML hex notation with optional alpha channel: #RRGGBB or ##RRGGBBAA) | |
enum InstrumentChannel::VisibilityMode | m_visibilityMode |
![]() | |
typedef std::map< std::string, CreateProcType > | CreateMapType |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
static void | FillDurationsGeneric (SparseWaveformBase &wfm) |
Computes durations of samples based on offsets, assuming the capture is gapless. More... | |
![]() | |
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 which may be started and stopped.
|
overridevirtual |
Return a list of all actions which may be performed on the object.
Implements ActionProvider.
|
overridevirtual |
Perform a specific action.
Implements ActionProvider.