diff --git a/plugins/channel/demoddsd/dsddemod.cpp b/plugins/channel/demoddsd/dsddemod.cpp index a546a1802..cda32efb5 100644 --- a/plugins/channel/demoddsd/dsddemod.cpp +++ b/plugins/channel/demoddsd/dsddemod.cpp @@ -119,18 +119,25 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto if (getMagSq() > m_squelchLevel) { - if (m_squelchCount < m_squelchGate) + if (m_squelchGate > 0) { - m_squelchCount++; + if (m_squelchCount < m_squelchGate) { + m_squelchCount++; + } + + m_squelchOpen = m_squelchCount == m_squelchGate; + } + else + { + m_squelchOpen = true; } } else { m_squelchCount = 0; + m_squelchOpen = false; } - m_squelchOpen = m_squelchCount == m_squelchGate; - if (m_squelchOpen) { sample = demod; diff --git a/plugins/channel/demoddsd/dsddemodgui.ui b/plugins/channel/demoddsd/dsddemodgui.ui index cef8fadf2..59ea28e8d 100644 --- a/plugins/channel/demoddsd/dsddemodgui.ui +++ b/plugins/channel/demoddsd/dsddemodgui.ui @@ -522,7 +522,7 @@ Squelch gate (ms) - 1 + 0 50