LibreVNA/Software/PC_Application/LibreVNA-GUI/VNA/Deembedding/portextension.h

53 lines
1.2 KiB
C
Raw Normal View History

2022-10-01 23:10:44 +08:00
#ifndef PORTEXTENSION_H
#define PORTEXTENSION_H
#include "../../VNA_embedded/Application/Communication/Protocol.hpp"
#include "Calibration/calkit.h"
#include "deembeddingoption.h"
#include <QObject>
#include <QMessageBox>
#include <QToolBar>
namespace Ui {
class PortExtensionEditDialog;
}
class PortExtension : public DeembeddingOption
{
Q_OBJECT
public:
PortExtension();
2022-10-14 06:27:22 +08:00
std::set<unsigned int> getAffectedPorts() override;
2022-10-01 23:10:44 +08:00
void transformDatapoint(VirtualDevice::VNAMeasurement& d) override;
void setCalkit(Calkit *kit);
Type getType() override {return Type::PortExtension;}
nlohmann::json toJSON() override;
void fromJSON(nlohmann::json j) override;
public slots:
void edit() override;
void measurementCompleted(std::vector<VirtualDevice::VNAMeasurement> m) override;
private:
void startMeasurement();
class Extension {
public:
double delay;
double velocityFactor;
double DCloss;
double loss;
double frequency;
};
Extension ext;
// status variables for automatic measurements
Calkit *kit;
2022-10-14 06:27:22 +08:00
unsigned int port;
2022-10-01 23:10:44 +08:00
bool isOpen;
bool isIdeal;
Ui::PortExtensionEditDialog *ui;
};
#endif // PORTEXTENSION_H