|
ngscopeclient v0.1.1
|
Window trigger - detect when the signal leaves a specified range. More...
#include <WindowTrigger.h>


Public Types | |
| enum | Crossing { CROSS_UPPER , CROSS_LOWER , CROSS_EITHER , CROSS_NONE } |
| Type of level crossing to detect for "stay inside" and "stay outside" windows. More... | |
| enum | WindowType { WINDOW_ENTER , WINDOW_EXIT , WINDOW_EXIT_TIMED , WINDOW_ENTER_TIMED } |
| How to trigger. More... | |
Public Types inherited from Trigger | |
| enum | Condition { CONDITION_EQUAL , CONDITION_NOT_EQUAL , CONDITION_LESS , CONDITION_LESS_OR_EQUAL , CONDITION_GREATER , CONDITION_GREATER_OR_EQUAL , CONDITION_BETWEEN , CONDITION_NOT_BETWEEN , CONDITION_ANY } |
| Conditions for triggers that perform logical comparisons of values. More... | |
| typedef Trigger *(* | CreateProcType) (Oscilloscope *) |
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. | |
Public Member Functions | |
| WindowTrigger (Oscilloscope *scope) | |
| Creates a new window trigger. More... | |
| virtual bool | ValidateChannel (size_t i, StreamDescriptor stream) override |
| void | SetCrossingDirection (Crossing dir) |
| Sets the crossing direction (only used for "stay inside" and "stay outside" window types) | |
| Crossing | GetCrossingDirection () |
| Gets the selected crossing direction. | |
| void | SetWindowType (WindowType type) |
| Sets the type of window. | |
| WindowType | GetWindowType () |
| Gets the type of window. | |
| void | SetWidth (int64_t ps) |
| Sets the time the signal needs to stay in/outside the window. More... | |
| int64_t | GetWidth () |
| Gets the time the signal needs to stay in / outside the winodw. | |
| TRIGGER_INITPROC (WindowTrigger) | |
Public Member Functions inherited from TwoLevelTrigger | |
| TwoLevelTrigger (Oscilloscope *scope) | |
| Create a two-level trigger. More... | |
| float | GetUpperBound () |
| Gets the upper of the two trigger levels. More... | |
| void | SetUpperBound (float level) |
| Sets the upper trigger level. More... | |
| float | GetLowerBound () |
| Gets the lower of the two trigger levels. | |
| void | SetLowerBound (float level) |
| Sets the lower trigger level. More... | |
Public Member Functions inherited from Trigger | |
| Trigger (Oscilloscope *scope) | |
| Initialize a new trigger. More... | |
| float | GetLevel () |
| Get the trigger level. | |
| void | SetLevel (float level) |
| Sets the trigger level. More... | |
| Oscilloscope * | GetScope () |
| Gets the scope this trigger is attached to. | |
| virtual std::string | GetTriggerDisplayName ()=0 |
| virtual YAML::Node | SerializeConfiguration (IDTable &table) override |
| Serializes this trigger's configuration to a YAML string. 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 () |
Static Public Member Functions | |
| static std::string | GetTriggerName () |
| Return the constant trigger name "Window". | |
Static Public Member Functions inherited from Trigger | |
| static void | DoAddTriggerClass (std::string name, CreateProcType proc) |
| Register a new trigger class for dynamic creation. More... | |
| static void | EnumTriggers (std::vector< std::string > &names) |
| Gets a list of all registered trigger types. More... | |
| static Trigger * | CreateTrigger (std::string name, Oscilloscope *scope) |
| Creates a new trigger for an oscilloscope. More... | |
Protected Attributes | |
| FilterParameter & | m_width |
| Time the signal needs to stay in / outside the window. | |
| FilterParameter & | m_crossingType |
| Crossing direction for stay-inside and stay-outside types. | |
| FilterParameter & | m_windowType |
| Condition to trigger on. | |
Protected Attributes inherited from TwoLevelTrigger | |
| FilterParameter & | m_lowerLevel |
| Lower voltage threshold. | |
Protected Attributes inherited from Trigger | |
| Oscilloscope * | m_scope |
| The scope this trigger is part of. | |
| FilterParameter & | m_level |
| "Trigger level" parameter | |
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. | |
| std::vector< std::set< FlowGraphNode * > > | m_sinks |
| The nodes (if any) that each of our streams drives. More... | |
| 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 | |
Protected Types inherited from Trigger | |
| typedef std::map< std::string, CreateProcType > | CreateMapType |
| Helper typedef for m_createprocs. | |
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... | |
Static Protected Attributes inherited from Trigger | |
| static CreateMapType | m_createprocs |
| Map of trigger type names to factory methods. | |
Window trigger - detect when the signal leaves a specified range.
How to trigger.
| Enumerator | |
|---|---|
| WINDOW_ENTER | Trigger immediately upon entry to the window. |
| WINDOW_EXIT | Trigger immediately upon exit from the window. |
| WINDOW_EXIT_TIMED | Trigger upon exit from the window, if we were in it for at least X time. |
| WINDOW_ENTER_TIMED | Trigger upon entry to the window, if we were outside it for at least X time. |
| WindowTrigger::WindowTrigger | ( | Oscilloscope * | scope | ) |
Creates a new window trigger.
| scope | The oscilloscope the trigger is going to be used with |
|
inline |
Sets the time the signal needs to stay in/outside the window.
Only used for WINDOW_ENTER_TIMED and WINDOW_EXIT_TIMED
|
overridevirtual |
Reimplemented from FlowGraphNode.