Mew scope: trace memory: process scope updates

This commit is contained in:
f4exb 2017-02-25 04:35:06 +01:00
parent 713826cbf4
commit aa47e0fb94
3 changed files with 28 additions and 6 deletions

View File

@ -538,6 +538,10 @@ bool ScopeVisNG::handleMessage(const Message& message)
<< " m_preTriggerDelay: " << m_preTriggerDelay
<< " m_freeRun: " << m_freeRun;
if ((m_glScope) && (m_currentTraceMemoryIndex > 0)) {
processMemoryTrace();
}
return true;
}
else if (MsgScopeVisNGAddTrigger::match(message))
@ -562,7 +566,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
{
computeDisplayTriggerLevels();
m_glScope->setFocusedTriggerData(m_triggerConditions[m_focusedTriggerIndex].m_triggerData);
m_glScope->updateDisplay();
updateGLScopeDisplay();
}
}
@ -590,7 +594,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
m_focusedTriggerIndex = triggerIndex;
computeDisplayTriggerLevels();
m_glScope->setFocusedTriggerData(m_triggerConditions[m_focusedTriggerIndex].m_triggerData);
m_glScope->updateDisplay();
updateGLScopeDisplay();
}
return true;
@ -603,7 +607,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
initTraceBuffers();
updateMaxTraceDelay();
computeDisplayTriggerLevels();
m_glScope->updateDisplay();
updateGLScopeDisplay();
return true;
}
else if (MsgScopeVisNGChangeTrace::match(message))
@ -614,7 +618,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
m_traces.changeTrace(conf.getTraceData(), conf.getTraceIndex());
updateMaxTraceDelay();
if (doComputeTriggerLevelsOnDisplay) computeDisplayTriggerLevels();
m_glScope->updateDisplay();
updateGLScopeDisplay();
return true;
}
else if (MsgScopeVisNGRemoveTrace::match(message))
@ -624,7 +628,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
m_traces.removeTrace(conf.getTraceIndex());
updateMaxTraceDelay();
computeDisplayTriggerLevels();
m_glScope->updateDisplay();
updateGLScopeDisplay();
return true;
}
else if (MsgScopeVisNGFocusOnTrace::match(message))
@ -637,7 +641,7 @@ bool ScopeVisNG::handleMessage(const Message& message)
m_focusedTraceIndex = traceIndex;
computeDisplayTriggerLevels();
m_glScope->setFocusedTraceIndex(m_focusedTraceIndex);
m_glScope->updateDisplay();
updateGLScopeDisplay();
}
return true;
@ -773,3 +777,13 @@ void ScopeVisNG::computeDisplayTriggerLevels()
}
}
}
void ScopeVisNG::updateGLScopeDisplay()
{
if (m_currentTraceMemoryIndex > 0) {
m_glScope->setConfigChanged();
processMemoryTrace();
} else {
m_glScope->updateDisplay();
}
}

View File

@ -978,6 +978,13 @@ private:
* - every time a trace data is added or removed
*/
void computeDisplayTriggerLevels();
/**
* Update glScope display
* - Live trace: call glScipe update method
* - Trace in memory: call process memory trace
*/
void updateGLScopeDisplay();
};

View File

@ -68,6 +68,7 @@ public:
void setDisplayGridIntensity(int intensity);
void setDisplayTraceIntensity(int intensity);
void setFocusedTriggerData(ScopeVisNG::TriggerData& triggerData) { m_focusedTriggerData = triggerData; }
void setConfigChanged() { m_configChanged = true; }
//void incrementTraceCounter() { m_traceCounter++; }
bool getDataChanged() const { return m_dataChanged; }