From d17df4690a6f6cdbf44395a178b9c49744838c94 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 27 Oct 2018 23:16:56 +0200 Subject: [PATCH] Scope: implemented a fixed trigger holdoff of 2 samples --- sdrgui/dsp/scopevis.h | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/sdrgui/dsp/scopevis.h b/sdrgui/dsp/scopevis.h index d32ca47a0..2d6084e79 100644 --- a/sdrgui/dsp/scopevis.h +++ b/sdrgui/dsp/scopevis.h @@ -1021,7 +1021,7 @@ private: class TriggerComparator { public: - TriggerComparator() : m_level(0), m_reset(true) + TriggerComparator() : m_level(0), m_reset(true), m_holdoff(2), m_trues(0), m_falses(0) { computeLevels(); } @@ -1044,6 +1044,25 @@ private: condition = triggerCondition.m_projector.run(s) > m_level; } + if (condition) + { + if (m_trues < m_holdoff) { + condition = false; + m_trues++; + } else { + m_falses = 0; + } + } + else + { + if (m_falses < m_holdoff) { + condition = true; + m_falses++; + } else { + m_trues = 0; + } + } + if (m_reset) { triggerCondition.m_prevCondition = condition; @@ -1087,6 +1106,9 @@ private: Real m_levelPowerDB; Real m_levelPowerLin; bool m_reset; + uint32_t m_holdoff; + uint32_t m_trues; + uint32_t m_falses; }; GLScope* m_glScope;