Merge branch 'master' of github.com:jankae/LibreVNA

This commit is contained in:
Jan Käberich 2023-02-10 11:55:20 +01:00
commit fe6ee093cb
3 changed files with 12 additions and 3 deletions

View File

@ -603,6 +603,11 @@ void Calibration::edit()
std::set<CalibrationMeasurement::Base*> m;
auto selected = ui->table->selectionModel()->selectedRows();
for(auto s : selected) {
auto meas = measurements[s.row()];
if(!meas->readyForMeasurement()) {
InformationBox::ShowError("Unable to measure", CalibrationMeasurement::Base::TypeToString(meas->getType())+" measurement is not ready, please check that a valid calibration standard is selected");
return;
}
m.insert(measurements[s.row()]);
}
if(!CalibrationMeasurement::Base::canMeasureSimultaneously(m)) {
@ -1659,7 +1664,7 @@ bool Calibration::canCompute(Calibration::CalType type, double *startFreq, doubl
// missing measurement
return false;
} else if (!meas->readyForCalculation()){
// measurement not ready (either not calkit standard definded or no measurements
// measurement not ready (either not calkit standard definded or no measurements)
return false;
} else {
foundMeasurements.push_back(meas);

View File

@ -38,6 +38,7 @@ public:
virtual double minFreq() = 0;
virtual double maxFreq() = 0;
virtual unsigned int numPoints() = 0;
virtual bool readyForMeasurement() {return false;}
virtual bool readyForCalculation() {return false;}
static std::vector<Type> availableTypes();
@ -80,6 +81,7 @@ public:
virtual double minFreq() override;
virtual double maxFreq() override;
virtual unsigned int numPoints() override {return points.size();}
virtual bool readyForMeasurement() override {return standard != nullptr;}
virtual bool readyForCalculation() override {return standard && points.size() > 0;}
virtual void clearPoints() override;
@ -194,6 +196,7 @@ public:
virtual double minFreq() override;
virtual double maxFreq() override;
virtual unsigned int numPoints() override {return points.size();}
virtual bool readyForMeasurement() override {return standard != nullptr;}
virtual bool readyForCalculation() override {return standard && points.size() > 0;}
virtual void clearPoints() override;
@ -265,6 +268,7 @@ public:
virtual double minFreq() override;
virtual double maxFreq() override;
virtual unsigned int numPoints() override;
virtual bool readyForMeasurement() override {return true;}
virtual bool readyForCalculation() override {return points.size() > 0;}
virtual void clearPoints() override;

View File

@ -120,7 +120,7 @@ void OnePort::clearMeasurement()
delete touchstone;
touchstone = nullptr;
minFreq = std::numeric_limits<double>::lowest();
minFreq = std::numeric_limits<double>::max();
maxFreq = std::numeric_limits<double>::max();
}
nlohmann::json OnePort::toJSON()
@ -538,7 +538,7 @@ void TwoPort::clearMeasurement()
delete touchstone;
touchstone = nullptr;
minFreq = std::numeric_limits<double>::lowest();
minFreq = std::numeric_limits<double>::max();
maxFreq = std::numeric_limits<double>::max();
}
nlohmann::json TwoPort::toJSON()