diff --git a/Software/PC_Application/Calibration/amplitudecaldialog.ui b/Software/PC_Application/Calibration/amplitudecaldialog.ui index ed8e848..3c28934 100644 --- a/Software/PC_Application/Calibration/amplitudecaldialog.ui +++ b/Software/PC_Application/Calibration/amplitudecaldialog.ui @@ -51,17 +51,6 @@ - - - - Help - - - - .. - - - diff --git a/Software/PC_Application/Calibration/calibrationtracedialog.cpp b/Software/PC_Application/Calibration/calibrationtracedialog.cpp index d6717b0..2ecbcb3 100644 --- a/Software/PC_Application/Calibration/calibrationtracedialog.cpp +++ b/Software/PC_Application/Calibration/calibrationtracedialog.cpp @@ -2,8 +2,9 @@ #include "ui_calibrationtracedialog.h" #include "measurementmodel.h" #include +#include "CustomWidgets/informationbox.h" -CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Calibration::Type type) : +CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Protocol::SweepSettings sweep, Calibration::Type type) : QDialog(nullptr), ui(new Ui::CalibrationTraceDialog), cal(cal), @@ -22,6 +23,16 @@ CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Calibration::Ty ui->tableView->setColumnWidth(2, 320); ui->tableView->setColumnWidth(3, 160); UpdateCalibrationStatus(); + + // Check calibration kit span + if(type != Calibration::Type::None) { + auto kit = cal->getCalibrationKit(); + auto isTRL = type == Calibration::Type::TRL; + if(kit.minFreq(isTRL) > sweep.f_start || kit.maxFreq(isTRL) < sweep.f_stop) { + InformationBox::ShowMessage("Warning", "The calibration kit does not completely cover the currently selected span. " + "Applying a calibration will not be possible for any measurements taken with these settings."); + } + } } CalibrationTraceDialog::~CalibrationTraceDialog() diff --git a/Software/PC_Application/Calibration/calibrationtracedialog.h b/Software/PC_Application/Calibration/calibrationtracedialog.h index 2d8546d..952e7b0 100644 --- a/Software/PC_Application/Calibration/calibrationtracedialog.h +++ b/Software/PC_Application/Calibration/calibrationtracedialog.h @@ -4,6 +4,7 @@ #include #include "calibration.h" #include "measurementmodel.h" +#include "Device/device.h" namespace Ui { class CalibrationTraceDialog; @@ -14,7 +15,7 @@ class CalibrationTraceDialog : public QDialog Q_OBJECT public: - explicit CalibrationTraceDialog(Calibration *cal, Calibration::Type type = Calibration::Type::None); + explicit CalibrationTraceDialog(Calibration *cal, Protocol::SweepSettings sweep, Calibration::Type type = Calibration::Type::None); ~CalibrationTraceDialog(); public slots: diff --git a/Software/PC_Application/Calibration/calkit.cpp b/Software/PC_Application/Calibration/calkit.cpp index 05efd97..bd4a607 100644 --- a/Software/PC_Application/Calibration/calkit.cpp +++ b/Software/PC_Application/Calibration/calkit.cpp @@ -394,12 +394,12 @@ void Calkit::fillTouchstoneCache() if(SOLT.Short.useMeasurements) { ts_short = new Touchstone(1); *ts_short = Touchstone::fromFile(SOLT.Short.file.toStdString()); - ts_open->reduceTo1Port(SOLT.Short.Sparam); + ts_short->reduceTo1Port(SOLT.Short.Sparam); } if(SOLT.Load.useMeasurements) { ts_load = new Touchstone(1); *ts_load = Touchstone::fromFile(SOLT.Load.file.toStdString()); - ts_open->reduceTo1Port(SOLT.Load.Sparam); + ts_load->reduceTo1Port(SOLT.Load.Sparam); } if(SOLT.Through.useMeasurements) { ts_through = new Touchstone(2); diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index 3426d28..d7fbcbd 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -743,7 +743,7 @@ void VNA::StopSweep() void VNA::StartCalibrationDialog(Calibration::Type type) { - auto traceDialog = new CalibrationTraceDialog(&cal, type); + auto traceDialog = new CalibrationTraceDialog(&cal, settings, type); connect(traceDialog, &CalibrationTraceDialog::triggerMeasurement, this, &VNA::StartCalibrationMeasurement); connect(traceDialog, &CalibrationTraceDialog::applyCalibration, this, &VNA::ApplyCalibration); connect(this, &VNA::CalibrationMeasurementComplete, traceDialog, &CalibrationTraceDialog::measurementComplete);