|
ngscopeclient v0.2.1
|
Base class for triggers involving hardware clock/data recovery pattern matching. More...
#include <CDRTrigger.h>


Public Types | |
| enum | LeCroyEqualizerMode { LECROY_EQ_NONE , LECROY_EQ_LOW , LECROY_EQ_MEDIUM , LECROY_EQ_HIGH } |
| RX equalizer settings for LeCroy SDA 8Zi GTX trigger board. More... | |
| enum | TriggerPosition { POSITION_END , POSITION_START } |
| Where to position the reported trigger point, relative to the serial bit pattern. More... | |
| enum | Polarity { POLARITY_NORMAL , POLARITY_INVERTED } |
| Polarity inversion for the input. 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 | |
| CDRTrigger (Oscilloscope *scope) | |
| Creates a new CDR trigger. | |
| virtual bool | ValidateChannel (size_t i, StreamDescriptor stream) |
| Check if a stream is allowed to be connected to the given input. | |
| void | SetBitRate (int64_t rate) |
| Sets the nominal baud rate the PLL should attempt to lock to. | |
| int64_t | GetBitRate () |
| Returns the nominal CDR PLL data rate. | |
| void | CalculateBitRate () |
| Automatically calculates the bit rate of the incoming signal, if possible. | |
| sigc::signal< void()> | signal_calculateBitRate () |
| Signal emitted every time autobaud is requested. | |
| bool | IsAutomaticBitRateCalculationAvailable () |
| Checks if automatic bit rate calculation is available. | |
| bool | IsCDRLocked () |
| Queries hardware PLL lock status. | |
| TriggerPosition | GetTriggerPosition () |
| Gets the position of the trigger, relative to the serial bit pattern. | |
| void | SetTriggerPosition (TriggerPosition p) |
| Sets the position of the trigger, relative to the serial bit pattern. | |
| LeCroyEqualizerMode | GetEqualizerMode () |
| Gets the RX equalizer mode. | |
| void | SetEqualizerMode (LeCroyEqualizerMode mode) |
| Sets the RX equalizer mode. | |
| Polarity | GetPolarity () |
| Gets the polarity inversion. | |
| void | SetPolarity (Polarity mode) |
| Gets the polarity inversion. | |
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 () |
Protected Attributes | |
| FilterParameter & | m_bitRate |
| FilterParameter & | m_position |
| FilterParameter & | m_lecroyEq |
| FilterParameter & | m_polarity |
| sigc::signal< void()> | m_calculateBitRateSignal |
| Signal requesting an auto-baud calculation. | |
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 | |
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 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. | |
Base class for triggers involving hardware clock/data recovery pattern matching.
| CDRTrigger::CDRTrigger | ( | Oscilloscope * | scope | ) |
Creates a new CDR trigger.
| scope | The scope the trigger is to be created for |
|
inline |
Gets the RX equalizer mode.
TODO: we should refactor this to be more generic
| bool CDRTrigger::IsAutomaticBitRateCalculationAvailable | ( | ) |
Checks if automatic bit rate calculation is available.
Checks whether automatic bit rate calculation is available on this trigger.
The current implementation assumes any LeCroyOscilloscope with a CDR trigger board has auto-baud capability, and nothing else does.
| bool CDRTrigger::IsCDRLocked | ( | ) |
Queries hardware PLL lock status.
Checks whether the hardware clock recovery PLL is locked.
Sets the nominal baud rate the PLL should attempt to lock to.
| rate | The baud rate, in Hz |
|
inline |
Sets the RX equalizer mode.
TODO: we should refactor this to be more generic
Gets the polarity inversion.
| mode | Polarity inversion mode |
|
inline |
Sets the position of the trigger, relative to the serial bit pattern.
| p | Desired trigger position (start or end) |
|
virtual |
Check if a stream is allowed to be connected to the given input.
Reimplemented from FlowGraphNode.