1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 17:58:43 -05:00

New scope: separate trace delay and pre-trigger trace processes

This commit is contained in:
f4exb 2017-02-09 00:18:28 +01:00
parent aed77d60a8
commit a64fb01119

View File

@ -210,14 +210,24 @@ void ScopeVisNG::processTrace(const SampleVector::const_iterator& cbegin, const
SampleVector::iterator mend = m_traceDiscreteMemory.current().current(); SampleVector::iterator mend = m_traceDiscreteMemory.current().current();
SampleVector::iterator mbegin = mend - count; SampleVector::iterator mbegin = mend - count;
// trace back if (m_traceStart)
if ((m_traceStart) && (m_preTriggerDelay + m_maxTraceDelay > 0))
{ {
remainder = processTraces(mbegin - m_preTriggerDelay - m_maxTraceDelay, mbegin, true); // trace back
if (m_maxTraceDelay > 0)
{
processTraces(mbegin - m_preTriggerDelay - m_maxTraceDelay, mbegin - m_preTriggerDelay, true);
}
// pre-trigger
if (m_preTriggerDelay > 0)
{
remainder = processTraces(mbegin - m_preTriggerDelay, mbegin);
}
m_traceStart = false; m_traceStart = false;
} }
if (remainder < 0) if (remainder < 0)
{ {
// live trace // live trace
@ -287,7 +297,7 @@ int ScopeVisNG::processTraces(const SampleVector::const_iterator& cbegin, const
for (; itCtl != m_traces.m_tracesControl.end(); ++itCtl, ++itData, ++itTrace) for (; itCtl != m_traces.m_tracesControl.end(); ++itCtl, ++itData, ++itTrace)
{ {
if (traceBack && ((end - begin) > m_preTriggerDelay + itData->m_traceDelay)) { if (traceBack && ((end - begin) > itData->m_traceDelay)) {
continue; continue;
} }