ngscopeclient v0.2
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members

Trigger on a glitch meeting certain width criteria. More...

#include <GlitchTrigger.h>

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

Public Member Functions

 GlitchTrigger (Oscilloscope *scope)
 Initialize the trigger.
 
 TRIGGER_INITPROC (GlitchTrigger)
 
void SetCondition (Condition type)
 Set the condition for the glitch.
 
Condition GetCondition ()
 Get the desired glitch condition.
 
int64_t GetLowerBound ()
 Get the lower bound, in fs, for a pulse to be considered a glitch.
 
void SetLowerBound (int64_t bound)
 Set the duration of the shortest pulse that will be considered a glitch.
 
int64_t GetUpperBound ()
 Get the upper bound, in fs, for a pulse to be considered a glitch.
 
void SetUpperBound (int64_t bound)
 Set the duration of the longest pulse that will be considered a glitch.
 
- Public Member Functions inherited from EdgeTrigger
 EdgeTrigger (Oscilloscope *scope)
 Initialize a new edge trigger.
 
void SetType (EdgeType type)
 Set the type of the edge to trigger on.
 
EdgeType GetType ()
 Gets the currently selected edge type.
 
virtual bool ValidateChannel (size_t i, StreamDescriptor stream) override
 Check if a stream is allowed to be connected to the given input.
 
 TRIGGER_INITPROC (EdgeTrigger)
 
void SetCouplingType (CouplingType type)
 
CouplingType GetCouplingType ()
 
void SetHfRejectState (bool state)
 
void SetNoiseRejectState (bool state)
 
bool GetHfRejectState ()
 
bool GetNoiseRejectState ()
 
void SetHoldoffTimeState (bool state)
 
bool GetHoldoffTimeState ()
 
void SetHoldoffTime (uint64_t bound)
 
uint64_t GetHoldoffTime ()
 
- Public Member Functions inherited from Trigger
 Trigger (Oscilloscope *scope)
 Initialize a new trigger.
 
virtual void Refresh (vk::raii::CommandBuffer &cmdBuf, std::shared_ptr< QueueHandle > queue) override
 
float GetLevel ()
 Get the trigger level.
 
float GetUpperLevel ()
 
void SetLevel (float level)
 Sets the trigger level.
 
void SetUpperLevel (float level)
 
OscilloscopeGetScope ()
 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.
 
- Public Member Functions inherited from FlowGraphNode
void DetachInputs ()
 Disconnects all inputs from the node without releasing them.
 
size_t GetInputCount ()
 Get the number of input ports.
 
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.
 
void SetInput (const std::string &name, StreamDescriptor stream, bool force=false)
 
bool HasInput (StreamDescriptor desc)
 Checks if the given stream is connected to at least one of our inputs.
 
StreamDescriptor GetInput (size_t i)
 Gets the descriptor for one of our inputs.
 
std::shared_ptr< InputConstraintGetInputConstraints (size_t i)
 Get the constraints on one of our inputs.
 
FilterParameterGetParameter (std::string s)
 
bool HasParameter (std::string s)
 Checks if we have a parameter with a given name.
 
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 void LoadParameters (const YAML::Node &node, IDTable &table)
 Load configuration from a save file.
 
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.
 
virtual uint32_t GetExecutionCapabilitiesMask ()
 Returns a bitmask of ExecutionCapabilities fields.
 
bool HasMessages () const
 Checks if this graph has any messages.
 
const std::vector< FlowGraphNodeMessage > & GetMessages () const
 Walking through any messages.
 
const FlowGraphNodeMessageGetMostSevereMessage () const
 
void AddSink (size_t stream, FlowGraphNode *node)
 
void RemoveSink (size_t stream, FlowGraphNode *node)
 
const std::set< FlowGraphNode * > & GetSinks (size_t stream)
 
sigc::signal< void()> signal_parametersChanged ()
 
sigc::signal< void()> signal_inputsChanged ()
 

Static Public Member Functions

static std::string GetTriggerName ()
 Return the constant trigger type name "Glitch".
 
- Static Public Member Functions inherited from EdgeTrigger
static std::string GetTriggerName ()
 Return the constant trigger name "edge".
 
- Static Public Member Functions inherited from Trigger
static void DoAddTriggerClass (std::string name, CreateProcType proc)
 Register a new trigger class for dynamic creation.
 
static void EnumTriggers (std::vector< std::string > &names)
 Gets a list of all registered trigger types.
 
