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()) {