update smith chart reference impedance when trace impedance changes but keep smith lines in place
Some checks failed
Build / PC_Application_Ubuntu (push) Has been cancelled
Build / PC_Application_Windows (push) Has been cancelled
Build / PC_Application_OSX (push) Has been cancelled
Build / Embedded_Firmware (push) Has been cancelled
Build / Tests (push) Has been cancelled

This commit is contained in:
Jan Käberich 2024-03-01 09:25:47 +01:00
parent b7c2bf7cdd
commit e93e364079
4 changed files with 12 additions and 6 deletions

View File

@ -179,12 +179,17 @@ void Trace::addDeembeddingData(const Trace::Data &d, double reference_impedance,
deembeddingData.insert(lower, d);
}
}
if(deembedded_reference_impedance != reference_impedance) {
deembedded_reference_impedance = reference_impedance;
if(deembeddingActive) {
emit typeChanged(this);
}
}
if(deembeddingActive) {
emit outputSamplesChanged(index, index + 1);
}
if(!wasAvailable) {
emit deembeddingChanged();
emit deembeddingChanged(this);
}
}
@ -1333,14 +1338,13 @@ void Trace::setDeembeddingActive(bool active)
emit outputSamplesChanged(0, data.size());
}
}
emit deembeddingChanged();
emit deembeddingChanged(this);
}
void Trace::clearDeembedding()
{
deembeddingData.clear();
setDeembeddingActive(false);
deembeddingChanged();
}
double Trace::minX()

View File

@ -207,7 +207,7 @@ signals:
void dataChanged(unsigned int begin, unsigned int end);
void nameChanged();
void pauseChanged();
void deembeddingChanged();
void deembeddingChanged(Trace *t);
void colorChanged(Trace *t);
void markerAdded(Marker *m);
void markerRemoved(Marker *m);

View File

@ -79,6 +79,7 @@ void TracePlot::enableTrace(Trace *t, bool enabled)
connect(t, &Trace::markerAdded, this, &TracePlot::markerAdded);
connect(t, &Trace::markerRemoved, this, &TracePlot::markerRemoved);
connect(t, &Trace::typeChanged, this, &TracePlot::checkIfStillSupported);
connect(t, &Trace::deembeddingChanged, this, &TracePlot::checkIfStillSupported);
connect(t, &Trace::colorChanged, this, &TracePlot::triggerReplot);
} else {
// disconnect from notifications
@ -88,6 +89,7 @@ void TracePlot::enableTrace(Trace *t, bool enabled)
disconnect(t, &Trace::markerAdded, this, &TracePlot::markerAdded);
disconnect(t, &Trace::markerRemoved, this, &TracePlot::markerRemoved);
disconnect(t, &Trace::typeChanged, this, &TracePlot::checkIfStillSupported);
disconnect(t, &Trace::deembeddingChanged, this, &TracePlot::checkIfStillSupported);
disconnect(t, &Trace::colorChanged, this, &TracePlot::triggerReplot);
}
updateContextMenu();

View File

@ -279,7 +279,7 @@ void TraceSmithChart::draw(QPainter &p) {
// center line visible
p.drawLine(dataToPixel(p1),dataToPixel(p2));
}
constexpr std::array<double, 5> impedanceLines = {10, 25, 50, 100, 250};
const std::array<double, 5> impedanceLines = {Z0*0.2, Z0*0.5, Z0, Z0*2, Z0*5};
for(auto z : impedanceLines) {
z /= Z0;
auto radius = 1.0/z;