From 001cadae2ac9bcec1e2e06ba42cdb3858008fb24 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 19 Aug 2016 19:30:32 +0200 Subject: [PATCH] DSD demod: show cosine filter output in scope if the filter is engaged --- plugins/channel/demoddsd/dsddecoder.h | 1 + plugins/channel/demoddsd/dsddemod.cpp | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/channel/demoddsd/dsddecoder.h b/plugins/channel/demoddsd/dsddecoder.h index 6b339d1e7..305a21ba5 100644 --- a/plugins/channel/demoddsd/dsddecoder.h +++ b/plugins/channel/demoddsd/dsddecoder.h @@ -29,6 +29,7 @@ public: ~DSDDecoder(); void pushSample(short sample) { m_decoder.run(sample); } + short getFilteredSample() const { return m_decoder.getFilteredSample(); } short *getAudio(int& nbSamples) { return m_decoder.getAudio(nbSamples); } void resetAudio() { m_decoder.resetAudio(); } void enableMbelib(bool enable) { m_decoder.enableMbelib(enable); } diff --git a/plugins/channel/demoddsd/dsddemod.cpp b/plugins/channel/demoddsd/dsddemod.cpp index 2d134ff67..3d1182980 100644 --- a/plugins/channel/demoddsd/dsddemod.cpp +++ b/plugins/channel/demoddsd/dsddemod.cpp @@ -155,6 +155,12 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto sample = 0; } + m_dsdDecoder.pushSample(sample); + + if (m_running.m_enableCosineFiltering) { // show actual input to FSK demod + sample = m_dsdDecoder.getFilteredSample(); + } + if (m_sampleBufferIndex < (1<<17)) { m_sampleBufferIndex++; } else { @@ -171,7 +177,6 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto Sample s(sample, delayedSample); // I=signal, Q=signal delayed by 20 samples (2400 baud: lowest rate) m_scopeSampleBuffer.push_back(s); - m_dsdDecoder.pushSample(sample); if (DSPEngine::instance()->hasDVSerialSupport() && m_dsdDecoder.mbeDVReady()) {