LibreVNA/Software/PC_Application/VNA/Deembedding/impedancerenormalization.cpp

59 lines
1.2 KiB
C++
Raw Normal View History

#include "impedancerenormalization.h"
#include "ui_impedancenormalizationdialog.h"
#include "Tools/parameters.h"
#include "appwindow.h"
#include <complex>
using namespace std;
ImpedanceRenormalization::ImpedanceRenormalization()
: DeembeddingOption(),
impedance(50.0)
{
}
2022-08-05 02:12:15 +08:00
void ImpedanceRenormalization::transformDatapoint(VirtualDevice::VNAMeasurement &p)
{
2022-08-05 02:12:15 +08:00
//p.S = Sparam(ABCDparam(p.S, p.Z0), impedance);
// TODO
p.Z0 = impedance;
}
nlohmann::json ImpedanceRenormalization::toJSON()
{
nlohmann::json j;
j["impedance"] = impedance;
return j;
}
void ImpedanceRenormalization::fromJSON(nlohmann::json j)
{
impedance = j.value("impedance", impedance);
}
void ImpedanceRenormalization::edit()
{
auto dialog = new QDialog();
ui = new Ui::ImpedanceRenormalizationDialog();
ui->setupUi(dialog);
connect(dialog, &QDialog::finished, [=](){
delete ui;
});
// set initial values
ui->impedance->setUnit("Ω");
ui->impedance->setPrecision(3);
ui->impedance->setValue(impedance);
connect(ui->impedance, &SIUnitEdit::valueChanged, [&](double newval){
impedance = newval;
});
if(AppWindow::showGUI()) {
dialog->show();
}
}