Use trace data after math operations for eye diagram plot

This commit is contained in:
Jan Käberich 2023-10-24 17:41:45 +02:00
parent 503d689d51
commit 79290d0f36
3 changed files with 8 additions and 1 deletions

View File

@ -82,9 +82,13 @@ void EyeDiagramPlot::enableTrace(Trace *t, bool enabled)
TracePlot::enableTrace(t, enabled);
if(enabled) {
trace = t;
tdr->assignInput(trace);
tdr->assignInput(trace->getLastMath());
connect(trace, &Trace::lastMathChanged, this, [=](){
tdr->assignInput(trace->getLastMath());
});
} else {
if(trace) {
disconnect(trace, &Trace::lastMathChanged, this, nullptr);
tdr->removeInput();
std::lock_guard<std::mutex> calc(calcMutex);
displayData->clear();

View File

@ -1103,6 +1103,7 @@ void Trace::updateLastMath(vector<MathInfo>::reverse_iterator start)
lastMath = newLast;
// relay signals of end of math chain
connect(lastMath, &TraceMath::outputSamplesChanged, this, &Trace::dataChanged);
emit lastMathChanged();
emit typeChanged(this);
emit outputSamplesChanged(0, data.size());
}

View File

@ -66,6 +66,7 @@ public:
QString liveParameter() { return liveParam; }
LivedataType liveType() { return _liveType; }
TraceMath::DataType outputType() const { return lastMath->getDataType(); }
TraceMath *getLastMath() { return lastMath;}
unsigned int size() const;
bool isDeembeddingActive();
@ -211,6 +212,7 @@ signals:
void markerAdded(Marker *m);
void markerRemoved(Marker *m);
void markerFormatChanged(Marker *m);
void lastMathChanged();
private slots:
void markerVisibilityChanged(Marker *m);