static TriggerCreateTrigger (std::string name, Oscilloscope *scope)
 Creates a new trigger for an oscilloscope.
 

Protected Attributes

FilterParameterm_condition
 Condition to look for.
 
FilterParameterm_lowerBound
 Lower voltage level for glitch detector.
 
FilterParameterm_upperBound
 Upper voltage level for glitch detector.
 
- Protected Attributes inherited from EdgeTrigger
FilterParameterm_edgetype
 Type of edge to trigger on.
 
FilterParameterm_couplingtype
 
FilterParameterm_hfrejectstate
 
FilterParameterm_noiserejectstate
 
FilterParameterm_holdofftimestate
 
FilterParameterm_holdofftime
 
- Protected Attributes inherited from Trigger
Oscilloscopem_scope
 The scope this trigger is part of.
 
FilterParameterm_level
 "Trigger level" parameter
 
FilterParameterm_triggerLevel
 
FilterParameterm_upperLevel
 
- Protected Attributes inherited from FlowGraphNode
std::vector< std::shared_ptr< InputDescriptor > > m_inputs
 Input ports.
 
std::vector< std::set< FlowGraphNode * > > m_sinks
 The nodes (if any) that each of our streams drives.
 
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.
 
std::vector< FlowGraphNodeMessagem_messages
 

Additional Inherited Members

- Public Types inherited from EdgeTrigger
enum  EdgeType { EDGE_RISING , EDGE_FALLING , EDGE_ANY , EDGE_ALTERNATING }
 Types of edges to trigger on. More...
 
enum  CouplingType { COUPLING_DC , COUPLING_AC , COUPLING_LFREJECT }
 
- 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 class  ExecutionCapabilities { None = 0 , CommandBufferAppend = 1 , CommandBufferTailCall = 2 , VulkanOnly = 4 }
 
typedef std::map< std::string, FilterParameterParameterMapType
 Short name for a map of strings to parameters.
 
- 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.
 
WaveformBaseGetInputWaveform (size_t i)
 Gets the waveform attached to the specified input.
 
SparseAnalogWaveformGetSparseAnalogInputWaveform (size_t i)
 Gets the analog waveform attached to the specified input.
 
UniformAnalogWaveformGetUniformAnalogInputWaveform (size_t i)
 Gets the analog waveform attached to the specified input.
 
SparseDigitalWaveformGetSparseDigitalInputWaveform (size_t i)
 Gets the digital waveform attached to the specified input.
 
UniformDigitalWaveformGetUniformDigitalInputWaveform (size_t i)
 Gets the digital waveform attached to the specified input.
 
virtual void CreateInput (const std::string &name)
 Gets the digital bus waveform attached to the specified input.
 
template<class T , class... Args>
void CreateInput (const std::string &name, Args &&... args)
 
std::string GetInputDisplayName (size_t i)
 Gets the display name for one of our inputs.
 
void ClearMessages ()
 Remove any messages left over from the last graph refresh.
 
void AddMessage (const FlowGraphNodeMessage &msg)
 Attach a new message to the node.
 
void AddMessage (Severity severity, const std::string &title, const std::string &message)
 Attach a new message to the node.
 
void AddErrorMessage (const std::string &err)
 Add a new error message.
 
void AddErrorMessage (const std::string &title, const std::string &err)
 Add a new error message with a title.
 
- Static Protected Attributes inherited from Trigger
static CreateMapType m_createprocs
 Map of trigger type names to factory methods.
 

Detailed Description

Trigger on a glitch meeting certain width criteria.

Constructor & Destructor Documentation

◆ GlitchTrigger()

GlitchTrigger::GlitchTrigger ( Oscilloscope scope)

Initialize the trigger.

Parameters
scopeThe instrument this trigger is to be used with

Member Function Documentation

◆ SetCondition()

void GlitchTrigger::SetCondition ( Condition  type)
inline

Set the condition for the glitch.

Parameters
typeSearch condition May be CONDITION_LESS to only trigger on glitches shorter than the upper bound, or CONDITION_BETWEEN to trigger on glitches between upper and lower bounds in length

◆ SetLowerBound()

void GlitchTrigger::SetLowerBound ( int64_t  bound)
inline

Set the duration of the shortest pulse that will be considered a glitch.

Parameters
boundLower bound, in fs

◆ SetUpperBound()

void GlitchTrigger::SetUpperBound ( int64_t  bound)
inline

Set the duration of the longest pulse that will be considered a glitch.

Parameters
boundUpper bound, in fs

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