LibreVNA/Software/PC_Application/VNA/Deembedding/portextension.h
2022-03-17 18:24:18 +01:00

53 lines
1.1 KiB
C++

#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();
void transformDatapoint(VNAData& 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<VNAData> m) override;
private:
void startMeasurement();
class Extension {
public:
bool enabled;
double delay;
double velocityFactor;
double DCloss;
double loss;
double frequency;
};
Extension port1, port2;
// status variables for automatic measurements
Calkit *kit;
bool isPort1;
bool isOpen;
bool isIdeal;
Ui::PortExtensionEditDialog *ui;
};
#endif // PORTEXTENSION_H