Averaging of traces for VNA/SA mode
This commit is contained in:
parent
74e068d8d1
commit
398db2253d
@ -155,6 +155,17 @@ SpectrumAnalyzer::SpectrumAnalyzer(AppWindow *window)
|
|||||||
});
|
});
|
||||||
tb_acq->addWidget(cbDetector);
|
tb_acq->addWidget(cbDetector);
|
||||||
|
|
||||||
|
tb_acq->addWidget(new QLabel("Averaging:"));
|
||||||
|
lAverages = new QLabel("0/");
|
||||||
|
tb_acq->addWidget(lAverages);
|
||||||
|
auto sbAverages = new QSpinBox;
|
||||||
|
sbAverages->setRange(1, 100);
|
||||||
|
sbAverages->setRange(1, 99);
|
||||||
|
sbAverages->setFixedWidth(40);
|
||||||
|
connect(sbAverages, qOverload<int>(&QSpinBox::valueChanged), this, &SpectrumAnalyzer::SetAveraging);
|
||||||
|
connect(this, &SpectrumAnalyzer::averagingChanged, sbAverages, &QSpinBox::setValue);
|
||||||
|
tb_acq->addWidget(sbAverages);
|
||||||
|
|
||||||
cbSignalID = new QCheckBox("Signal ID");
|
cbSignalID = new QCheckBox("Signal ID");
|
||||||
connect(cbSignalID, &QCheckBox::toggled, [=](bool enabled) {
|
connect(cbSignalID, &QCheckBox::toggled, [=](bool enabled) {
|
||||||
settings.SignalID = enabled;
|
settings.SignalID = enabled;
|
||||||
@ -192,6 +203,7 @@ SpectrumAnalyzer::SpectrumAnalyzer(AppWindow *window)
|
|||||||
settings.f_stop = pref.Startup.SA.stop;
|
settings.f_stop = pref.Startup.SA.stop;
|
||||||
ConstrainAndUpdateFrequencies();
|
ConstrainAndUpdateFrequencies();
|
||||||
SetRBW(pref.Startup.SA.RBW);
|
SetRBW(pref.Startup.SA.RBW);
|
||||||
|
SetAveraging(pref.Startup.SA.averaging);
|
||||||
settings.pointNum = 1001;
|
settings.pointNum = 1001;
|
||||||
cbWindowType->setCurrentIndex(pref.Startup.SA.window);
|
cbWindowType->setCurrentIndex(pref.Startup.SA.window);
|
||||||
cbDetector->setCurrentIndex(pref.Startup.SA.detector);
|
cbDetector->setCurrentIndex(pref.Startup.SA.detector);
|
||||||
@ -226,6 +238,7 @@ void SpectrumAnalyzer::NewDatapoint(Protocol::SpectrumAnalyzerResult d)
|
|||||||
traceModel.addSAData(d);
|
traceModel.addSAData(d);
|
||||||
emit dataChanged();
|
emit dataChanged();
|
||||||
if(d.pointNum == settings.pointNum - 1) {
|
if(d.pointNum == settings.pointNum - 1) {
|
||||||
|
UpdateAverageCount();
|
||||||
markerModel->updateMarkers();
|
markerModel->updateMarkers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -242,6 +255,7 @@ void SpectrumAnalyzer::SettingsChanged()
|
|||||||
window->getDevice()->Configure(settings);
|
window->getDevice()->Configure(settings);
|
||||||
}
|
}
|
||||||
average.reset();
|
average.reset();
|
||||||
|
UpdateAverageCount();
|
||||||
traceModel.clearVNAData();
|
traceModel.clearVNAData();
|
||||||
emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
|
emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
|
||||||
}
|
}
|
||||||
@ -344,6 +358,11 @@ void SpectrumAnalyzer::SetAveraging(unsigned int averages)
|
|||||||
SettingsChanged();
|
SettingsChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SpectrumAnalyzer::UpdateAverageCount()
|
||||||
|
{
|
||||||
|
lAverages->setText(QString::number(average.getLevel()) + "/");
|
||||||
|
}
|
||||||
|
|
||||||
void SpectrumAnalyzer::ConstrainAndUpdateFrequencies()
|
void SpectrumAnalyzer::ConstrainAndUpdateFrequencies()
|
||||||
{
|
{
|
||||||
if(settings.f_stop > Device::Limits().maxFreq) {
|
if(settings.f_stop > Device::Limits().maxFreq) {
|
||||||
@ -373,6 +392,7 @@ void SpectrumAnalyzer::LoadSweepSettings()
|
|||||||
settings.pointNum = 1001;
|
settings.pointNum = 1001;
|
||||||
cbWindowType->setCurrentIndex(s.value("SAWindow", pref.Startup.SA.window).toInt());
|
cbWindowType->setCurrentIndex(s.value("SAWindow", pref.Startup.SA.window).toInt());
|
||||||
cbDetector->setCurrentIndex(s.value("SADetector", pref.Startup.SA.detector).toInt());
|
cbDetector->setCurrentIndex(s.value("SADetector", pref.Startup.SA.detector).toInt());
|
||||||
|
SetAveraging(s.value("SAAveraging", pref.Startup.SA.averaging).toInt());
|
||||||
cbSignalID->setChecked(s.value("SASignalID", pref.Startup.SA.signalID).toBool());
|
cbSignalID->setChecked(s.value("SASignalID", pref.Startup.SA.signalID).toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,5 +404,6 @@ void SpectrumAnalyzer::StoreSweepSettings()
|
|||||||
s.setValue("SARBW", settings.RBW);
|
s.setValue("SARBW", settings.RBW);
|
||||||
s.setValue("SAWindow", settings.WindowType);
|
s.setValue("SAWindow", settings.WindowType);
|
||||||
s.setValue("SADetector", settings.Detector);
|
s.setValue("SADetector", settings.Detector);
|
||||||
|
s.setValue("SAAveraging", averages);
|
||||||
s.setValue("SASignalID", static_cast<bool>(settings.SignalID));
|
s.setValue("SASignalID", static_cast<bool>(settings.SignalID));
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@ private slots:
|
|||||||
signals:
|
signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void UpdateStatusPanel();
|
void UpdateAverageCount();
|
||||||
void SettingsChanged();
|
void SettingsChanged();
|
||||||
void ConstrainAndUpdateFrequencies();
|
void ConstrainAndUpdateFrequencies();
|
||||||
void LoadSweepSettings();
|
void LoadSweepSettings();
|
||||||
@ -50,6 +50,7 @@ private:
|
|||||||
TileWidget *central;
|
TileWidget *central;
|
||||||
QCheckBox *cbSignalID;
|
QCheckBox *cbSignalID;
|
||||||
QComboBox *cbWindowType, *cbDetector;
|
QComboBox *cbWindowType, *cbDetector;
|
||||||
|
QLabel *lAverages;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void dataChanged();
|
void dataChanged();
|
||||||
|
@ -235,6 +235,16 @@ VNA::VNA(AppWindow *window)
|
|||||||
tb_acq->addWidget(new QLabel("IF BW:"));
|
tb_acq->addWidget(new QLabel("IF BW:"));
|
||||||
tb_acq->addWidget(eBandwidth);
|
tb_acq->addWidget(eBandwidth);
|
||||||
|
|
||||||
|
tb_acq->addWidget(new QLabel("Averaging:"));
|
||||||
|
lAverages = new QLabel("0/");
|
||||||
|
tb_acq->addWidget(lAverages);
|
||||||
|
auto sbAverages = new QSpinBox;
|
||||||
|
sbAverages->setRange(1, 99);
|
||||||
|
sbAverages->setFixedWidth(40);
|
||||||
|
connect(sbAverages, qOverload<int>(&QSpinBox::valueChanged), this, &VNA::SetAveraging);
|
||||||
|
connect(this, &VNA::averagingChanged, sbAverages, &QSpinBox::setValue);
|
||||||
|
tb_acq->addWidget(sbAverages);
|
||||||
|
|
||||||
window->addToolBar(tb_acq);
|
window->addToolBar(tb_acq);
|
||||||
toolbars.insert(tb_acq);
|
toolbars.insert(tb_acq);
|
||||||
|
|
||||||
@ -307,97 +317,6 @@ VNA::VNA(AppWindow *window)
|
|||||||
|
|
||||||
markerModel = new TraceMarkerModel(traceModel);
|
markerModel = new TraceMarkerModel(traceModel);
|
||||||
|
|
||||||
// Create status panel
|
|
||||||
auto statusLayout = new QVBoxLayout();
|
|
||||||
statusLayout->setSpacing(0);
|
|
||||||
QFont statusFont( "Arial", 8);
|
|
||||||
{
|
|
||||||
auto l = new QLabel("Start Frequency:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lStart = new QLabel;
|
|
||||||
lStart->setAlignment(Qt::AlignRight);
|
|
||||||
lStart->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lStart);
|
|
||||||
|
|
||||||
l = new QLabel("Center Frequency:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lCenter = new QLabel;
|
|
||||||
lCenter->setAlignment(Qt::AlignRight);
|
|
||||||
lCenter->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lCenter);
|
|
||||||
|
|
||||||
l = new QLabel("Stop Frequency:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lStop = new QLabel;
|
|
||||||
lStop->setAlignment(Qt::AlignRight);
|
|
||||||
lStop->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lStop);
|
|
||||||
|
|
||||||
l = new QLabel("Span:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lSpan = new QLabel;
|
|
||||||
lSpan->setAlignment(Qt::AlignRight);
|
|
||||||
lSpan->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lSpan);
|
|
||||||
|
|
||||||
statusLayout->addStretch();
|
|
||||||
|
|
||||||
l = new QLabel("Points:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lPoints = new QLabel;
|
|
||||||
lPoints->setAlignment(Qt::AlignRight);
|
|
||||||
lPoints->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lPoints);
|
|
||||||
|
|
||||||
l = new QLabel("IF Bandwidth:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lBandwidth = new QLabel;
|
|
||||||
lBandwidth->setAlignment(Qt::AlignRight);
|
|
||||||
lBandwidth->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lBandwidth);
|
|
||||||
|
|
||||||
l = new QLabel("Averages:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lAverages = new QLabel;
|
|
||||||
lAverages->setAlignment(Qt::AlignRight);
|
|
||||||
lAverages->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lAverages);
|
|
||||||
|
|
||||||
statusLayout->addStretch();
|
|
||||||
|
|
||||||
l = new QLabel("Calibration:");
|
|
||||||
l->setAlignment(Qt::AlignLeft);
|
|
||||||
l->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(l);
|
|
||||||
lCalibration = new QLabel;
|
|
||||||
lCalibration->setAlignment(Qt::AlignRight);
|
|
||||||
lCalibration->setFont(statusFont);
|
|
||||||
statusLayout->addWidget(lCalibration);
|
|
||||||
}
|
|
||||||
statusLayout->addStretch();
|
|
||||||
|
|
||||||
auto statusWidget = new QWidget;
|
|
||||||
statusWidget->setLayout(statusLayout);
|
|
||||||
// statusWidget->setFixedWidth(150);
|
|
||||||
auto statusDock = new QDockWidget("Status");
|
|
||||||
statusDock->setWidget(statusWidget);
|
|
||||||
window->addDockWidget(Qt::LeftDockWidgetArea, statusDock);
|
|
||||||
docks.insert(statusDock);
|
|
||||||
|
|
||||||
auto tracesDock = new QDockWidget("Traces");
|
auto tracesDock = new QDockWidget("Traces");
|
||||||
tracesDock->setWidget(new TraceWidget(traceModel));
|
tracesDock->setWidget(new TraceWidget(traceModel));
|
||||||
window->addDockWidget(Qt::LeftDockWidgetArea, tracesDock);
|
window->addDockWidget(Qt::LeftDockWidgetArea, tracesDock);
|
||||||
@ -411,9 +330,6 @@ VNA::VNA(AppWindow *window)
|
|||||||
window->addDockWidget(Qt::BottomDockWidgetArea, markerDock);
|
window->addDockWidget(Qt::BottomDockWidgetArea, markerDock);
|
||||||
docks.insert(markerDock);
|
docks.insert(markerDock);
|
||||||
|
|
||||||
// status dock hidden by default
|
|
||||||
statusDock->hide();
|
|
||||||
|
|
||||||
qRegisterMetaType<Protocol::Datapoint>("Datapoint");
|
qRegisterMetaType<Protocol::Datapoint>("Datapoint");
|
||||||
|
|
||||||
// Set initial sweep settings
|
// Set initial sweep settings
|
||||||
@ -433,6 +349,7 @@ VNA::VNA(AppWindow *window)
|
|||||||
ConstrainAndUpdateFrequencies();
|
ConstrainAndUpdateFrequencies();
|
||||||
SetSourceLevel(pref.Startup.DefaultSweep.excitation);
|
SetSourceLevel(pref.Startup.DefaultSweep.excitation);
|
||||||
SetIFBandwidth(pref.Startup.DefaultSweep.bandwidth);
|
SetIFBandwidth(pref.Startup.DefaultSweep.bandwidth);
|
||||||
|
SetAveraging(pref.Startup.DefaultSweep.averaging);
|
||||||
SetPoints(pref.Startup.DefaultSweep.points);
|
SetPoints(pref.Startup.DefaultSweep.points);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -503,39 +420,14 @@ void VNA::NewDatapoint(Protocol::Datapoint d)
|
|||||||
traceModel.addVNAData(d);
|
traceModel.addVNAData(d);
|
||||||
emit dataChanged();
|
emit dataChanged();
|
||||||
if(d.pointNum == settings.points - 1) {
|
if(d.pointNum == settings.points - 1) {
|
||||||
UpdateStatusPanel();
|
UpdateAverageCount();
|
||||||
markerModel->updateMarkers();
|
markerModel->updateMarkers();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VNA::UpdateStatusPanel()
|
void VNA::UpdateAverageCount()
|
||||||
{
|
{
|
||||||
lStart->setText(Unit::ToString(settings.f_start, "Hz", " kMG", 4));
|
lAverages->setText(QString::number(average.getLevel()) + "/");
|
||||||
lCenter->setText(Unit::ToString((settings.f_start + settings.f_stop)/2, "Hz", " kMG", 4));
|
|
||||||
lStop->setText(Unit::ToString(settings.f_stop, "Hz", " kMG", 4));
|
|
||||||
lSpan->setText(Unit::ToString(settings.f_stop - settings.f_start, "Hz", " kMG", 4));
|
|
||||||
lPoints->setText(QString::number(settings.points));
|
|
||||||
lBandwidth->setText(Unit::ToString(settings.if_bandwidth, "Hz", " k", 2));
|
|
||||||
lAverages->setText(QString::number(average.getLevel()) + "/" + QString::number(averages));
|
|
||||||
if(calValid) {
|
|
||||||
switch(cal.getInterpolation(settings)) {
|
|
||||||
case Calibration::InterpolationType::Extrapolate:
|
|
||||||
lCalibration->setText("Enabled/Extrapolating");
|
|
||||||
break;
|
|
||||||
case Calibration::InterpolationType::Interpolate:
|
|
||||||
lCalibration->setText("Enabled/Interpolating");
|
|
||||||
break;
|
|
||||||
case Calibration::InterpolationType::Exact:
|
|
||||||
case Calibration::InterpolationType::Unchanged:
|
|
||||||
lCalibration->setText("Enabled");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
lCalibration->setText("Unknown");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
lCalibration->setText("Off");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void VNA::SettingsChanged()
|
void VNA::SettingsChanged()
|
||||||
@ -546,7 +438,7 @@ void VNA::SettingsChanged()
|
|||||||
}
|
}
|
||||||
average.reset();
|
average.reset();
|
||||||
traceModel.clearVNAData();
|
traceModel.clearVNAData();
|
||||||
UpdateStatusPanel();
|
UpdateAverageCount();
|
||||||
emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
|
emit traceModel.SpanChanged(settings.f_start, settings.f_stop);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,6 +670,7 @@ void VNA::LoadSweepSettings()
|
|||||||
ConstrainAndUpdateFrequencies();
|
ConstrainAndUpdateFrequencies();
|
||||||
SetIFBandwidth(s.value("SweepBandwidth", pref.Startup.DefaultSweep.bandwidth).toUInt());
|
SetIFBandwidth(s.value("SweepBandwidth", pref.Startup.DefaultSweep.bandwidth).toUInt());
|
||||||
SetPoints(s.value("SweepPoints", pref.Startup.DefaultSweep.points).toInt());
|
SetPoints(s.value("SweepPoints", pref.Startup.DefaultSweep.points).toInt());
|
||||||
|
SetAveraging(s.value("SweepAveraging", pref.Startup.DefaultSweep.averaging).toInt());
|
||||||
SetSourceLevel(s.value("SweepLevel", pref.Startup.DefaultSweep.excitation).toDouble());
|
SetSourceLevel(s.value("SweepLevel", pref.Startup.DefaultSweep.excitation).toDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -788,5 +681,6 @@ void VNA::StoreSweepSettings()
|
|||||||
s.setValue("SweepStop", static_cast<unsigned long long>(settings.f_stop));
|
s.setValue("SweepStop", static_cast<unsigned long long>(settings.f_stop));
|
||||||
s.setValue("SweepBandwidth", settings.if_bandwidth);
|
s.setValue("SweepBandwidth", settings.if_bandwidth);
|
||||||
s.setValue("SweepPoints", settings.points);
|
s.setValue("SweepPoints", settings.points);
|
||||||
|
s.setValue("SweepAveraging", averages);
|
||||||
s.setValue("SweepLevel", (double) settings.cdbm_excitation / 100.0);
|
s.setValue("SweepLevel", (double) settings.cdbm_excitation / 100.0);
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ signals:
|
|||||||
void CalibrationMeasurementComplete(Calibration::Measurement m);
|
void CalibrationMeasurementComplete(Calibration::Measurement m);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void UpdateStatusPanel();
|
void UpdateAverageCount();
|
||||||
void SettingsChanged();
|
void SettingsChanged();
|
||||||
void ConstrainAndUpdateFrequencies();
|
void ConstrainAndUpdateFrequencies();
|
||||||
void LoadSweepSettings();
|
void LoadSweepSettings();
|
||||||
@ -66,8 +66,6 @@ private:
|
|||||||
QAction *assignDefaultCal, *removeDefaultCal;
|
QAction *assignDefaultCal, *removeDefaultCal;
|
||||||
|
|
||||||
// Status Labels
|
// Status Labels
|
||||||
QLabel *lStart, *lCenter, *lStop, *lSpan, *lPoints, *lBandwidth;
|
|
||||||
QLabel *lCalibration;
|
|
||||||
QLabel *lAverages;
|
QLabel *lAverages;
|
||||||
|
|
||||||
TileWidget *central;
|
TileWidget *central;
|
||||||
|
@ -24,6 +24,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
ui->StartupSweepPoints->setEnabled(false);
|
ui->StartupSweepPoints->setEnabled(false);
|
||||||
ui->StartupSweepLevel->setEnabled(false);
|
ui->StartupSweepLevel->setEnabled(false);
|
||||||
ui->StartupSweepBandwidth->setEnabled(false);
|
ui->StartupSweepBandwidth->setEnabled(false);
|
||||||
|
ui->StartupSweepAveraging->setEnabled(false);
|
||||||
ui->StartupGeneratorFrequency->setEnabled(false);
|
ui->StartupGeneratorFrequency->setEnabled(false);
|
||||||
ui->StartupGeneratorLevel->setEnabled(false);
|
ui->StartupGeneratorLevel->setEnabled(false);
|
||||||
ui->StartupSAStart->setEnabled(false);
|
ui->StartupSAStart->setEnabled(false);
|
||||||
@ -31,6 +32,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
ui->StartupSARBW->setEnabled(false);
|
ui->StartupSARBW->setEnabled(false);
|
||||||
ui->StartupSAWindow->setEnabled(false);
|
ui->StartupSAWindow->setEnabled(false);
|
||||||
ui->StartupSADetector->setEnabled(false);
|
ui->StartupSADetector->setEnabled(false);
|
||||||
|
ui->StartupSAAveraging->setEnabled(false);
|
||||||
ui->StartupSASignalID->setEnabled(false);
|
ui->StartupSASignalID->setEnabled(false);
|
||||||
});
|
});
|
||||||
connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){
|
connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){
|
||||||
@ -39,6 +41,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
ui->StartupSweepPoints->setEnabled(true);
|
ui->StartupSweepPoints->setEnabled(true);
|
||||||
ui->StartupSweepLevel->setEnabled(true);
|
ui->StartupSweepLevel->setEnabled(true);
|
||||||
ui->StartupSweepBandwidth->setEnabled(true);
|
ui->StartupSweepBandwidth->setEnabled(true);
|
||||||
|
ui->StartupSweepAveraging->setEnabled(true);
|
||||||
ui->StartupGeneratorFrequency->setEnabled(true);
|
ui->StartupGeneratorFrequency->setEnabled(true);
|
||||||
ui->StartupGeneratorLevel->setEnabled(true);
|
ui->StartupGeneratorLevel->setEnabled(true);
|
||||||
ui->StartupSAStart->setEnabled(true);
|
ui->StartupSAStart->setEnabled(true);
|
||||||
@ -46,6 +49,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
ui->StartupSARBW->setEnabled(true);
|
ui->StartupSARBW->setEnabled(true);
|
||||||
ui->StartupSAWindow->setEnabled(true);
|
ui->StartupSAWindow->setEnabled(true);
|
||||||
ui->StartupSADetector->setEnabled(true);
|
ui->StartupSADetector->setEnabled(true);
|
||||||
|
ui->StartupSAAveraging->setEnabled(true);
|
||||||
ui->StartupSASignalID->setEnabled(true);
|
ui->StartupSASignalID->setEnabled(true);
|
||||||
});
|
});
|
||||||
ui->StartupSweepStart->setUnit("Hz");
|
ui->StartupSweepStart->setUnit("Hz");
|
||||||
@ -92,6 +96,7 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
p->Startup.DefaultSweep.bandwidth = ui->StartupSweepBandwidth->value();
|
p->Startup.DefaultSweep.bandwidth = ui->StartupSweepBandwidth->value();
|
||||||
p->Startup.DefaultSweep.points = ui->StartupSweepPoints->value();
|
p->Startup.DefaultSweep.points = ui->StartupSweepPoints->value();
|
||||||
p->Startup.DefaultSweep.excitation = ui->StartupSweepLevel->value();
|
p->Startup.DefaultSweep.excitation = ui->StartupSweepLevel->value();
|
||||||
|
p->Startup.DefaultSweep.averaging = ui->StartupSweepAveraging->value();
|
||||||
p->Startup.Generator.frequency = ui->StartupGeneratorFrequency->value();
|
p->Startup.Generator.frequency = ui->StartupGeneratorFrequency->value();
|
||||||
p->Startup.Generator.level = ui->StartupGeneratorLevel->value();
|
p->Startup.Generator.level = ui->StartupGeneratorLevel->value();
|
||||||
p->Startup.SA.start = ui->StartupSAStart->value();
|
p->Startup.SA.start = ui->StartupSAStart->value();
|
||||||
@ -131,11 +136,13 @@ void PreferencesDialog::setInitialGUIState()
|
|||||||
ui->StartupSweepLevel->setValue(p->Startup.DefaultSweep.excitation);
|
ui->StartupSweepLevel->setValue(p->Startup.DefaultSweep.excitation);
|
||||||
ui->StartupGeneratorFrequency->setValue(p->Startup.Generator.frequency);
|
ui->StartupGeneratorFrequency->setValue(p->Startup.Generator.frequency);
|
||||||
ui->StartupGeneratorLevel->setValue(p->Startup.Generator.level);
|
ui->StartupGeneratorLevel->setValue(p->Startup.Generator.level);
|
||||||
|
ui->StartupSweepAveraging->setValue(p->Startup.DefaultSweep.averaging);
|
||||||
ui->StartupSAStart->setValue(p->Startup.SA.start);
|
ui->StartupSAStart->setValue(p->Startup.SA.start);
|
||||||
ui->StartupSAStop->setValue(p->Startup.SA.stop);
|
ui->StartupSAStop->setValue(p->Startup.SA.stop);
|
||||||
ui->StartupSARBW->setValue(p->Startup.SA.RBW);
|
ui->StartupSARBW->setValue(p->Startup.SA.RBW);
|
||||||
ui->StartupSAWindow->setCurrentIndex(p->Startup.SA.window);
|
ui->StartupSAWindow->setCurrentIndex(p->Startup.SA.window);
|
||||||
ui->StartupSADetector->setCurrentIndex(p->Startup.SA.detector);
|
ui->StartupSADetector->setCurrentIndex(p->Startup.SA.detector);
|
||||||
|
ui->StartupSAAveraging->setValue(p->Startup.SA.averaging);
|
||||||
ui->StartupSASignalID->setChecked(p->Startup.SA.signalID);
|
ui->StartupSASignalID->setChecked(p->Startup.SA.signalID);
|
||||||
|
|
||||||
ui->AcquisitionAlwaysExciteBoth->setChecked(p->Acquisition.alwaysExciteBothPorts);
|
ui->AcquisitionAlwaysExciteBoth->setChecked(p->Acquisition.alwaysExciteBothPorts);
|
||||||
|
@ -47,6 +47,7 @@ public:
|
|||||||
int points;
|
int points;
|
||||||
double bandwidth;
|
double bandwidth;
|
||||||
double excitation;
|
double excitation;
|
||||||
|
int averaging;
|
||||||
} DefaultSweep;
|
} DefaultSweep;
|
||||||
struct {
|
struct {
|
||||||
double frequency;
|
double frequency;
|
||||||
@ -58,6 +59,7 @@ public:
|
|||||||
double RBW;
|
double RBW;
|
||||||
int window;
|
int window;
|
||||||
int detector;
|
int detector;
|
||||||
|
int averaging;
|
||||||
bool signalID;
|
bool signalID;
|
||||||
} SA;
|
} SA;
|
||||||
} Startup;
|
} Startup;
|
||||||
@ -80,7 +82,7 @@ private:
|
|||||||
QString name;
|
QString name;
|
||||||
QVariant def;
|
QVariant def;
|
||||||
};
|
};
|
||||||
const std::array<SettingDescription, 20> descr = {{
|
const std::array<SettingDescription, 22> descr = {{
|
||||||
{&Startup.ConnectToFirstDevice, "Startup.ConnectToFirstDevice", true},
|
{&Startup.ConnectToFirstDevice, "Startup.ConnectToFirstDevice", true},
|
||||||
{&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false},
|
{&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false},
|
||||||
{&Startup.DefaultSweep.start, "Startup.DefaultSweep.start", 1000000.0},
|
{&Startup.DefaultSweep.start, "Startup.DefaultSweep.start", 1000000.0},
|
||||||
@ -88,6 +90,7 @@ private:
|
|||||||
{&Startup.DefaultSweep.points, "Startup.DefaultSweep.points", 501},
|
{&Startup.DefaultSweep.points, "Startup.DefaultSweep.points", 501},
|
||||||
{&Startup.DefaultSweep.bandwidth, "Startup.DefaultSweep.bandwidth", 1000.0},
|
{&Startup.DefaultSweep.bandwidth, "Startup.DefaultSweep.bandwidth", 1000.0},
|
||||||
{&Startup.DefaultSweep.excitation, "Startup.DefaultSweep.excitation", -10.00},
|
{&Startup.DefaultSweep.excitation, "Startup.DefaultSweep.excitation", -10.00},
|
||||||
|
{&Startup.DefaultSweep.averaging, "Startup.DefaultSweep.averaging", 1},
|
||||||
{&Startup.Generator.frequency, "Startup.Generator.frequency", 1000000000.0},
|
{&Startup.Generator.frequency, "Startup.Generator.frequency", 1000000000.0},
|
||||||
{&Startup.Generator.level, "Startup.Generator.level", -10.00},
|
{&Startup.Generator.level, "Startup.Generator.level", -10.00},
|
||||||
{&Startup.SA.start, "Startup.SA.start", 950000000.0},
|
{&Startup.SA.start, "Startup.SA.start", 950000000.0},
|
||||||
@ -95,6 +98,7 @@ private:
|
|||||||
{&Startup.SA.RBW, "Startup.SA.RBW", 10000.0},
|
{&Startup.SA.RBW, "Startup.SA.RBW", 10000.0},
|
||||||
{&Startup.SA.window, "Startup.SA.window", 1},
|
{&Startup.SA.window, "Startup.SA.window", 1},
|
||||||
{&Startup.SA.detector, "Startup.SA.detector", 0},
|
{&Startup.SA.detector, "Startup.SA.detector", 0},
|
||||||
|
{&Startup.SA.averaging, "Startup.SA.averaging", 1},
|
||||||
{&Startup.SA.signalID, "Startup.SA.signalID", true},
|
{&Startup.SA.signalID, "Startup.SA.signalID", true},
|
||||||
{&Acquisition.alwaysExciteBothPorts, "Acquisition.alwaysExciteBothPorts", true},
|
{&Acquisition.alwaysExciteBothPorts, "Acquisition.alwaysExciteBothPorts", true},
|
||||||
{&Acquisition.suppressPeaks, "Acquisition.suppressPeaks", true},
|
{&Acquisition.suppressPeaks, "Acquisition.suppressPeaks", true},
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>619</width>
|
<width>613</width>
|
||||||
<height>730</height>
|
<height>794</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -73,7 +73,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="Startup">
|
<widget class="QWidget" name="Startup">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
@ -219,6 +219,23 @@
|
|||||||
<item row="4" column="1">
|
<item row="4" column="1">
|
||||||
<widget class="SIUnitEdit" name="StartupSweepBandwidth"/>
|
<widget class="SIUnitEdit" name="StartupSweepBandwidth"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_18">
|
||||||
|
<property name="text">
|
||||||
|
<string>Averaging:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QSpinBox" name="StartupSweepAveraging">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@ -367,20 +384,37 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QLabel" name="label_14">
|
<widget class="QLabel" name="label_14">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Signal Identification:</string>
|
<string>Signal Identification:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="6" column="1">
|
||||||
<widget class="QCheckBox" name="StartupSASignalID">
|
<widget class="QCheckBox" name="StartupSASignalID">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_19">
|
||||||
|
<property name="text">
|
||||||
|
<string>Averaging:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="1">
|
||||||
|
<widget class="QSpinBox" name="StartupSAAveraging">
|
||||||
|
<property name="minimum">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<number>99</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user