From 827c9b6b731dd89017125bf4d9e8bf631dd5aaa6 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 3 Apr 2018 23:33:55 +0200 Subject: [PATCH] ScopeNG: first symbol clock synchro implementation --- sdrbase/dsp/projector.cpp | 11 +++++++++-- sdrbase/dsp/projector.h | 3 +++ sdrgui/gui/glscopenggui.cpp | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sdrbase/dsp/projector.cpp b/sdrbase/dsp/projector.cpp index 6eeea26cd..c7dae638e 100644 --- a/sdrbase/dsp/projector.cpp +++ b/sdrbase/dsp/projector.cpp @@ -23,10 +23,14 @@ Projector::Projector(ProjectionType projectionType) : m_prevArg(0.0f), m_cache(0), m_cacheMaster(true) -{} +{ + m_symSync = new SymbolSynchronizer(); +} Projector::~Projector() -{} +{ + delete m_symSync; +} Real Projector::run(const Sample& s) { @@ -76,6 +80,9 @@ Real Projector::run(const Sample& s) v = dPhi; } break; + case ProjectionClock: + v = m_symSync->run(s); + break; case ProjectionReal: default: v = s.m_real / SDR_RX_SCALEF; diff --git a/sdrbase/dsp/projector.h b/sdrbase/dsp/projector.h index 38db2f402..1370fca44 100644 --- a/sdrbase/dsp/projector.h +++ b/sdrbase/dsp/projector.h @@ -17,6 +17,8 @@ #include "dsptypes.h" +class SymbolSynchronizer; + class Projector { public: @@ -47,4 +49,5 @@ private: Real m_prevArg; Real *m_cache; bool m_cacheMaster; + SymbolSynchronizer *m_symSync; }; diff --git a/sdrgui/gui/glscopenggui.cpp b/sdrgui/gui/glscopenggui.cpp index 12f043b35..863a0211b 100644 --- a/sdrgui/gui/glscopenggui.cpp +++ b/sdrgui/gui/glscopenggui.cpp @@ -1152,6 +1152,7 @@ void GLScopeNGGUI::fillProjectionCombo(QComboBox* comboBox) comboBox->addItem("MagdB", Projector::ProjectionMagDB); comboBox->addItem("Phi", Projector::ProjectionPhase); comboBox->addItem("dPhi", Projector::ProjectionDPhase); + comboBox->addItem("Clk", Projector::ProjectionClock); } void GLScopeNGGUI::disableLiveMode(bool disable)