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

54 lines
1.2 KiB
C
Raw Normal View History

2020-10-31 23:52:59 +08:00
#ifndef PORTEXTENSION_H
#define PORTEXTENSION_H
#include <QObject>
#include "../VNA_embedded/Application/Communication/Protocol.hpp"
#include <QToolBar>
#include "Calibration/calkit.h"
#include <QMessageBox>
#include "deembeddingoption.h"
2020-10-31 23:52:59 +08:00
namespace Ui {
class PortExtensionEditDialog;
}
class PortExtension : public DeembeddingOption
2020-10-31 23:52:59 +08:00
{
Q_OBJECT
public:
PortExtension();
void transformDatapoint(Protocol::Datapoint& d) override;
2020-10-31 23:52:59 +08:00
void setCalkit(Calkit *kit);
Type getType() override {return Type::PortExtension;}
nlohmann::json toJSON() override;
void fromJSON(nlohmann::json j) override;
2020-10-31 23:52:59 +08:00
public slots:
void edit() override;
2021-02-11 23:59:59 +08:00
void measurementCompleted(std::vector<Protocol::Datapoint> m) override;
2020-10-31 23:52:59 +08:00
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;
2021-02-11 23:59:59 +08:00
// bool measuring;
2020-10-31 23:52:59 +08:00
bool isPort1;
bool isOpen;
bool isIdeal;
2021-02-11 23:59:59 +08:00
// std::vector<Protocol::Datapoint> measurements;
2020-10-31 23:52:59 +08:00
QMessageBox *msgBox;
Ui::PortExtensionEditDialog *ui;
2020-10-31 23:52:59 +08:00
};
#endif // PORTEXTENSION_H