diff --git a/Software/PC_Application/Traces/Marker/marker.cpp b/Software/PC_Application/Traces/Marker/marker.cpp index ecaec13..01e6318 100644 --- a/Software/PC_Application/Traces/Marker/marker.cpp +++ b/Software/PC_Application/Traces/Marker/marker.cpp @@ -109,6 +109,8 @@ QString Marker::formatToString(Marker::Format f) { switch(f) { case Format::dB: return "dB"; + case Format::dBm: return "dBm"; + case Format::dBuV: return "dBuV"; case Format::dBAngle: return "dB + angle"; case Format::RealImag: return "real + imag"; case Format::Impedance: return "Impedance"; @@ -179,9 +181,14 @@ std::vector Marker::applicableFormats() case Type::Maximum: case Type::Minimum: case Type::PeakTable: - ret.push_back(Format::dB); - ret.push_back(Format::dBAngle); - ret.push_back(Format::RealImag); + if(Trace::isSAParamater(parentTrace->liveParameter())) { + ret.push_back(Format::dBm); + ret.push_back(Format::dBuV); + } else { + ret.push_back(Format::dB); + ret.push_back(Format::dBAngle); + ret.push_back(Format::RealImag); + } if(parentTrace) { if(parentTrace->isReflection()) { ret.push_back(Format::Impedance); @@ -315,6 +322,9 @@ QString Marker::readableData(Format f) } switch(f) { case Format::dB: return "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4); + case Format::dBm: return "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dBm", " ", 4); + case Format::dBuV: + return "Δ:"+Unit::ToString(Util::dBmTodBuV(Util::SparamTodB(data)) - Util::dBmTodBuV(Util::SparamTodB(delta->data)), "dBuV", " ", 4); case Format::dBAngle: { QString ret = "Δ:"+Unit::ToString(Util::SparamTodB(data) - Util::SparamTodB(delta->data), "dB", " ", 4) + "/"; auto phase = arg(data)*180/M_PI; @@ -346,6 +356,9 @@ QString Marker::readableData(Format f) default: switch(f) { case Format::dB: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4); + case Format::dBm: return Unit::ToString(Util::SparamTodB(data), "dBm", " ", 4); + case Format::dBuV: + return Unit::ToString(Util::dBmTodBuV(Util::SparamTodB(data)), "dBuV", " ", 4); case Format::dBAngle: return Unit::ToString(Util::SparamTodB(data), "dB", " ", 4) + "/"+Unit::ToString(arg(data)*180/M_PI, "°", " ", 4); case Format::RealImag: return Unit::ToString(data.real(), "", " ", 5) + "+"+Unit::ToString(data.imag(), "", " ", 5)+"j"; case Format::VSWR: diff --git a/Software/PC_Application/Traces/Marker/marker.h b/Software/PC_Application/Traces/Marker/marker.h index 9e2117a..db9ffe2 100644 --- a/Software/PC_Application/Traces/Marker/marker.h +++ b/Software/PC_Application/Traces/Marker/marker.h @@ -24,6 +24,8 @@ public: enum class Format { dB, + dBm, + dBuV, dBAngle, RealImag, Impedance, diff --git a/Software/PC_Application/Traces/traceaxis.cpp b/Software/PC_Application/Traces/traceaxis.cpp index bc6c9a8..8b18b85 100644 --- a/Software/PC_Application/Traces/traceaxis.cpp +++ b/Software/PC_Application/Traces/traceaxis.cpp @@ -188,7 +188,7 @@ QString YAxis::TypeToName(Type type) { switch(type) { case Type::Disabled: return "Disabled"; - case Type::Magnitude: return "Magnitude (dB/dBm)"; + case Type::Magnitude: return "Magnitude"; case Type::MagnitudedBuV: return "Magnitude (dBuV)"; case Type::MagnitudeLinear: return "Magnitude (linear)"; case Type::Phase: return "Phase"; diff --git a/Software/PC_Application/Traces/waterfallaxisdialog.cpp b/Software/PC_Application/Traces/waterfallaxisdialog.cpp index 88debc9..fa6a3c4 100644 --- a/Software/PC_Application/Traces/waterfallaxisdialog.cpp +++ b/Software/PC_Application/Traces/waterfallaxisdialog.cpp @@ -125,6 +125,7 @@ void WaterfallAxisDialog::on_buttonBox_accepted() plot->keepDataBeyondPlotSize = true; } plot->align = (TraceWaterfall::Alignment) ui->Xalignment->currentIndex(); + plot->updateYAxis(); } void WaterfallAxisDialog::XAxisTypeChanged(int XAxisIndex)