Bugfixes calkit

This commit is contained in:
Jan Käberich 2020-11-19 21:17:29 +01:00
parent 89c7948d1e
commit 5ca7c07f80
5 changed files with 17 additions and 16 deletions

View File

@ -51,17 +51,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="help">
<property name="text">
<string>Help</string>
</property>
<property name="icon">
<iconset theme="help">
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="load"> <widget class="QPushButton" name="load">
<property name="text"> <property name="text">

View File

@ -2,8 +2,9 @@
#include "ui_calibrationtracedialog.h" #include "ui_calibrationtracedialog.h"
#include "measurementmodel.h" #include "measurementmodel.h"
#include <QStyle> #include <QStyle>
#include "CustomWidgets/informationbox.h"
CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Calibration::Type type) : CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Protocol::SweepSettings sweep, Calibration::Type type) :
QDialog(nullptr), QDialog(nullptr),
ui(new Ui::CalibrationTraceDialog), ui(new Ui::CalibrationTraceDialog),
cal(cal), cal(cal),
@ -22,6 +23,16 @@ CalibrationTraceDialog::CalibrationTraceDialog(Calibration *cal, Calibration::Ty
ui->tableView->setColumnWidth(2, 320); ui->tableView->setColumnWidth(2, 320);
ui->tableView->setColumnWidth(3, 160); ui->tableView->setColumnWidth(3, 160);
UpdateCalibrationStatus(); 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() CalibrationTraceDialog::~CalibrationTraceDialog()

View File

@ -4,6 +4,7 @@
#include <QDialog> #include <QDialog>
#include "calibration.h" #include "calibration.h"
#include "measurementmodel.h" #include "measurementmodel.h"
#include "Device/device.h"
namespace Ui { namespace Ui {
class CalibrationTraceDialog; class CalibrationTraceDialog;
@ -14,7 +15,7 @@ class CalibrationTraceDialog : public QDialog
Q_OBJECT Q_OBJECT
public: 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(); ~CalibrationTraceDialog();
public slots: public slots:

View File

@ -394,12 +394,12 @@ void Calkit::fillTouchstoneCache()
if(SOLT.Short.useMeasurements) { if(SOLT.Short.useMeasurements) {
ts_short = new Touchstone(1); ts_short = new Touchstone(1);
*ts_short = Touchstone::fromFile(SOLT.Short.file.toStdString()); *ts_short = Touchstone::fromFile(SOLT.Short.file.toStdString());
ts_open->reduceTo1Port(SOLT.Short.Sparam); ts_short->reduceTo1Port(SOLT.Short.Sparam);
} }
if(SOLT.Load.useMeasurements) { if(SOLT.Load.useMeasurements) {
ts_load = new Touchstone(1); ts_load = new Touchstone(1);
*ts_load = Touchstone::fromFile(SOLT.Load.file.toStdString()); *ts_load = Touchstone::fromFile(SOLT.Load.file.toStdString());
ts_open->reduceTo1Port(SOLT.Load.Sparam); ts_load->reduceTo1Port(SOLT.Load.Sparam);
} }
if(SOLT.Through.useMeasurements) { if(SOLT.Through.useMeasurements) {
ts_through = new Touchstone(2); ts_through = new Touchstone(2);

View File

@ -743,7 +743,7 @@ void VNA::StopSweep()
void VNA::StartCalibrationDialog(Calibration::Type type) 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::triggerMeasurement, this, &VNA::StartCalibrationMeasurement);
connect(traceDialog, &CalibrationTraceDialog::applyCalibration, this, &VNA::ApplyCalibration); connect(traceDialog, &CalibrationTraceDialog::applyCalibration, this, &VNA::ApplyCalibration);
connect(this, &VNA::CalibrationMeasurementComplete, traceDialog, &CalibrationTraceDialog::measurementComplete); connect(this, &VNA::CalibrationMeasurementComplete, traceDialog, &CalibrationTraceDialog::measurementComplete);