From 532702f7fbe8be55e10055a974b9ad8aaae450cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4berich?= Date: Fri, 14 Oct 2022 00:27:22 +0200 Subject: [PATCH] Removed warnings --- .../PC_Application/LibreVNA-GUI/.qmake.stash | 21 +++++ .../Calibration/LibreCAL/caldevice.cpp | 6 +- .../Calibration/LibreCAL/caldevice.h | 2 +- .../Calibration/LibreCAL/librecaldialog.cpp | 16 ++-- .../Calibration/LibreCAL/usbdevice.cpp | 7 -- .../Calibration/LibreCAL/usbdevice.h | 1 - .../LibreVNA-GUI/Calibration/calibration.cpp | 78 ++++++++++++------- .../LibreVNA-GUI/Calibration/calibration.h | 2 +- .../Calibration/calibrationmeasurement.cpp | 22 ++++-- .../Calibration/calibrationmeasurement.h | 10 +-- .../LibreVNA-GUI/Calibration/calstandard.cpp | 2 + .../LibreVNA-GUI/Calibration/calstandard.h | 1 + .../LibreVNA-GUI/Device/compounddevice.cpp | 2 +- .../LibreVNA-GUI/Device/compounddevice.h | 6 +- .../Device/compounddeviceeditdialog.cpp | 38 ++++----- .../Device/compounddeviceeditdialog.h | 4 +- .../LibreVNA-GUI/Device/virtualdevice.cpp | 17 ++-- .../LibreVNA-GUI/Device/virtualdevice.h | 2 +- .../Generator/signalgenwidget.cpp | 4 +- .../LibreVNA-GUI/Generator/signalgenwidget.h | 2 +- .../LibreVNA-GUI/LibreVNA-GUI.pro | 2 + .../SpectrumAnalyzer/spectrumanalyzer.cpp | 2 +- .../LibreVNA-GUI/Traces/Marker/marker.cpp | 1 + .../Traces/Marker/markermodel.cpp | 9 +-- .../LibreVNA-GUI/Traces/Marker/markermodel.h | 1 - .../Traces/sparamtraceselector.cpp | 8 +- .../LibreVNA-GUI/Traces/sparamtraceselector.h | 6 +- .../LibreVNA-GUI/Traces/trace.cpp | 1 - .../LibreVNA-GUI/Traces/tracemodel.cpp | 2 +- .../VNA/Deembedding/deembedding.cpp | 4 +- .../VNA/Deembedding/deembedding.h | 2 +- .../VNA/Deembedding/deembeddingoption.h | 2 +- .../Deembedding/impedancerenormalization.cpp | 6 +- .../Deembedding/impedancerenormalization.h | 2 +- .../VNA/Deembedding/matchingnetwork.cpp | 8 +- .../VNA/Deembedding/matchingnetwork.h | 4 +- .../VNA/Deembedding/portextension.cpp | 6 +- .../VNA/Deembedding/portextension.h | 4 +- .../LibreVNA-GUI/VNA/Deembedding/twothru.cpp | 2 +- .../LibreVNA-GUI/VNA/Deembedding/twothru.h | 4 +- .../PC_Application/LibreVNA-GUI/VNA/vna.cpp | 8 +- .../LibreVNA-GUI/preferences.cpp | 4 +- .../PC_Application/LibreVNA-GUI/savable.h | 2 + 43 files changed, 191 insertions(+), 142 deletions(-) create mode 100644 Software/PC_Application/LibreVNA-GUI/.qmake.stash diff --git a/Software/PC_Application/LibreVNA-GUI/.qmake.stash b/Software/PC_Application/LibreVNA-GUI/.qmake.stash new file mode 100644 index 0000000..414d2d9 --- /dev/null +++ b/Software/PC_Application/LibreVNA-GUI/.qmake.stash @@ -0,0 +1,21 @@ +QMAKE_CXX.QT_COMPILER_STDCXX = 201402L +QMAKE_CXX.QMAKE_GCC_MAJOR_VERSION = 8 +QMAKE_CXX.QMAKE_GCC_MINOR_VERSION = 1 +QMAKE_CXX.QMAKE_GCC_PATCH_VERSION = 0 +QMAKE_CXX.COMPILER_MACROS = \ + QT_COMPILER_STDCXX \ + QMAKE_GCC_MAJOR_VERSION \ + QMAKE_GCC_MINOR_VERSION \ + QMAKE_GCC_PATCH_VERSION +QMAKE_CXX.INCDIRS = \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++ \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32 \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed \ + C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/include +QMAKE_CXX.LIBDIRS = \ + C:/Qt/Tools/mingw810_64/lib/gcc/x86_64-w64-mingw32/8.1.0 \ + C:/Qt/Tools/mingw810_64/lib/gcc \ + C:/Qt/Tools/mingw810_64/x86_64-w64-mingw32/lib \ + C:/Qt/Tools/mingw810_64/lib diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/caldevice.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/caldevice.cpp index d15ca47..dde5435 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/caldevice.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/caldevice.cpp @@ -39,6 +39,7 @@ QString CalDevice::StandardToString(CalDevice::Standard s) case Standard::Through: return "THROUGH"; case Standard::None: return "NONE"; } + return "Invalid"; } CalDevice::Standard CalDevice::StandardFromString(QString s) @@ -107,7 +108,7 @@ QString CalDevice::getFirmware() const return firmware; } -int CalDevice::getNumPorts() const +unsigned int CalDevice::getNumPorts() const { return numPorts; } @@ -255,7 +256,7 @@ void CalDevice::saveCoefficientSetsThread() if(!usb->Cmd(":COEFF:CREATE "+setName+" "+paramName)) { return false; } - for(unsigned int i=0;i shortStandards; std::vector loadStandards; std::vector throughStandards; - for(int i=1;i<=device->getNumPorts();i++) { + for(unsigned int i=1;i<=device->getNumPorts();i++) { if(coeffSet.opens[i-1]->t.points() > 0) { auto o = new CalStandard::Open(); o->setName("Port "+QString::number(i)); @@ -255,7 +255,7 @@ void LibreCALDialog::startCalibration() loadStandards.push_back(o); kit.standards.push_back(o); } - for(int j=i+1;j<=device->getNumPorts();j++) { + for(unsigned int j=i+1;j<=device->getNumPorts();j++) { auto c = coeffSet.getThrough(i,j); if(!c) { continue; @@ -276,7 +276,7 @@ void LibreCALDialog::startCalibration() set shortMeasurements; set loadMeasurements; vector throughMeasurements; - for(int p=0;psetStandard(loadStandards[portAssignment[p]-1]); loadMeasurements.insert(load); cal->measurements.push_back(load); - for(int p2=p+1;p2= throughMeasurements.size()) { // this was the last measurement // Try to apply the calibration Calibration::CalType type; type.type = Calibration::Type::SOLT; - for(int i=0;i 0) { // this VNA port was used in the calibration type.usedPorts.push_back(i+1); @@ -436,7 +436,7 @@ void LibreCALDialog::createPortAssignmentUI() for(int i=1;i<=calPorts;i++) { choices.push_back("Port "+QString::number(i)); } - for(int p = 1;p<=vnaPorts;p++) { + for(unsigned int p = 1;p<=vnaPorts;p++) { auto label = new QLabel("Port "+QString::number(p)+":"); auto comboBox = new QComboBox(); comboBox->addItems(choices); @@ -445,7 +445,7 @@ void LibreCALDialog::createPortAssignmentUI() emit portAssignmentChanged(); }); // try to set the default - if(comboBox->count() > p) { + if(comboBox->count() > (int) p) { comboBox->setCurrentIndex(p); } else { // port not available, set to unused diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.cpp index 0007275..a4f0fe0 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.cpp @@ -240,13 +240,6 @@ bool USBDevice::receive(QString *s) } } -bool USBDevice::flushRX() -{ - char data[512]; -// libusb_bulk_transfer(m_handle, LIBUSB_ENDPOINT_IN | 0x03, (unsigned char*) data, sizeof(data), &actual, 1); -} - - QString USBDevice::serial() const { return m_serial; diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.h b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.h index 6b8c8fb..a28872e 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.h +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/LibreCAL/usbdevice.h @@ -24,7 +24,6 @@ private: static void SearchDevices(std::function foundCallback, libusb_context *context, bool ignoreOpenError); bool send(const QString &s); bool receive(QString *s); - bool flushRX(); libusb_device_handle *m_handle; libusb_context *m_context; diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp index 6f0a077..8711379 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.cpp @@ -146,7 +146,7 @@ Calibration::Calibration() return SCPI::getResultName(SCPI::Result::Error); } bool okay; - int number = params[1].toInt(&okay); + unsigned int number = params[1].toInt(&okay); if(!okay || number < 1 || number > VirtualDevice::getInfo(VirtualDevice::getConnected()).ports) { // invalid port specified return SCPI::getResultName(SCPI::Result::Error); @@ -161,9 +161,9 @@ Calibration::Calibration() return SCPI::getResultName(SCPI::Result::Error); } bool okay1; - int port1 = params[1].toInt(&okay1); + unsigned int port1 = params[1].toInt(&okay1); bool okay2; - int port2 = params[2].toInt(&okay2); + unsigned int port2 = params[2].toInt(&okay2); if(!okay1 || !okay2 || port1 < 1 || port2 > VirtualDevice::getInfo(VirtualDevice::getConnected()).ports || port2 < 1 || port2 > VirtualDevice::getInfo(VirtualDevice::getConnected()).ports) { // invalid port specified @@ -233,7 +233,7 @@ Calibration::Calibration() } auto s = measurements[number]->getStandard(); if(s) { - s->getName(); + return s->getName(); } else { // no standard set return "None"; @@ -300,6 +300,7 @@ QString Calibration::TypeToString(Calibration::Type type) case Type::TRL: return "TRL"; case Type::Last: return "Invalid"; } + return ""; } Calibration::Type Calibration::TypeFromString(QString s) @@ -450,7 +451,7 @@ void Calibration::edit() auto updateCalibrationList = [=](){ auto style = QApplication::style(); - for(int i=0;istandardIcon(QStyle::SP_DialogApplyButton); @@ -466,7 +467,7 @@ void Calibration::edit() updateCalStatistics(); updateCalButtons(); - connect(ui->calibrationList, &QListWidget::doubleClicked, [=](const QModelIndex &index) { + connect(ui->calibrationList, &QListWidget::doubleClicked, [=](const QModelIndex&) { ui->activate->clicked(); }); @@ -648,7 +649,7 @@ void Calibration::edit() QObject::connect(action, &QAction::triggered, [=](){ auto newMeas = newMeasurement(t); if(newMeas) { -// measurements.push_back(newMeas); + measurements.push_back(newMeas); updateMeasurementTable(); } }); @@ -674,6 +675,7 @@ CalibrationMeasurement::Base *Calibration::newMeasurement(CalibrationMeasurement case CalibrationMeasurement::Base::Type::Through: m = new CalibrationMeasurement::Through(this); break; case CalibrationMeasurement::Base::Type::Isolation: m = new CalibrationMeasurement::Isolation(this); break; case CalibrationMeasurement::Base::Type::Line: m = new CalibrationMeasurement::Line(this); break; + case CalibrationMeasurement::Base::Type::Last: break; } return m; } @@ -800,7 +802,7 @@ Calibration::Point Calibration::computeThroughNormalization(double f) // grab measurement and calkit through definitions auto throughForward = static_cast(findMeasurement(CalibrationMeasurement::Base::Type::Through, p1, p2)); auto throughReverse = static_cast(findMeasurement(CalibrationMeasurement::Base::Type::Through, p2, p1)); - complex S11, S21; + complex S21; Sparam Sideal; if(throughForward) { S21 = throughForward->getMeasured(f).m21; @@ -1091,7 +1093,9 @@ std::vector Calibration::getMeasurementTraces() switch(m->getType()) { case CalibrationMeasurement::Base::Type::Open: case CalibrationMeasurement::Base::Type::Short: - case CalibrationMeasurement::Base::Type::Load: { + case CalibrationMeasurement::Base::Type::Load: + case CalibrationMeasurement::Base::Type::SlidingLoad: + case CalibrationMeasurement::Base::Type::Reflect: { auto onePort = static_cast(m); auto t = new Trace(CalibrationMeasurement::Base::TypeToString(onePort->getType())+"_Port"+QString::number(onePort->getPort())); t->setCalibration(); @@ -1105,7 +1109,8 @@ std::vector Calibration::getMeasurementTraces() ret.push_back(t); } break; - case CalibrationMeasurement::Base::Type::Through: { + case CalibrationMeasurement::Base::Type::Through: + case CalibrationMeasurement::Base::Type::Line: { auto twoPort = static_cast(m); auto ts11 = new Trace(CalibrationMeasurement::Base::TypeToString(twoPort->getType())+"_Port"+QString::number(twoPort->getPort1())+QString::number(twoPort->getPort2())+"_S11"); auto ts12 = new Trace(CalibrationMeasurement::Base::TypeToString(twoPort->getType())+"_Port"+QString::number(twoPort->getPort1())+QString::number(twoPort->getPort2())+"_S12"); @@ -1157,8 +1162,8 @@ std::vector Calibration::getMeasurementTraces() for(auto p : iso->getPoints()) { Trace::Data td; td.x = p.frequency; - for(int i=0;iaddData(td, Trace::DataType::Frequency); } @@ -1166,6 +1171,8 @@ std::vector Calibration::getMeasurementTraces() } } break; + case CalibrationMeasurement::Base::Type::Last: + break; } } return ret; @@ -1361,7 +1368,7 @@ bool Calibration::fromFile(QString filename) std::vector Calibration::getAvailableCalibrations() { - int ports = 2; + unsigned int ports = 2; if(VirtualDevice::getConnected()) { ports = VirtualDevice::getConnected()->getInfo().ports; } @@ -1370,13 +1377,13 @@ std::vector Calibration::getAvailableCalibrations() CalType cal; cal.type = t; auto minPorts = minimumPorts(t); - for(int pnum = minPorts;pnum <= ports;pnum++) { + for(unsigned int pnum = minPorts;pnum <= ports;pnum++) { std::string bitmask(pnum, 1); bitmask.resize(ports, 0); // assemble selected ports and permute bitmask do { - vector usedPorts; - for (int i = 0; i < ports; ++i) { + vector usedPorts; + for (unsigned int i = 0; i < ports; ++i) { if (bitmask[i]) { usedPorts.push_back(i+1); } @@ -1403,7 +1410,7 @@ bool Calibration::canCompute(Calibration::CalType type, double *startFreq, doubl { using RequiredMeasurements = struct { CalibrationMeasurement::Base::Type type; - int port1, port2; + unsigned int port1, port2; }; vector required; switch(type.type) { @@ -1412,27 +1419,27 @@ bool Calibration::canCompute(Calibration::CalType type, double *startFreq, doubl case Type::SOLT: // SOL measurements for every port for(auto p : type.usedPorts) { - required.push_back({.type = CalibrationMeasurement::Base::Type::Short, .port1 = p}); - required.push_back({.type = CalibrationMeasurement::Base::Type::Open, .port1 = p}); + required.push_back({.type = CalibrationMeasurement::Base::Type::Short, .port1 = p, .port2 = 0}); + required.push_back({.type = CalibrationMeasurement::Base::Type::Open, .port1 = p, .port2 = 0}); if(findMeasurements(CalibrationMeasurement::Base::Type::SlidingLoad, p).size() >= 3) { // got enough sliding load measurements, use these - required.push_back({.type = CalibrationMeasurement::Base::Type::SlidingLoad, .port1 = p}); + required.push_back({.type = CalibrationMeasurement::Base::Type::SlidingLoad, .port1 = p, .port2 = 0}); } else { // not enough sliding load measurement, use normal load - required.push_back({.type = CalibrationMeasurement::Base::Type::Load, .port1 = p}); + required.push_back({.type = CalibrationMeasurement::Base::Type::Load, .port1 = p, .port2 = 0}); } } // through measurements between all ports - for(int i=1;i<=type.usedPorts.size();i++) { - for(int j=i+1;j<=type.usedPorts.size();j++) { + for(unsigned int i=1;i<=type.usedPorts.size();i++) { + for(unsigned int j=i+1;j<=type.usedPorts.size();j++) { required.push_back({.type = CalibrationMeasurement::Base::Type::Through, .port1 = i, .port2 = j}); } } break; case Type::ThroughNormalization: // through measurements between all ports - for(int i=1;i<=type.usedPorts.size();i++) { - for(int j=i+1;j<=type.usedPorts.size();j++) { + for(unsigned int i=1;i<=type.usedPorts.size();i++) { + for(unsigned int j=i+1;j<=type.usedPorts.size();j++) { required.push_back({.type = CalibrationMeasurement::Base::Type::Through, .port1 = i, .port2 = j}); } } @@ -1440,16 +1447,20 @@ bool Calibration::canCompute(Calibration::CalType type, double *startFreq, doubl case Type::TRL: // Reflect measurement for every port for(auto p : type.usedPorts) { - required.push_back({.type = CalibrationMeasurement::Base::Type::Reflect, .port1 = p}); + required.push_back({.type = CalibrationMeasurement::Base::Type::Reflect, .port1 = p, .port2 = 0}); } // through and line measurements between all ports - for(int i=1;i<=type.usedPorts.size();i++) { - for(int j=i+1;j<=type.usedPorts.size();j++) { + for(unsigned int i=1;i<=type.usedPorts.size();i++) { + for(unsigned int j=i+1;j<=type.usedPorts.size();j++) { required.push_back({.type = CalibrationMeasurement::Base::Type::Through, .port1 = i, .port2 = j}); required.push_back({.type = CalibrationMeasurement::Base::Type::Line, .port1 = i, .port2 = j}); } } break; + case Type::Last: + // Invalid selection + return false; + } if(required.size() > 0) { vector foundMeasurements; @@ -1488,6 +1499,10 @@ bool Calibration::compute(Calibration::CalType type) case Type::SOLT: p = computeSOLT(f); break; case Type::ThroughNormalization: p = computeThroughNormalization(f); break; case Type::TRL: p = computeTRL(f); break; + case Type::None: + case Type::Last: + // nothing to do, should never get here + break; } points.push_back(p); } @@ -1512,6 +1527,9 @@ int Calibration::minimumPorts(Calibration::Type type) case Type::SOLT: return 1; case Type::ThroughNormalization: return 2; case Type::TRL: return 2; + case Type::None: + case Type::Last: + return -1; } return -1; } @@ -1553,7 +1571,9 @@ QString Calibration::DefaultMeasurementsToString(Calibration::DefaultMeasurement case DefaultMeasurements::SOLT2Port: return "2 Port SOLT"; case DefaultMeasurements::SOLT3Port: return "3 Port SOLT"; case DefaultMeasurements::SOLT4Port: return "4 Port SOLT"; + case DefaultMeasurements::Last: return "Invalid"; } + return ""; } void Calibration::createDefaultMeasurements(Calibration::DefaultMeasurements dm) @@ -1604,6 +1624,8 @@ void Calibration::createDefaultMeasurements(Calibration::DefaultMeasurements dm) createThrough(2, 4); createThrough(3, 4); break; + case DefaultMeasurements::Last: + break; } } diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.h b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.h index 885fcb8..7cbf83c 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.h +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibration.h @@ -25,7 +25,7 @@ public: class CalType { public: Type type; - std::vector usedPorts; // port count starts at 1 + std::vector usedPorts; // port count starts at 1 QString getReadableDescription(); QString getShortString(); diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp index 18f017c..564dc67 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.cpp @@ -34,7 +34,9 @@ bool CalibrationMeasurement::Base::setFirstSupportedStandard() auto supported = supportedStandards(); if(supported.size() > 0) { setStandard(supported[0]); + return true; } + return false; } bool CalibrationMeasurement::Base::setStandard(CalStandard::Virtual *standard) @@ -93,6 +95,7 @@ QString CalibrationMeasurement::Base::TypeToString(CalibrationMeasurement::Base: case Type::Line: return "Line"; case Type::Last: return "Invalid"; } + return "Invalid"; } CalibrationMeasurement::Base::Type CalibrationMeasurement::Base::TypeFromString(QString s) @@ -164,14 +167,23 @@ bool CalibrationMeasurement::Base::canMeasureSimultaneously(std::set(m)->getPort()); break; case Type::Through: + case Type::Line: // Uses two ports ports.push_back(static_cast(m)->getPort1()); ports.push_back(static_cast(m)->getPort2()); break; + case Type::Isolation: + // Uses all ports, unable to measure simultaneously + return false; + case Type::Last: + // invalid + return false; } for(auto p : ports) { if(usedPorts.count(p)) { @@ -241,7 +253,7 @@ QWidget *CalibrationMeasurement::OnePort::createSettingsWidget() if(port == 0) { setPort(1); } - for(int i=1;i<=dev->getInfo().ports;i++) { + for(unsigned int i=1;i<=dev->getInfo().ports;i++) { cbPort->addItem(QString::number(i)); if(port == i) { cbPort->setCurrentText(QString::number(i)); @@ -331,7 +343,7 @@ int CalibrationMeasurement::OnePort::getPort() const return port; } -void CalibrationMeasurement::OnePort::setPort(int p) +void CalibrationMeasurement::OnePort::setPort(unsigned int p) { if(port != p) { port = p; @@ -393,7 +405,7 @@ QWidget *CalibrationMeasurement::TwoPort::createSettingsWidget() if(port2 == 0) { setPort2(2); } - for(int i=1;i<=dev->getInfo().ports;i++) { + for(unsigned int i=1;i<=dev->getInfo().ports;i++) { cbPort1->addItem(QString::number(i)); cbPort2->addItem(QString::number(i)); if(port1 == i) { @@ -527,7 +539,7 @@ int CalibrationMeasurement::TwoPort::getPort2() const return port2; } -void CalibrationMeasurement::TwoPort::setPort1(int p) +void CalibrationMeasurement::TwoPort::setPort1(unsigned int p) { if(port1 != p) { port1 = p; @@ -535,7 +547,7 @@ void CalibrationMeasurement::TwoPort::setPort1(int p) } } -void CalibrationMeasurement::TwoPort::setPort2(int p) +void CalibrationMeasurement::TwoPort::setPort2(unsigned int p) { if(port2 != p) { port2 = p; diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.h b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.h index c77fadc..0458083 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.h +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calibrationmeasurement.h @@ -101,12 +101,12 @@ public: int getPort() const; public slots: - void setPort(int p); + void setPort(unsigned int p); protected: signals: void portChanged(int p); protected: - int port; // starts at 1 + unsigned int port; // starts at 1 std::vector points; }; @@ -203,8 +203,8 @@ public: public slots: - void setPort1(int p); - void setPort2(int p); + void setPort1(unsigned int p); + void setPort2(unsigned int p); void setReverseStandard(bool reverse); protected: signals: @@ -212,7 +212,7 @@ signals: void port2Changed(int p); void reverseStandardChanged(bool r); protected: - int port1, port2; // starts at 1 + unsigned int port1, port2; // starts at 1 bool reverseStandard; // Set to true if standard is defined with ports swapped std::vector points; }; diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp index 2bf74bf..f96a195 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.cpp @@ -54,6 +54,7 @@ QString Virtual::TypeToString(Virtual::Type type) case Type::Line: return "Line"; case Type::Last: return "Invalid"; } + return "Invalid"; } Virtual::Type Virtual::TypeFromString(QString s) @@ -718,6 +719,7 @@ Line::Line() Sparam Line::toSparam(double freq) { + Q_UNUSED(freq) Sparam ret; ret.m11 = numeric_limits>::quiet_NaN(); ret.m12 = numeric_limits>::quiet_NaN(); diff --git a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.h b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.h index 8e58527..3403ad2 100644 --- a/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.h +++ b/Software/PC_Application/LibreVNA-GUI/Calibration/calstandard.h @@ -15,6 +15,7 @@ class Virtual : public Savable { public: Virtual(QString name = ""); + virtual ~Virtual(){}; enum class Type { Open, diff --git a/Software/PC_Application/LibreVNA-GUI/Device/compounddevice.cpp b/Software/PC_Application/LibreVNA-GUI/Device/compounddevice.cpp index 1ada202..2d7a1d3 100644 --- a/Software/PC_Application/LibreVNA-GUI/Device/compounddevice.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Device/compounddevice.cpp @@ -76,7 +76,7 @@ QString CompoundDevice::getDesription() return name + ", "+QString::number(deviceSerials.size())+" devices, "+QString::number(portMapping.size())+" ports in total"; } -int CompoundDevice::PortMapping::findActiveStage(std::vector map, int device, int port) +int CompoundDevice::PortMapping::findActiveStage(std::vector map, unsigned int device, unsigned int port) { for(unsigned int i=0;i map, int device, int port); + static int findActiveStage(std::vector map, unsigned int device, unsigned int port); }; enum class Synchronization { diff --git a/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.cpp b/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.cpp index e927734..4a887f5 100644 --- a/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.cpp @@ -98,7 +98,7 @@ void CompoundDeviceEditDialog::checkIfOkay() return; } // Check serials - for(int i=0;igetSerial(); if(ldev.deviceSerials[i].isEmpty()) { ui->status->setText("Device "+QString::number(i+1)+" has no serial number"); @@ -106,8 +106,8 @@ void CompoundDeviceEditDialog::checkIfOkay() } } // Check serials for duplicates - for(int i=0;istatus->setText("Duplicate serial number ("+ldev.deviceSerials[i]+") in devices "+QString::number(i+1)+" and "+QString::number(j+1)); return; @@ -117,14 +117,14 @@ void CompoundDeviceEditDialog::checkIfOkay() // Check port mapping // Looking for duplicate and missing ports bool highestPortFound = false; - int highestPort; - for(int port=0;port<2*ldev.deviceSerials.size();port++) { + unsigned int highestPort; + for(unsigned int port=0;port<2*ldev.deviceSerials.size();port++) { int num = 0; - for(int i=0;igetPort1() == port) { + for(unsigned int i=0;igetPort1() == (int) port) { num++; } - if(deviceFrames[i]->getPort2() == port) { + if(deviceFrames[i]->getPort2() == (int) port) { num++; } } @@ -152,17 +152,17 @@ void CompoundDeviceEditDialog::checkIfOkay() // All good, actually create the port mapping ldev.portMapping.clear(); - for(int port=0;portgetPort1() == port) { + for(unsigned int i=0;igetPort1() == (int) port) { found = true; map.device = i; map.port = 0; break; } - if(deviceFrames[i]->getPort2() == port) { + if(deviceFrames[i]->getPort2() == (int) port) { found = true; map.device = i; map.port = 1; @@ -203,7 +203,7 @@ void CompoundDeviceEditDialog::setInitialGUI() } deviceFrames.clear(); layout->addStretch(1); - for(int i=0;ideviceSerials.size()) { serial->setCurrentText(dev->deviceSerials[position]); - for(int i=0;iportMapping.size();i++) { + for(unsigned int i=0;iportMapping.size();i++) { if(dev->portMapping[i].device == position) { if(dev->portMapping[i].port == 0) { port1->setCurrentIndex(i + 1); @@ -493,7 +493,7 @@ void DeviceFrame::update() port1->addItem("Unused"); port2->addItem("Unused"); - for(int i=0;ideviceSerials.size();i++) { + for(unsigned int i=0;ideviceSerials.size();i++) { port1->addItem("Port "+QString::number(i*2+1)); port2->addItem("Port "+QString::number(i*2+1)); port1->addItem("Port "+QString::number(i*2+2)); diff --git a/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.h b/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.h index f9d492b..d775c60 100644 --- a/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.h +++ b/Software/PC_Application/LibreVNA-GUI/Device/compounddeviceeditdialog.h @@ -14,7 +14,7 @@ class CompoundDeviceEditDialog; class DeviceFrame : public QFrame { Q_OBJECT public: - DeviceFrame(CompoundDevice *dev, int position); + DeviceFrame(CompoundDevice *dev, unsigned int position); ~DeviceFrame(); void setPosition(int pos); void update(); @@ -30,7 +30,7 @@ private: QComboBox *port1, *port2; QLabel *image; - int position; + unsigned int position; CompoundDevice *dev; }; diff --git a/Software/PC_Application/LibreVNA-GUI/Device/virtualdevice.cpp b/Software/PC_Application/LibreVNA-GUI/Device/virtualdevice.cpp index dad5535..169cab2 100644 --- a/Software/PC_Application/LibreVNA-GUI/Device/virtualdevice.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Device/virtualdevice.cpp @@ -154,7 +154,7 @@ VirtualDevice::VirtualDevice(QString serial) } if(cdev->sync == CompoundDevice::Synchronization::USB) { // create trigger connections for USB synchronization - for(int i=0;i activeMapping; @@ -323,7 +324,7 @@ QString VirtualDevice::serial() QStringList VirtualDevice::availableSAMeasurements() { QStringList ret; - for(int i=1;i<=info.ports;i++) { + for(unsigned int i=1;i<=info.ports;i++) { ret.push_back("PORT"+QString::number(i)); } return ret; @@ -368,6 +369,7 @@ bool VirtualDevice::setSA(const VirtualDevice::SASettings &s, std::functionfrequency->setValue(frequency); } -void SignalgeneratorWidget::setPort(int port) +void SignalgeneratorWidget::setPort(unsigned int port) { - if(port < 0 || port > portCheckboxes.size()) { + if(port > portCheckboxes.size()) { return; } if(port == 0) { diff --git a/Software/PC_Application/LibreVNA-GUI/Generator/signalgenwidget.h b/Software/PC_Application/LibreVNA-GUI/Generator/signalgenwidget.h index 477e5a8..72f4cb6 100644 --- a/Software/PC_Application/LibreVNA-GUI/Generator/signalgenwidget.h +++ b/Software/PC_Application/LibreVNA-GUI/Generator/signalgenwidget.h @@ -29,7 +29,7 @@ signals: public slots: void setLevel(double level); void setFrequency(double frequency); - void setPort(int port); + void setPort(unsigned int port); protected: void timerEvent(QTimerEvent *) override; diff --git a/Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI.pro b/Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI.pro index a990df7..8a53adc 100644 --- a/Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI.pro +++ b/Software/PC_Application/LibreVNA-GUI/LibreVNA-GUI.pro @@ -343,6 +343,8 @@ RESOURCES += \ icons.qrc \ resources/librevna.qrc +QMAKE_CXXFLAGS += -Wno-deprecated -Wno-deprecated-declarations + CONFIG += c++17 REVISION = $$system(git rev-parse HEAD) DEFINES += GITHASH=\\"\"$$REVISION\\"\" diff --git a/Software/PC_Application/LibreVNA-GUI/SpectrumAnalyzer/spectrumanalyzer.cpp b/Software/PC_Application/LibreVNA-GUI/SpectrumAnalyzer/spectrumanalyzer.cpp index 516a823..6b93573 100644 --- a/Software/PC_Application/LibreVNA-GUI/SpectrumAnalyzer/spectrumanalyzer.cpp +++ b/Software/PC_Application/LibreVNA-GUI/SpectrumAnalyzer/spectrumanalyzer.cpp @@ -1020,7 +1020,7 @@ void SpectrumAnalyzer::SetupSCPI() unsigned long long newval; if(!SCPI::paramToULongLong(params, 0, newval)) { return SCPI::getResultName(SCPI::Result::Error); - } else if(newval >= 0 && newval <= VirtualDevice::getInfo(window->getDevice()).ports){ + } else if(newval <= VirtualDevice::getInfo(window->getDevice()).ports){ SetTGPort(newval); return SCPI::getResultName(SCPI::Result::Empty); } else { diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/marker.cpp b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/marker.cpp index f1574a5..a51da9d 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/marker.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/marker.cpp @@ -660,6 +660,7 @@ QString Marker::domainToUnit(Trace::DataType domain) case Trace::DataType::Power: return "dBm"; case Trace::DataType::Time: return "s"; case Trace::DataType::TimeZeroSpan: return "s"; + case Trace::DataType::Invalid: return ""; } return ""; } diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.cpp b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.cpp index b74a60f..5ccc6c1 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.cpp @@ -528,12 +528,12 @@ void MarkerTypeDelegate::setModelData(QWidget *editor, QAbstractItemModel *, con marker->updateTypeFromEditor(editor); } -QSize MarkerRestrictDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const +QSize MarkerRestrictDelegate::sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const { return QSize(0, rowHeight); } -QWidget *MarkerRestrictDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const +QWidget *MarkerRestrictDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &, const QModelIndex &index) const { auto marker = static_cast(index.model())->markerFromIndex(index); auto editor = marker->getRestrictEditor(); @@ -541,8 +541,3 @@ QWidget *MarkerRestrictDelegate::createEditor(QWidget *parent, const QStyleOptio editor->setParent(parent); return editor; } - -void MarkerRestrictDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const -{ - // nothing to do -} diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.h b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.h index f28677b..3f2d683 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.h +++ b/Software/PC_Application/LibreVNA-GUI/Traces/Marker/markermodel.h @@ -50,7 +50,6 @@ class MarkerRestrictDelegate : public QStyledItemDelegate Q_OBJECT QSize sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const override; QWidget *createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const override; - void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const override; }; class MarkerModel : public QAbstractItemModel, public Savable diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.cpp b/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.cpp index 8322c9a..b8c4f9e 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.cpp @@ -5,16 +5,16 @@ using namespace std; -SparamTraceSelector::SparamTraceSelector(const TraceModel &model, std::vector used_ports, bool empty_allowed) +SparamTraceSelector::SparamTraceSelector(const TraceModel &model, std::vector used_ports, bool empty_allowed) : model(model), - used_ports(used_ports), - empty_allowed(empty_allowed) + empty_allowed(empty_allowed), + used_ports(used_ports) { createGUI(); setInitialChoices(); } -SparamTraceSelector::SparamTraceSelector(const TraceModel &model, std::set used_ports, bool empty_allowed) +SparamTraceSelector::SparamTraceSelector(const TraceModel &model, std::set used_ports, bool empty_allowed) : model(model), empty_allowed(empty_allowed) { diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.h b/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.h index 67822e7..f04b403 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.h +++ b/Software/PC_Application/LibreVNA-GUI/Traces/sparamtraceselector.h @@ -13,8 +13,8 @@ class SparamTraceSelector : public QWidget Q_OBJECT public: - SparamTraceSelector(const TraceModel &model, std::vector used_ports, bool empty_allowed = false); - SparamTraceSelector(const TraceModel &model, std::set used_ports, bool empty_allowed = false); + SparamTraceSelector(const TraceModel &model, std::vector used_ports, bool empty_allowed = false); + SparamTraceSelector(const TraceModel &model, std::set used_ports, bool empty_allowed = false); bool isValid(); @@ -33,7 +33,7 @@ private: std::vector boxes; bool empty_allowed; - std::vector used_ports; + std::vector used_ports; unsigned int points; double minFreq, maxFreq; bool valid; diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/trace.cpp b/Software/PC_Application/LibreVNA-GUI/Traces/trace.cpp index 01ab6be..6f96bcb 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/trace.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Traces/trace.cpp @@ -269,7 +269,6 @@ void Trace::fillFromDatapoints(std::map traceSet, const std::v // add new points to traces for(auto d : data) { Trace::Data td; - auto S = d.toSparam(1, 2); td.x = d.frequency; for(auto m : d.measurements) { td.y = m.second; diff --git a/Software/PC_Application/LibreVNA-GUI/Traces/tracemodel.cpp b/Software/PC_Application/LibreVNA-GUI/Traces/tracemodel.cpp index dcb3ece..63712f7 100644 --- a/Software/PC_Application/LibreVNA-GUI/Traces/tracemodel.cpp +++ b/Software/PC_Application/LibreVNA-GUI/Traces/tracemodel.cpp @@ -63,7 +63,7 @@ Trace *TraceModel::trace(unsigned int index) int TraceModel::findIndex(Trace *t) { - for(int i=0;i Deembedding::getAffectedPorts() +std::set Deembedding::getAffectedPorts() { - set ret; + set ret; for(auto o : options) { auto affected = o->getAffectedPorts(); ret.insert(affected.begin(), affected.end()); diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembedding.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembedding.h index 601dbef..85eb0af 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembedding.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembedding.h @@ -28,7 +28,7 @@ public: void addOption(DeembeddingOption* option); void swapOptions(unsigned int index); - std::set getAffectedPorts(); + std::set getAffectedPorts(); std::vector& getOptions() {return options;} nlohmann::json toJSON() override; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembeddingoption.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembeddingoption.h index 5a2e4a0..b72560c 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembeddingoption.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/deembeddingoption.h @@ -23,7 +23,7 @@ public: static DeembeddingOption *create(Type type); static QString getName(Type type); - virtual std::set getAffectedPorts() = 0; + virtual std::set getAffectedPorts() = 0; virtual void transformDatapoint(VirtualDevice::VNAMeasurement &p) = 0; virtual void edit(){} virtual Type getType() = 0; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp index 71d311b..fd1237d 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.cpp @@ -15,10 +15,10 @@ ImpedanceRenormalization::ImpedanceRenormalization() } -std::set ImpedanceRenormalization::getAffectedPorts() +std::set ImpedanceRenormalization::getAffectedPorts() { - set ret; - for(int i=1;i<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;i++) { + set ret; + for(unsigned int i=1;i<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;i++) { ret.insert(i); } return ret; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.h index 28eb9d6..7bcc56f 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/impedancerenormalization.h @@ -13,7 +13,7 @@ class ImpedanceRenormalization : public DeembeddingOption public: ImpedanceRenormalization(); - std::set getAffectedPorts() override; + std::set getAffectedPorts() override; void transformDatapoint(VirtualDevice::VNAMeasurement &p) override; Type getType() override { return Type::ImpedanceRenormalization;} nlohmann::json toJSON() override; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp index 853a043..cbc0b0a 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.cpp @@ -27,15 +27,13 @@ MatchingNetwork::MatchingNetwork() port = 1; } -std::set MatchingNetwork::getAffectedPorts() +std::set MatchingNetwork::getAffectedPorts() { return {port}; } void MatchingNetwork::transformDatapoint(VirtualDevice::VNAMeasurement &p) { - auto S = p.toSparam(1, 2); - auto measurement = ABCDparam(S, p.Z0); if(matching.count(p.frequency) == 0) { // this point is not calculated yet MatchingPoint m; @@ -61,8 +59,8 @@ void MatchingNetwork::transformDatapoint(VirtualDevice::VNAMeasurement &p) p.measurements[name] = corrected.m11; } // handle the rest of the measurements - for(int i=1;i<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;i++) { - for(int j=i+1;j<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;j++) { + for(unsigned int i=1;i<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;i++) { + for(unsigned int j=i+1;j<=VirtualDevice::getInfo(VirtualDevice::getConnected()).ports;j++) { if(i == port) { auto S = uncorrected.toSparam(i, j); auto corrected = Sparam(m.p * ABCDparam(S, p.Z0), p.Z0); diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.h index 81eca99..dd03e1b 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/matchingnetwork.h @@ -64,7 +64,7 @@ public: // DeembeddingOption interface public: - std::set getAffectedPorts() override; + std::set getAffectedPorts() override; void transformDatapoint(VirtualDevice::VNAMeasurement &p) override; void edit() override; Type getType() override {return Type::MatchingNetwork;} @@ -84,7 +84,7 @@ private: bool eventFilter(QObject *object, QEvent *event) override; std::vector network; - int port; + unsigned int port; QWidget *graph, *insertIndicator; QPoint dragStartPosition; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.cpp index a037dda..9c119f3 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.cpp @@ -26,7 +26,7 @@ PortExtension::PortExtension() ui = nullptr; } -std::set PortExtension::getAffectedPorts() +std::set PortExtension::getAffectedPorts() { return {port}; } @@ -42,11 +42,11 @@ void PortExtension::transformDatapoint(VirtualDevice::VNAMeasurement &d) auto att = pow(10.0, -db_attennuation / 20.0); auto correction = polar(att, phase); for(auto &m : d.measurements) { - if(m.first.mid(1, 1).toInt() == port) { + if(m.first.mid(1, 1).toUInt() == port) { // selected port is the destination of this S parameter m.second /= correction; } - if(m.first.mid(2, 1).toInt() == port) { + if(m.first.mid(2, 1).toUInt() == port) { // selected port is the source of this S parameter m.second /= correction; } diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.h index 3b58bc2..e67288e 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.h @@ -18,7 +18,7 @@ class PortExtension : public DeembeddingOption Q_OBJECT public: PortExtension(); - std::set getAffectedPorts() override; + std::set getAffectedPorts() override; void transformDatapoint(VirtualDevice::VNAMeasurement& d) override; void setCalkit(Calkit *kit); Type getType() override {return Type::PortExtension;} @@ -42,7 +42,7 @@ private: // status variables for automatic measurements Calkit *kit; - int port; + unsigned int port; bool isOpen; bool isIdeal; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp index f112b37..5c5fdaf 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.cpp @@ -17,7 +17,7 @@ TwoThru::TwoThru() port2 = 2; } -std::set TwoThru::getAffectedPorts() +std::set TwoThru::getAffectedPorts() { return {port1, port2}; } diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.h b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.h index 840ae82..d4f8c7e 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.h +++ b/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/twothru.h @@ -16,7 +16,7 @@ class TwoThru : public DeembeddingOption public: TwoThru(); - std::set getAffectedPorts() override; + std::set getAffectedPorts() override; virtual void transformDatapoint(VirtualDevice::VNAMeasurement& p) override; virtual void edit() override; virtual Type getType() override {return DeembeddingOption::Type::TwoThru;} @@ -40,7 +40,7 @@ private: std::vector measurements2xthru; std::vector measurementsDUT; double Z0; - int port1, port2; + unsigned int port1, port2; std::vector points; bool measuring2xthru; bool measuringDUT; diff --git a/Software/PC_Application/LibreVNA-GUI/VNA/vna.cpp b/Software/PC_Application/LibreVNA-GUI/VNA/vna.cpp index 0644674..59099d0 100644 --- a/Software/PC_Application/LibreVNA-GUI/VNA/vna.cpp +++ b/Software/PC_Application/LibreVNA-GUI/VNA/vna.cpp @@ -882,11 +882,11 @@ void VNA::SettingsChanged(bool resetTraces, std::function cb) VirtualDevice::VNASettings s = {}; s.IFBW = settings.bandwidth; if(Preferences::getInstance().Acquisition.alwaysExciteAllPorts) { - for(int i=0;igetDevice()).ports;i++) { + for(unsigned int i=0;igetDevice()).ports;i++) { s.excitedPorts.push_back(i); } } else { - for(int i=0;igetDevice()).ports;i++) { + for(unsigned int i=0;igetDevice()).ports;i++) { if(traceModel.PortExcitationRequired(i)) s.excitedPorts.push_back(i); } @@ -1141,7 +1141,7 @@ void VNA::SetAveraging(unsigned int averages) void VNA::ExcitationRequired() { if(!Preferences::getInstance().Acquisition.alwaysExciteAllPorts) { - for(int i=1;igetDevice()).ports;i++) { + for(unsigned int i=1;igetDevice()).ports;i++) { auto required = traceModel.PortExcitationRequired(i); auto set = find(settings.excitedPorts.begin(), settings.excitedPorts.end(), i) != settings.excitedPorts.end(); if(required != set) { @@ -1640,5 +1640,5 @@ void VNA::SetSingleSweep(bool single) bool VNA::LoadCalibration(QString filename) { - cal.fromFile(filename); + return cal.fromFile(filename); } diff --git a/Software/PC_Application/LibreVNA-GUI/preferences.cpp b/Software/PC_Application/LibreVNA-GUI/preferences.cpp index 67387a1..04f20c3 100644 --- a/Software/PC_Application/LibreVNA-GUI/preferences.cpp +++ b/Software/PC_Application/LibreVNA-GUI/preferences.cpp @@ -136,7 +136,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) : }); connect(ui->compoundList, &QListWidget::doubleClicked, [=](){ auto index = ui->compoundList->currentRow(); - if(index >= 0 && index < p->compoundDevices.size()) { + if(index >= 0 && index < (int) p->compoundDevices.size()) { auto d = new CompoundDeviceEditDialog(p->compoundDevices[index]); connect(d, &QDialog::accepted, [=](){ ui->compoundList->item(index)->setText(p->compoundDevices[index]->getDesription()); @@ -160,7 +160,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) : }); connect(ui->compoundDelete, &QPushButton::clicked, [=](){ auto index = ui->compoundList->currentRow(); - if(index >= 0 && index < p->compoundDevices.size()) { + if(index >= 0 && index < (int) p->compoundDevices.size()) { // delete the actual compound device if(VirtualDevice::getConnected() && VirtualDevice::getConnected()->getCompoundDevice() == p->compoundDevices[index]) { // can't remove the device we are currently connected to diff --git a/Software/PC_Application/LibreVNA-GUI/savable.h b/Software/PC_Application/LibreVNA-GUI/savable.h index ca72d75..aa2702e 100644 --- a/Software/PC_Application/LibreVNA-GUI/savable.h +++ b/Software/PC_Application/LibreVNA-GUI/savable.h @@ -13,6 +13,8 @@ class Savable { public: + virtual ~Savable(){} + virtual nlohmann::json toJSON() = 0; virtual void fromJSON(nlohmann::json j) = 0;