From cde385935d12411213766047011e43fad7ac34af Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 30 Nov 2020 17:05:15 +0100 Subject: [PATCH 1/6] Calibration - highlight state; save/load cosmetics --- .../Calibration/calibration.cpp | 36 +++++++++++++++++-- .../PC_Application/Calibration/calibration.h | 1 + Software/PC_Application/VNA/vna.cpp | 10 +++++- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp index 3b27a6f..54f02c9 100644 --- a/Software/PC_Application/Calibration/calibration.cpp +++ b/Software/PC_Application/Calibration/calibration.cpp @@ -679,7 +679,7 @@ bool Calibration::openFromFile(QString filename) return false; } } -qDebug() << "Attempting to open calibration from file" << filename; + qDebug() << "Attempting to open calibration from file" << filename; // reset all data before loading new calibration clearMeasurements(); @@ -716,7 +716,14 @@ qDebug() << "Attempting to open calibration from file" << filename; bool Calibration::saveToFile(QString filename) { if(filename.isEmpty()) { - filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", "", "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog); + // suggest descriptive name + QString fn = Calibration::TypeToString(this->getType()) + + " " + + hzToString(minFreq) + "-" + hzToString(maxFreq) + + " " + + QString::number(points.size()) + "pt"; + // + filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", fn, "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog); if(filename.isEmpty()) { // aborted selection return false; @@ -738,6 +745,31 @@ bool Calibration::saveToFile(QString filename) return true; } +/** + * @brief Calibration::hzToString + * @param freqHz - input frequency in Hz + * @return frequency in human-readable form such as 145k 2M, 2.1M, 3.45G + */ +QString Calibration::hzToString(double freqHz){ + int dgt = 3; // how many significant digits + QString res = ""; // initialize + + if (freqHz <= 999) { + // 0-999Hz + res = QString::number(freqHz / 1, 'g', dgt) + "Hz"; // 1.23Hz, 45Hz, 88.5Hz + } else if (freqHz <= 999999) { + // 1k-999kHz + res = QString::number(freqHz / 1000, 'g', dgt) + "k"; + } else if (freqHz <= 999999999) { + // 1M-999M + res = QString::number(freqHz / 1000000, 'g', dgt) + "M"; + } else { + // 1G-... + res = QString::number(freqHz / 1000000000, 'g', dgt) + "G"; + } + return res; +} + ostream& operator<<(ostream &os, const Calibration &c) { for(auto m : c.measurements) { diff --git a/Software/PC_Application/Calibration/calibration.h b/Software/PC_Application/Calibration/calibration.h index 47b496d..76e40b7 100644 --- a/Software/PC_Application/Calibration/calibration.h +++ b/Software/PC_Application/Calibration/calibration.h @@ -137,6 +137,7 @@ private: std::vector points; Calkit kit; + QString hzToString(double freqHz); }; #endif // CALIBRATION_H diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index 96ab4fb..08d7fb2 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -287,7 +287,8 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); - tb_cal->addWidget(new QLabel("Calibration:")); + auto cbEnableCal_label = new QLabel("Calibration:"); + tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; tb_cal->addWidget(cbEnableCal); auto cbType = new QComboBox(); @@ -326,6 +327,7 @@ VNA::VNA(AppWindow *window) cbEnableCal->blockSignals(true); calDisable->setChecked(true); cbEnableCal->setCheckState(Qt::CheckState::Unchecked); + cbEnableCal_label->setStyleSheet("background-color: yellow"); cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(false); @@ -343,6 +345,7 @@ VNA::VNA(AppWindow *window) } } cbEnableCal->setCheckState(Qt::CheckState::Checked); + cbEnableCal_label->setStyleSheet(""); cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(true); @@ -427,7 +430,12 @@ void VNA::initializeDevice() if(cal.openFromFile(filename)) { ApplyCalibration(cal.getType()); portExtension.setCalkit(&cal.getCalibrationKit()); + qDebug() << "Calibration successful from " << filename; + } else { + qDebug() << "Calibration not successfull from: " << filename; } + } else { + qDebug() << "Calibration file not found: " << filename; } removeDefaultCal->setEnabled(true); } else { From 3fae95b33f1ff946ec40e7cd7e2b9aafa8e23c8b Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 30 Nov 2020 18:16:33 +0100 Subject: [PATCH 2/6] Calibration - show in tooltip --- Software/PC_Application/Calibration/calibration.cpp | 6 ++++++ Software/PC_Application/Calibration/calibration.h | 5 +++++ Software/PC_Application/VNA/vna.cpp | 4 +++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp index 54f02c9..655f7ad 100644 --- a/Software/PC_Application/Calibration/calibration.cpp +++ b/Software/PC_Application/Calibration/calibration.cpp @@ -709,6 +709,7 @@ bool Calibration::openFromFile(QString filename) qWarning() << "Calibration file parsing failed: " << e.what(); return false; } + this->currentCalFile = filename; // if all ok, remember this and show on widget return true; } @@ -741,6 +742,7 @@ bool Calibration::saveToFile(QString filename) auto calkit_file = filename + ".calkit"; qDebug() << "Saving associated calibration kit to file" << calkit_file; kit.toFile(calkit_file); + this->currentCalFile = calibration_file; // if all ok, remember this and show on widget return true; } @@ -770,6 +772,10 @@ QString Calibration::hzToString(double freqHz){ return res; } +QString Calibration::getCurrentCalibrationFile(){ + return this->currentCalFile; +} + ostream& operator<<(ostream &os, const Calibration &c) { for(auto m : c.measurements) { diff --git a/Software/PC_Application/Calibration/calibration.h b/Software/PC_Application/Calibration/calibration.h index 76e40b7..4e700ff 100644 --- a/Software/PC_Application/Calibration/calibration.h +++ b/Software/PC_Application/Calibration/calibration.h @@ -138,6 +138,11 @@ private: Calkit kit; QString hzToString(double freqHz); + +private: + QString currentCalFile; +public: + QString getCurrentCalibrationFile(); }; #endif // CALIBRATION_H diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index 08d7fb2..c4cb26a 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -287,7 +287,7 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); - auto cbEnableCal_label = new QLabel("Calibration:"); + QLabel *cbEnableCal_label = new QLabel("Calibration:"); tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; tb_cal->addWidget(cbEnableCal); @@ -328,6 +328,7 @@ VNA::VNA(AppWindow *window) calDisable->setChecked(true); cbEnableCal->setCheckState(Qt::CheckState::Unchecked); cbEnableCal_label->setStyleSheet("background-color: yellow"); + cbEnableCal_label->setToolTip("none"); cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(false); @@ -346,6 +347,7 @@ VNA::VNA(AppWindow *window) } cbEnableCal->setCheckState(Qt::CheckState::Checked); cbEnableCal_label->setStyleSheet(""); + cbEnableCal_label->setToolTip(cal.getCurrentCalibrationFile()); cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(true); From 18526407fb683f8bc2831ff5dea730ba2d43cce2 Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 30 Nov 2020 22:27:38 +0100 Subject: [PATCH 3/6] Calibration - minor changes --- Software/PC_Application/Calibration/calibration.cpp | 8 ++++---- Software/PC_Application/VNA/vna.cpp | 10 +++++----- Software/PC_Application/preferences.cpp | 5 +++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp index 655f7ad..312be66 100644 --- a/Software/PC_Application/Calibration/calibration.cpp +++ b/Software/PC_Application/Calibration/calibration.cpp @@ -709,7 +709,7 @@ bool Calibration::openFromFile(QString filename) qWarning() << "Calibration file parsing failed: " << e.what(); return false; } - this->currentCalFile = filename; // if all ok, remember this and show on widget + this->currentCalFile = filename; // if all ok, remember this return true; } @@ -717,7 +717,7 @@ bool Calibration::openFromFile(QString filename) bool Calibration::saveToFile(QString filename) { if(filename.isEmpty()) { - // suggest descriptive name + // Suggest descriptive name ie. "SOLT 40M-700M 1000pt" QString fn = Calibration::TypeToString(this->getType()) + " " + hzToString(minFreq) + "-" + hzToString(maxFreq) @@ -742,7 +742,7 @@ bool Calibration::saveToFile(QString filename) auto calkit_file = filename + ".calkit"; qDebug() << "Saving associated calibration kit to file" << calkit_file; kit.toFile(calkit_file); - this->currentCalFile = calibration_file; // if all ok, remember this and show on widget + this->currentCalFile = calibration_file; // if all ok, remember this return true; } @@ -750,7 +750,7 @@ bool Calibration::saveToFile(QString filename) /** * @brief Calibration::hzToString * @param freqHz - input frequency in Hz - * @return frequency in human-readable form such as 145k 2M, 2.1M, 3.45G + * @return frequency in human-friendly form such as 145k 2M, 2.1M, 3.45G */ QString Calibration::hzToString(double freqHz){ int dgt = 3; // how many significant digits diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index c4cb26a..8d41d61 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -287,7 +287,7 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); - QLabel *cbEnableCal_label = new QLabel("Calibration:"); + QLabel *cbEnableCal_label = new QLabel("Calibration:"); // correct object type tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; tb_cal->addWidget(cbEnableCal); @@ -327,8 +327,8 @@ VNA::VNA(AppWindow *window) cbEnableCal->blockSignals(true); calDisable->setChecked(true); cbEnableCal->setCheckState(Qt::CheckState::Unchecked); - cbEnableCal_label->setStyleSheet("background-color: yellow"); - cbEnableCal_label->setToolTip("none"); + cbEnableCal_label->setStyleSheet("background-color: yellow"); // visually indicate loss of calibration + cbEnableCal_label->setToolTip("none"); // cal. file unknown at this moment cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(false); @@ -346,8 +346,8 @@ VNA::VNA(AppWindow *window) } } cbEnableCal->setCheckState(Qt::CheckState::Checked); - cbEnableCal_label->setStyleSheet(""); - cbEnableCal_label->setToolTip(cal.getCurrentCalibrationFile()); + cbEnableCal_label->setStyleSheet(""); // restore default look of widget + cbEnableCal_label->setToolTip(cal.getCurrentCalibrationFile()); // on hover, show name of active cal. file cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(true); diff --git a/Software/PC_Application/preferences.cpp b/Software/PC_Application/preferences.cpp index 6ca99dd..d1bc3b0 100644 --- a/Software/PC_Application/preferences.cpp +++ b/Software/PC_Application/preferences.cpp @@ -163,6 +163,11 @@ void PreferencesDialog::setInitialGUIState() ui->GeneralGraphBackground->setColor(p->General.graphColors.background); ui->GeneralGraphAxis->setColor(p->General.graphColors.axis); ui->GeneralGraphDivisions->setColor(p->General.graphColors.divisions); + + QTreeWidgetItem *item = ui->treeWidget->topLevelItem(0); + if (item != nullptr) { + ui->treeWidget->setCurrentItem(item); // visually select first item + } } void Preferences::load() From 323fb88c8f9f19f5f1e611e9a0bc19f572441be6 Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 7 Dec 2020 02:44:25 +0100 Subject: [PATCH 4/6] Using Unit::ToString for descriptive calibration name --- .../Calibration/calibration.cpp | 45 +++++++++---------- .../PC_Application/Calibration/calibration.h | 2 +- Software/PC_Application/VNA/vna.cpp | 3 +- Software/PC_Application/VNA/vna.h | 1 + 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp index 312be66..9c0ab31 100644 --- a/Software/PC_Application/Calibration/calibration.cpp +++ b/Software/PC_Application/Calibration/calibration.cpp @@ -717,13 +717,7 @@ bool Calibration::openFromFile(QString filename) bool Calibration::saveToFile(QString filename) { if(filename.isEmpty()) { - // Suggest descriptive name ie. "SOLT 40M-700M 1000pt" - QString fn = Calibration::TypeToString(this->getType()) - + " " - + hzToString(minFreq) + "-" + hzToString(maxFreq) - + " " - + QString::number(points.size()) + "pt"; - // + QString fn = descriptiveCalName(); filename = QFileDialog::getSaveFileName(nullptr, "Save calibration data", fn, "Calibration files (*.cal)", nullptr, QFileDialog::DontUseNativeDialog); if(filename.isEmpty()) { // aborted selection @@ -750,26 +744,27 @@ bool Calibration::saveToFile(QString filename) /** * @brief Calibration::hzToString * @param freqHz - input frequency in Hz - * @return frequency in human-friendly form such as 145k 2M, 2.1M, 3.45G + * @return descriptive name ie. "SOLT 40M-700M 1000pt" */ -QString Calibration::hzToString(double freqHz){ - int dgt = 3; // how many significant digits - QString res = ""; // initialize - - if (freqHz <= 999) { - // 0-999Hz - res = QString::number(freqHz / 1, 'g', dgt) + "Hz"; // 1.23Hz, 45Hz, 88.5Hz - } else if (freqHz <= 999999) { - // 1k-999kHz - res = QString::number(freqHz / 1000, 'g', dgt) + "k"; - } else if (freqHz <= 999999999) { - // 1M-999M - res = QString::number(freqHz / 1000000, 'g', dgt) + "M"; - } else { - // 1G-... - res = QString::number(freqHz / 1000000000, 'g', dgt) + "G"; +QString Calibration::descriptiveCalName(){ + int precision = 3; + QString lo = Unit::ToString(this->minFreq, "", " kMG", precision); // seems to work, but what are 2nd and 3rd parameters??? + QString hi = Unit::ToString(this->maxFreq, "", " kMG", precision); + // due to rounding up 123.66M and 123.99M -> we get lo="124M" and hi="124M" + // so let's add some precision + if (lo == hi) { + // Only in case of 123.66M and 123.69M we would need 5 digits, but that kind of narrow cal. is very unlikely. + precision = 4; + lo = Unit::ToString(this->minFreq, "", " kMG", precision); + hi = Unit::ToString(this->maxFreq, "", " kMG", precision); } - return res; + + QString tmp = Calibration::TypeToString(this->getType()) + + " " + + lo + "-" + hi + + " " + + QString::number(this->points.size()) + "pt"; + return tmp; } QString Calibration::getCurrentCalibrationFile(){ diff --git a/Software/PC_Application/Calibration/calibration.h b/Software/PC_Application/Calibration/calibration.h index 4e700ff..488e6d1 100644 --- a/Software/PC_Application/Calibration/calibration.h +++ b/Software/PC_Application/Calibration/calibration.h @@ -137,7 +137,7 @@ private: std::vector points; Calkit kit; - QString hzToString(double freqHz); + QString descriptiveCalName(); private: QString currentCalFile; diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index c989d07..f775edd 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -287,7 +287,7 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); - QLabel *cbEnableCal_label = new QLabel("Calibration:"); // correct object type + QLabel *cbEnableCal_label = new QLabel("Calibration:"); tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; tb_cal->addWidget(cbEnableCal); @@ -412,6 +412,7 @@ VNA::VNA(AppWindow *window) finalize(central); } + void VNA::deactivate() { StoreSweepSettings(); diff --git a/Software/PC_Application/VNA/vna.h b/Software/PC_Application/VNA/vna.h index f9db043..7046b3f 100644 --- a/Software/PC_Application/VNA/vna.h +++ b/Software/PC_Application/VNA/vna.h @@ -71,6 +71,7 @@ private: bool calWaitFirst; QProgressDialog calDialog; + QMenu *defaultCalMenu; QAction *assignDefaultCal, *removeDefaultCal; QAction *saveCal; From 059eaafb40cc88910d33dbdbeb1129d412119f14 Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 7 Dec 2020 04:18:01 +0100 Subject: [PATCH 5/6] Cal widget in multiple colors attempt - not ok --- Software/PC_Application/VNA/vna.cpp | 50 ++++++++++++++++++++++++++--- Software/PC_Application/VNA/vna.h | 2 ++ 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index f775edd..c37ecc3 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -288,6 +288,8 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); QLabel *cbEnableCal_label = new QLabel("Calibration:"); + cbEnableCal_label->setStyleSheet(getCalStyleStr()); // on app start + cbEnableCal_label->setToolTip(getCalToolTip()); // no cal. file loaded tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; tb_cal->addWidget(cbEnableCal); @@ -327,8 +329,8 @@ VNA::VNA(AppWindow *window) cbEnableCal->blockSignals(true); calDisable->setChecked(true); cbEnableCal->setCheckState(Qt::CheckState::Unchecked); - cbEnableCal_label->setStyleSheet("background-color: yellow"); // visually indicate loss of calibration - cbEnableCal_label->setToolTip("none"); // cal. file unknown at this moment + cbEnableCal_label->setStyleSheet(getCalStyleStr()); // visually indicate loss of calibration + cbEnableCal_label->setToolTip(getCalToolTip()); // cal. file unknown at this moment cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(false); @@ -346,8 +348,8 @@ VNA::VNA(AppWindow *window) } } cbEnableCal->setCheckState(Qt::CheckState::Checked); - cbEnableCal_label->setStyleSheet(""); // restore default look of widget - cbEnableCal_label->setToolTip(cal.getCurrentCalibrationFile()); // on hover, show name of active cal. file + cbEnableCal_label->setStyleSheet(getCalStyleStr()); // restore default look of widget + cbEnableCal_label->setToolTip(getCalToolTip()); // on hover, show name of active cal. file cbType->blockSignals(false); cbEnableCal->blockSignals(false); calImportTerms->setEnabled(true); @@ -412,6 +414,46 @@ VNA::VNA(AppWindow *window) finalize(central); } +QString VNA::getCalStyleStr() +{ + Calibration::InterpolationType interpol = cal.getInterpolation(settings); + QString style = ""; + switch (interpol) + { + case Calibration::InterpolationType::Unchanged: + case Calibration::InterpolationType::Exact: + case Calibration::InterpolationType::Interpolate: + style = ""; + break; + + case Calibration::InterpolationType::Extrapolate: + style = "background-color: yellow"; + break; + case Calibration::InterpolationType::NoCalibration: + style = "background-color: red"; + break; + } + return style; +} + +QString VNA::getCalToolTip() +{ + Calibration::InterpolationType interpol = cal.getInterpolation(settings); + QString txt = ""; + switch (interpol) + { + case Calibration::InterpolationType::Unchanged: + case Calibration::InterpolationType::Exact: + case Calibration::InterpolationType::Interpolate: + case Calibration::InterpolationType::Extrapolate: + txt = cal.getCurrentCalibrationFile(); + break; + case Calibration::InterpolationType::NoCalibration: + txt = "none"; + break; + } + return txt; +} void VNA::deactivate() { diff --git a/Software/PC_Application/VNA/vna.h b/Software/PC_Application/VNA/vna.h index 7046b3f..0912279 100644 --- a/Software/PC_Application/VNA/vna.h +++ b/Software/PC_Application/VNA/vna.h @@ -70,6 +70,8 @@ private: bool calMeasuring; bool calWaitFirst; QProgressDialog calDialog; + QString getCalStyleStr(); + QString getCalToolTip(); QMenu *defaultCalMenu; From 9ed73cfa13a0cefddc0ed34625948e94847a840d Mon Sep 17 00:00:00 2001 From: Zoran Kostic <60575976+nbgsmk@users.noreply.github.com> Date: Mon, 7 Dec 2020 16:04:59 +0100 Subject: [PATCH 6/6] Cal widget with coloured tooltip --- .../Calibration/calibration.cpp | 12 ++++++++++- .../PC_Application/Calibration/calibration.h | 3 +++ Software/PC_Application/VNA/vna.cpp | 21 ++++++++++++++----- Software/PC_Application/VNA/vna.h | 2 +- 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/Software/PC_Application/Calibration/calibration.cpp b/Software/PC_Application/Calibration/calibration.cpp index 9c0ab31..4263a52 100644 --- a/Software/PC_Application/Calibration/calibration.cpp +++ b/Software/PC_Application/Calibration/calibration.cpp @@ -759,7 +759,8 @@ QString Calibration::descriptiveCalName(){ hi = Unit::ToString(this->maxFreq, "", " kMG", precision); } - QString tmp = Calibration::TypeToString(this->getType()) + QString tmp = + Calibration::TypeToString(this->getType()) + " " + lo + "-" + hi + " " @@ -767,6 +768,15 @@ QString Calibration::descriptiveCalName(){ return tmp; } +double Calibration::getMinFreq(){ + return this->minFreq; +} +double Calibration::getMaxFreq(){ + return this->maxFreq; +} +int Calibration::getNumPoints(){ + return this->points.size(); +} QString Calibration::getCurrentCalibrationFile(){ return this->currentCalFile; } diff --git a/Software/PC_Application/Calibration/calibration.h b/Software/PC_Application/Calibration/calibration.h index 488e6d1..0ae16c4 100644 --- a/Software/PC_Application/Calibration/calibration.h +++ b/Software/PC_Application/Calibration/calibration.h @@ -143,6 +143,9 @@ private: QString currentCalFile; public: QString getCurrentCalibrationFile(); + double getMinFreq(); + double getMaxFreq(); + int getNumPoints(); }; #endif // CALIBRATION_H diff --git a/Software/PC_Application/VNA/vna.cpp b/Software/PC_Application/VNA/vna.cpp index c37ecc3..258e371 100644 --- a/Software/PC_Application/VNA/vna.cpp +++ b/Software/PC_Application/VNA/vna.cpp @@ -288,7 +288,7 @@ VNA::VNA(AppWindow *window) // Calibration toolbar (and populate calibration menu) auto tb_cal = new QToolBar("Calibration"); QLabel *cbEnableCal_label = new QLabel("Calibration:"); - cbEnableCal_label->setStyleSheet(getCalStyleStr()); // on app start + cbEnableCal_label->setStyleSheet(getCalStyle()); // on app start cbEnableCal_label->setToolTip(getCalToolTip()); // no cal. file loaded tb_cal->addWidget(cbEnableCal_label); auto cbEnableCal = new QCheckBox; @@ -329,7 +329,7 @@ VNA::VNA(AppWindow *window) cbEnableCal->blockSignals(true); calDisable->setChecked(true); cbEnableCal->setCheckState(Qt::CheckState::Unchecked); - cbEnableCal_label->setStyleSheet(getCalStyleStr()); // visually indicate loss of calibration + cbEnableCal_label->setStyleSheet(getCalStyle()); // visually indicate loss of calibration cbEnableCal_label->setToolTip(getCalToolTip()); // cal. file unknown at this moment cbType->blockSignals(false); cbEnableCal->blockSignals(false); @@ -348,7 +348,7 @@ VNA::VNA(AppWindow *window) } } cbEnableCal->setCheckState(Qt::CheckState::Checked); - cbEnableCal_label->setStyleSheet(getCalStyleStr()); // restore default look of widget + cbEnableCal_label->setStyleSheet(getCalStyle()); // restore default look of widget cbEnableCal_label->setToolTip(getCalToolTip()); // on hover, show name of active cal. file cbType->blockSignals(false); cbEnableCal->blockSignals(false); @@ -414,7 +414,7 @@ VNA::VNA(AppWindow *window) finalize(central); } -QString VNA::getCalStyleStr() +QString VNA::getCalStyle() { Calibration::InterpolationType interpol = cal.getInterpolation(settings); QString style = ""; @@ -446,8 +446,19 @@ QString VNA::getCalToolTip() case Calibration::InterpolationType::Exact: case Calibration::InterpolationType::Interpolate: case Calibration::InterpolationType::Extrapolate: - txt = cal.getCurrentCalibrationFile(); + { + QString lo = Unit::ToString(cal.getMinFreq(), "", " kMG", 5); + QString hi = Unit::ToString(cal.getMaxFreq(), "", " kMG", 5); + if (settings.f_start < cal.getMinFreq() ) { lo = "" + lo + "";} + if (settings.f_stop > cal.getMaxFreq() ) { hi = "" + hi + "";} + txt = + "limits: " + lo + " - " + hi + + "
" + + "points: " + QString::number(cal.getNumPoints()) + + "
" + "file: " + cal.getCurrentCalibrationFile(); break; + } case Calibration::InterpolationType::NoCalibration: txt = "none"; break; diff --git a/Software/PC_Application/VNA/vna.h b/Software/PC_Application/VNA/vna.h index 0912279..c30de43 100644 --- a/Software/PC_Application/VNA/vna.h +++ b/Software/PC_Application/VNA/vna.h @@ -70,7 +70,7 @@ private: bool calMeasuring; bool calWaitFirst; QProgressDialog calDialog; - QString getCalStyleStr(); + QString getCalStyle(); QString getCalToolTip();