From d1efaf9f059a4e03f55e8c62ce2c5ec2dc2940d6 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 21 Jun 2022 19:37:00 +0000 Subject: [PATCH] - TimingGenerator tells Farrow whenn to produce a sample git-svn-id: http://moon:8086/svn/software/trunk/libsrc/cpp@1051 b431acfa-c32f-4a4a-93f1-934dc6c82436 --- radio/interpolation/Farrow.hpp | 7 +++++-- radio/interpolation/TimingGenerator.cpp | 4 +++- radio/interpolation/TimingGenerator.hpp | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/radio/interpolation/Farrow.hpp b/radio/interpolation/Farrow.hpp index 305c3de..df936f6 100644 --- a/radio/interpolation/Farrow.hpp +++ b/radio/interpolation/Farrow.hpp @@ -91,10 +91,13 @@ public: // Combine ComplexScalar yout = horner(mu); - buf_out->write(&yout, 1); // Process timing generator - m_timingGenerator.process(yout); + bool is_sample = m_timingGenerator.process(yout); + if (is_sample) + { + buf_out->write(&yout, 1); + } } } diff --git a/radio/interpolation/TimingGenerator.cpp b/radio/interpolation/TimingGenerator.cpp index 7a0c5f4..14e582d 100644 --- a/radio/interpolation/TimingGenerator.cpp +++ b/radio/interpolation/TimingGenerator.cpp @@ -22,10 +22,12 @@ void TimingGenerator::setOmega(radio_float_t omega) m_omega = omega; } -void TimingGenerator::process(ComplexScalar const &iq) +bool TimingGenerator::process(ComplexScalar const &iq) { (void)iq; update(1.0); + + return true; } void TimingGenerator::update(radio_float_t dOmega) diff --git a/radio/interpolation/TimingGenerator.hpp b/radio/interpolation/TimingGenerator.hpp index c5bf71b..9f1705a 100644 --- a/radio/interpolation/TimingGenerator.hpp +++ b/radio/interpolation/TimingGenerator.hpp @@ -21,7 +21,7 @@ public: size_t getAdv() const; radio_float_t getMu() const; - virtual void process(ComplexScalar const &iq); + virtual bool process(ComplexScalar const &iq); void setOmega(radio_float_t omega); private: