35#ifndef ClockRecoveryFilter_h
36#define ClockRecoveryFilter_h
38#include "../scopehal/LevelCrossingDetector.h"
46 virtual void Refresh(vk::raii::CommandBuffer& cmdBuf, std::shared_ptr<QueueHandle> queue)
override;
49 static std::string GetProtocolName();
63 int64_t initialPeriod,
70 void InnerLoopWithNoGating(
75 int64_t initialPeriod,
83 std::string m_baudname;
84 std::string m_threshname;
Definition: ClockRecoveryFilter.h:41
void InnerLoopWithGating(SparseDigitalWaveform &cap, AcceleratorBuffer< int64_t > &edges, size_t nedges, int64_t tend, int64_t initialPeriod, int64_t halfPeriod, int64_t fnyquist, WaveformBase *gate, SparseDigitalWaveform *sgate, UniformDigitalWaveform *ugate)
Main PLL inner loop supporting an external gate/squelch signal.
Definition: ClockRecoveryFilter.cpp:242
void FillSquarewaveGeneric(SparseDigitalWaveform &cap)
Fills a waveform with a squarewave.
Definition: ClockRecoveryFilter.cpp:226
virtual DataLocation GetInputLocation() override
Gets the desired location of the nodes's input data.
Definition: ClockRecoveryFilter.cpp:586
Abstract base class for all filter graph blocks which are not physical instrument channels.
Definition: Filter.h:95
virtual void Refresh() override
Evaluates a filter graph node.
Definition: Filter.cpp:823
Helper for GPU accelerated level-crossing searches.
Definition: LevelCrossingDetector.h:64
Descriptor for a single stream coming off a channel.
Definition: StreamDescriptor.h:46