ngscopeclient 0.1-dev+51fbda87c
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
TriggerGroup Class Reference

A trigger group is a set of oscilloscopes that all trigger in lock-step. More...

#include <TriggerGroup.h>

Collaboration diagram for TriggerGroup:
Collaboration graph
[legend]

Public Types

enum  TriggerType { TRIGGER_TYPE_SINGLE , TRIGGER_TYPE_FORCED , TRIGGER_TYPE_AUTO , TRIGGER_TYPE_NORMAL }
 

Public Member Functions

 TriggerGroup (std::shared_ptr< Oscilloscope > primary, Session *session)
 
void RemoveScope (std::shared_ptr< Oscilloscope > scope)
 
void RemoveFilter (PausableFilter *f)
 
void MakePrimary (std::shared_ptr< Oscilloscope > scope)
 Make a scope (which must currently be a secondary) the primary.
 
void AddSecondary (std::shared_ptr< Oscilloscope > scope)
 Adds a secondary scope to this group.
 
void AddFilter (PausableFilter *f)
 
void Arm (TriggerType type)
 Arm the trigger for the group.
 
void Stop ()
 Stop the trigger for the group. More...
 
bool CheckForPendingWaveforms ()
 Return true if all of the scopes in the group have triggered.
 
void DownloadWaveforms ()
 Grab waveforms from the group.
 
void RearmIfMultiScope ()
 
bool empty ()
 
bool HasScopes ()
 
bool HasSecondaries ()
 
std::string GetDescription ()
 

Public Attributes

std::shared_ptr< Oscilloscopem_primary
 
std::vector< std::shared_ptr< Oscilloscope > > m_secondaries
 
std::vector< PausableFilter * > m_filters
 
bool m_default
 True if we should be activated when the start/stop toolbar button is clicked.
 

Protected Member Functions

void DetachAllWaveforms (std::shared_ptr< Oscilloscope > scope)
 

Protected Attributes

Sessionm_session
 
bool m_multiScopeFreeRun
 True if we have multiple scopes and are in normal trigger mode.
 

Detailed Description

A trigger group is a set of oscilloscopes that all trigger in lock-step.

One instrument, designated "primary", is used as the trigger reference for all other scopes in the group ("secondaries").

Mandatory external connection: Trigger out of primary to trigger in of each secondary Cable lengths need not be matched, the dewskew wizard will measure and calibrate out the trigger path delay

Strongly recommended external connection: Common reference clock supplied to all instruments in the group If instruments do not share a common clock, drift will worsen with increasing capture depth

Member Function Documentation

◆ Stop()

void TriggerGroup::Stop ( )

Stop the trigger for the group.

Clear out any pending data (the user doesn't want it, and we don't want stale stuff hanging around)


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