1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-02 13:17:48 -04:00

New scope: review freerun / trigger processing

This commit is contained in:
f4exb 2017-02-09 00:00:21 +01:00
parent f2b04539cf
commit e3b933350c

View File

@ -174,29 +174,33 @@ void ScopeVisNG::processTrace(const SampleVector::const_iterator& cbegin, const
// trigger process // trigger process
if (!m_freeRun && (m_triggerConditions.size() > 0) && ((m_triggerState == TriggerUntriggered) || (m_triggerState == TriggerDelay))) if ((m_freeRun) || (m_triggerConditions.size() == 0)) // immediate re-trigger
{ {
TriggerCondition& triggerCondition = m_triggerConditions[m_currentTriggerIndex]; // current trigger condition m_traceStart = true; // start trace processing
m_triggerState = TriggerTriggered;
while (begin < end) }
else
{
if ((m_triggerState == TriggerUntriggered) || (m_triggerState == TriggerDelay))
{ {
// look for trigger TriggerCondition& triggerCondition = m_triggerConditions[m_currentTriggerIndex]; // current trigger condition
if (m_triggerComparator.triggered(*begin, triggerCondition))
{
m_traceStart = true; // start trace processing
m_triggerPoint = begin;
m_triggerComparator.reset();
m_triggerState = TriggerTriggered;
break;
}
++begin; while (begin < end)
{
// look for trigger
if (m_triggerComparator.triggered(*begin, triggerCondition))
{
m_traceStart = true; // start trace processing
m_triggerPoint = begin;
m_triggerComparator.reset();
m_triggerState = TriggerTriggered;
break;
}
++begin;
}
} }
} }
else
{
m_traceStart = true;
}
int remainder = -1; int remainder = -1;
int count = end - begin; // number of samples in traceback buffer past the current point int count = end - begin; // number of samples in traceback buffer past the current point
@ -204,7 +208,7 @@ void ScopeVisNG::processTrace(const SampleVector::const_iterator& cbegin, const
SampleVector::iterator nbegin = nend - count; SampleVector::iterator nbegin = nend - count;
// trace process // trace process
if ((m_freeRun) || (m_triggerConditions.size() == 0) || (m_triggerState == TriggerTriggered)) if (m_triggerState == TriggerTriggered)
{ {
// trace back // trace back