36#ifndef ConstellationFilter_h
37#define ConstellationFilter_h
39#include "../scopehal/ConstellationWaveform.h"
40#include "../scopehal/ActionProvider.h"
86 virtual void Refresh(vk::raii::CommandBuffer& cmdBuf, std::shared_ptr<QueueHandle> queue)
override;
89 static std::string GetProtocolName();
91 virtual float GetVoltageRange(
size_t stream)
override;
92 virtual float GetOffset(
size_t stream)
override;
96 virtual std::vector<std::string>
EnumActions()
override;
101 void SetWidth(
size_t width)
110 void SetHeight(
size_t height)
112 if(m_height != height)
125 size_t GetWidth()
const
128 size_t GetHeight()
const
144 const std::vector<ConstellationPoint>& GetNominalPoints()
148 void RecomputeNominalPoints();
149 void GetMinMaxSymbols(
150 std::vector<size_t>&
hist,
Definition AcceleratorBuffer.h:204
Abstract base for objects (usually filters) which provide a series of actions a user can perform.
Definition ActionProvider.h:48
Definition ConstellationFilter.h:82
virtual bool PerformAction(const std::string &id) override
Perform a specific action.
Definition ConstellationFilter.cpp:467
AcceleratorBuffer< float > m_xvpoints
X position, in volts, of each constellation point.
Definition ConstellationFilter.h:175
virtual uint32_t GetExecutionCapabilitiesMask() override
Returns a bitmask of ExecutionCapabilities fields.
Definition ConstellationFilter.cpp:133
virtual void ClearSweeps() override
Clears any integrated data from past triggers (e.g. eye patterns).
Definition ConstellationFilter.cpp:126
std::shared_ptr< ComputePipeline > m_constellationComputePipeline
Compute pipeline for the main constellation integration.
Definition ConstellationFilter.h:187
std::shared_ptr< ComputePipeline > m_normalizeScaleComputePipeline
Compute pipeline for normalizing the constellation.
Definition ConstellationFilter.h:193
std::shared_ptr< ComputePipeline > m_normalizeReduceComputePipeline
Compute pipeline for finding the maximum amplitude of the constellation.
Definition ConstellationFilter.h:190
std::vector< ConstellationPoint > m_points
Nominal locations of each constellation point (host-side metadata)
Definition ConstellationFilter.h:172
AcceleratorBuffer< float > m_yvpoints
Y position, in volts, of each constellation point.
Definition ConstellationFilter.h:178
AcceleratorBuffer< float > m_evmScratchpad
EVM calculation scratchpad buffer.
Definition ConstellationFilter.h:181
virtual std::vector< std::string > EnumActions() override
Return a list of all actions which may be performed on the object.
Definition ConstellationFilter.cpp:460
AcceleratorBuffer< int64_t > m_normalizeMaxBuf
Max amplitude of the constellation.
Definition ConstellationFilter.h:184
Definition ConstellationFilter.h:57
int64_t m_xval
Nominal X coordinate.
Definition ConstellationFilter.h:67
float m_ynorm
Normalized Y coordinate.
Definition ConstellationFilter.h:76
float m_xnorm
Normalized X coordinate.
Definition ConstellationFilter.h:73
float m_yval
Nominal Y coordinate.
Definition ConstellationFilter.h:70
Definition ConstellationFilter.h:43
A parameter to a filter.
Definition FilterParameter.h:86
Abstract base class for all filter graph blocks which are not physical instrument channels.
Definition Filter.h:105
void SetData(WaveformBase *pNew, size_t stream)
Sets the waveform data for a given stream, replacing any previous waveform.
Definition InstrumentChannel.cpp:144