ngscopeclient v0.3
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
DCAEdgeTrigger Class Reference

Simple edge trigger for Agilent DCA oscilloscopes. More...

#include <DCAEdgeTrigger.h>

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

Public Types

enum  EdgeType { EDGE_RISING , EDGE_FALLING }
 Types of edges to trigger on. 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 class  ExecutionCapabilities {
  None = 0 , CommandBufferAppend = 1 , CommandBufferTailCall = 2 , VulkanOnly = 4 ,
  DynamicShader = 8
}
 
typedef std::map< std::string, FilterParameter > ParameterMapType
 Short name for a map of strings to parameters.
 

Public Member Functions

 DCAEdgeTrigger (Oscilloscope *scope)
 Initialize a new 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 (DCAEdgeTrigger)
 
- 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)
 
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.
 
- 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< InputConstraint > GetInputConstraints (size_t i)
 Get the constraints on one of our inputs.
 
FilterParameter & GetParameter (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 FlowGraphNodeMessage * GetMostSevereMessage () 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 name "DCA 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 Trigger * CreateTrigger (std::string name, Oscilloscope *scope)
 Creates a new trigger for an oscilloscope.
 

Protected Attributes

FilterParameter & m_type
 Edge type.
 
- Protected Attributes inherited from Trigger
Oscilloscope * m_scope
 The scope this trigger is part of.
 
FilterParameter & m_level
 "Trigger level" parameter
 
FilterParameter & m_triggerLevel
 
FilterParameter & m_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< FlowGraphNodeMessage > m_messages
 

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.
 
WaveformBase * GetInputWaveform (size_t i)
 Gets the waveform attached to the specified input.
 
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.
 
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

Simple edge trigger for Agilent DCA oscilloscopes.

Member Enumeration Documentation

◆ EdgeType

Types of edges to trigger on.

Enumerator
EDGE_RISING 

Low to high transition.

EDGE_FALLING 

High to low transition.

Constructor & Destructor Documentation

◆ DCAEdgeTrigger()

DCAEdgeTrigger::DCAEdgeTrigger ( Oscilloscope *  scope)

Initialize a new trigger.

Parameters
scopeThe instrument this trigger is being created for

Member Function Documentation

◆ SetType()

void DCAEdgeTrigger::SetType ( EdgeType  type)
inline

Set the type of the edge to trigger on.

Parameters
typeEdge type

◆ ValidateChannel()

bool DCAEdgeTrigger::ValidateChannel ( size_t  i,
StreamDescriptor  stream 
)
overridevirtual

Check if a stream is allowed to be connected to the given input.

Reimplemented from FlowGraphNode.


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