Set full span behavior in preferences
This commit is contained in:
parent
6552100775
commit
1fcf25d060
@ -627,8 +627,14 @@ void SpectrumAnalyzer::SetSpan(double span)
|
|||||||
|
|
||||||
void SpectrumAnalyzer::SetFullSpan()
|
void SpectrumAnalyzer::SetFullSpan()
|
||||||
{
|
{
|
||||||
settings.freqStart = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
auto &pref = Preferences::getInstance();
|
||||||
settings.freqStop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
if(pref.Acquisition.fullSpanManual) {
|
||||||
|
settings.freqStart = pref.Acquisition.fullSpanStart;
|
||||||
|
settings.freqStop = pref.Acquisition.fullSpanStop;
|
||||||
|
} else {
|
||||||
|
settings.freqStart = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
||||||
|
settings.freqStop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
||||||
|
}
|
||||||
ConstrainAndUpdateFrequencies();
|
ConstrainAndUpdateFrequencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1018,8 +1018,20 @@ void VNA::SetSpan(double span)
|
|||||||
|
|
||||||
void VNA::SetFullSpan()
|
void VNA::SetFullSpan()
|
||||||
{
|
{
|
||||||
settings.Freq.start = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
auto &pref = Preferences::getInstance();
|
||||||
settings.Freq.stop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
if(pref.Acquisition.fullSpanCalibratedRange && cal.getNumPoints() > 0) {
|
||||||
|
// calibration is active, use it as the full span range
|
||||||
|
settings.Freq.start = cal.getMinFreq();
|
||||||
|
settings.Freq.stop = cal.getMaxFreq();
|
||||||
|
} else {
|
||||||
|
if(pref.Acquisition.fullSpanManual) {
|
||||||
|
settings.Freq.start = pref.Acquisition.fullSpanStart;
|
||||||
|
settings.Freq.stop = pref.Acquisition.fullSpanStop;
|
||||||
|
} else {
|
||||||
|
settings.Freq.start = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
||||||
|
settings.Freq.stop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
||||||
|
}
|
||||||
|
}
|
||||||
ConstrainAndUpdateFrequencies();
|
ConstrainAndUpdateFrequencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,6 +103,14 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
ui->AcquisitionIF2->setUnit("Hz");
|
ui->AcquisitionIF2->setUnit("Hz");
|
||||||
ui->AcquisitionIF2->setPrefixes(" kM");
|
ui->AcquisitionIF2->setPrefixes(" kM");
|
||||||
ui->AcquisitionIF2->setPrecision(6);
|
ui->AcquisitionIF2->setPrecision(6);
|
||||||
|
ui->AcquisitionFullSpanStart->setUnit("Hz");
|
||||||
|
ui->AcquisitionFullSpanStart->setPrefixes(" kMG");
|
||||||
|
ui->AcquisitionFullSpanStart->setPrecision(6);
|
||||||
|
ui->AcquisitionFullSpanStart->setEnabled(false);
|
||||||
|
ui->AcquisitionFullSpanStop->setUnit("Hz");
|
||||||
|
ui->AcquisitionFullSpanStop->setPrefixes(" kMG");
|
||||||
|
ui->AcquisitionFullSpanStop->setPrecision(6);
|
||||||
|
ui->AcquisitionFullSpanStop->setEnabled(false);
|
||||||
auto updateADCRate = [=]() {
|
auto updateADCRate = [=]() {
|
||||||
// update ADC rate, see FPGA protocol for calculation
|
// update ADC rate, see FPGA protocol for calculation
|
||||||
ui->AcquisitionADCRate->setValue(102400000.0 / ui->AcquisitionADCpresc->value());
|
ui->AcquisitionADCRate->setValue(102400000.0 / ui->AcquisitionADCpresc->value());
|
||||||
@ -115,6 +123,11 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
|||||||
connect(ui->AcquisitionADCpresc, qOverload<int>(&QSpinBox::valueChanged), updateIF2);
|
connect(ui->AcquisitionADCpresc, qOverload<int>(&QSpinBox::valueChanged), updateIF2);
|
||||||
connect(ui->AcquisitionADCphaseInc, qOverload<int>(&QSpinBox::valueChanged), updateIF2);
|
connect(ui->AcquisitionADCphaseInc, qOverload<int>(&QSpinBox::valueChanged), updateIF2);
|
||||||
|
|
||||||
|
connect(ui->AcquisitionFullSpanBehavior, qOverload<int>(&QComboBox::currentIndexChanged), [=](){
|
||||||
|
ui->AcquisitionFullSpanStart->setEnabled(ui->AcquisitionFullSpanBehavior->currentIndex() == 1);
|
||||||
|
ui->AcquisitionFullSpanStop->setEnabled(ui->AcquisitionFullSpanBehavior->currentIndex() == 1);
|
||||||
|
});
|
||||||
|
|
||||||
// Graph page
|
// Graph page
|
||||||
ui->GraphsZoomFactor->setPrecision(3);
|
ui->GraphsZoomFactor->setPrecision(3);
|
||||||
|
|
||||||
@ -294,6 +307,10 @@ void PreferencesDialog::setInitialGUIState()
|
|||||||
ui->AcquisitionIF1->setValue(p->Acquisition.IF1);
|
ui->AcquisitionIF1->setValue(p->Acquisition.IF1);
|
||||||
ui->AcquisitionADCpresc->setValue(p->Acquisition.ADCprescaler);
|
ui->AcquisitionADCpresc->setValue(p->Acquisition.ADCprescaler);
|
||||||
ui->AcquisitionADCphaseInc->setValue(p->Acquisition.DFTPhaseInc);
|
ui->AcquisitionADCphaseInc->setValue(p->Acquisition.DFTPhaseInc);
|
||||||
|
ui->AcquisitionFullSpanBehavior->setCurrentIndex(p->Acquisition.fullSpanManual ? 1 : 0);
|
||||||
|
ui->AcquisitionFullSpanStart->setValue(p->Acquisition.fullSpanStart);
|
||||||
|
ui->AcquisitionFullSpanStop->setValue(p->Acquisition.fullSpanStop);
|
||||||
|
ui->AcquisitionFullSpanCalibrated->setChecked(p->Acquisition.fullSpanCalibratedRange);
|
||||||
|
|
||||||
ui->GraphsShowUnit->setChecked(p->Graphs.showUnits);
|
ui->GraphsShowUnit->setChecked(p->Graphs.showUnits);
|
||||||
ui->GraphsColorBackground->setColor(p->Graphs.Color.background);
|
ui->GraphsColorBackground->setColor(p->Graphs.Color.background);
|
||||||
@ -367,6 +384,10 @@ void PreferencesDialog::updateFromGUI()
|
|||||||
p->Acquisition.IF1 = ui->AcquisitionIF1->value();
|
p->Acquisition.IF1 = ui->AcquisitionIF1->value();
|
||||||
p->Acquisition.ADCprescaler = ui->AcquisitionADCpresc->value();
|
p->Acquisition.ADCprescaler = ui->AcquisitionADCpresc->value();
|
||||||
p->Acquisition.DFTPhaseInc = ui->AcquisitionADCphaseInc->value();
|
p->Acquisition.DFTPhaseInc = ui->AcquisitionADCphaseInc->value();
|
||||||
|
p->Acquisition.fullSpanManual = ui->AcquisitionFullSpanBehavior->currentIndex() == 1;
|
||||||
|
p->Acquisition.fullSpanStart = ui->AcquisitionFullSpanStart->value();
|
||||||
|
p->Acquisition.fullSpanStop = ui->AcquisitionFullSpanStop->value();
|
||||||
|
p->Acquisition.fullSpanCalibratedRange = ui->AcquisitionFullSpanCalibrated->isChecked();
|
||||||
|
|
||||||
p->Graphs.showUnits = ui->GraphsShowUnit->isChecked();
|
p->Graphs.showUnits = ui->GraphsShowUnit->isChecked();
|
||||||
p->Graphs.Color.background = ui->GraphsColorBackground->getColor();
|
p->Graphs.Color.background = ui->GraphsColorBackground->getColor();
|
||||||
|
@ -106,6 +106,12 @@ public:
|
|||||||
double IF1;
|
double IF1;
|
||||||
int ADCprescaler;
|
int ADCprescaler;
|
||||||
int DFTPhaseInc;
|
int DFTPhaseInc;
|
||||||
|
|
||||||
|
// Full span settings
|
||||||
|
bool fullSpanManual;
|
||||||
|
double fullSpanStart;
|
||||||
|
double fullSpanStop;
|
||||||
|
bool fullSpanCalibratedRange;
|
||||||
} Acquisition;
|
} Acquisition;
|
||||||
struct {
|
struct {
|
||||||
bool showUnits;
|
bool showUnits;
|
||||||
@ -201,6 +207,10 @@ private:
|
|||||||
{&Acquisition.IF1, "Acquisition.IF1", 62000000},
|
{&Acquisition.IF1, "Acquisition.IF1", 62000000},
|
||||||
{&Acquisition.ADCprescaler, "Acquisition.ADCprescaler", 128},
|
{&Acquisition.ADCprescaler, "Acquisition.ADCprescaler", 128},
|
||||||
{&Acquisition.DFTPhaseInc, "Acquisition.DFTPhaseInc", 1280},
|
{&Acquisition.DFTPhaseInc, "Acquisition.DFTPhaseInc", 1280},
|
||||||
|
{&Acquisition.fullSpanManual, "Acquisition.fullSpanManual", false},
|
||||||
|
{&Acquisition.fullSpanStart, "Acquisition.fullSpanStart", 0.0},
|
||||||
|
{&Acquisition.fullSpanStop, "Acquisition.fullSpanStop", 6000000000.0},
|
||||||
|
{&Acquisition.fullSpanCalibratedRange, "Acquisition.fullSpanCalibratedRange", false},
|
||||||
{&Graphs.showUnits, "Graphs.showUnits", true},
|
{&Graphs.showUnits, "Graphs.showUnits", true},
|
||||||
{&Graphs.Color.background, "Graphs.Color.background", QColor(Qt::black)},
|
{&Graphs.Color.background, "Graphs.Color.background", QColor(Qt::black)},
|
||||||
{&Graphs.Color.axis, "Graphs.Color.axis", QColor(Qt::white)},
|
{&Graphs.Color.axis, "Graphs.Color.axis", QColor(Qt::white)},
|
||||||
|
@ -82,9 +82,9 @@
|
|||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>-334</y>
|
||||||
<width>684</width>
|
<width>687</width>
|
||||||
<height>854</height>
|
<height>938</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||||
@ -103,7 +103,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>2</number>
|
<number>1</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">
|
||||||
@ -701,7 +701,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="Acquisition">
|
<widget class="QWidget" name="Acquisition">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_15">
|
<layout class="QVBoxLayout" name="verticalLayout_20">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_6">
|
<widget class="QGroupBox" name="groupBox_6">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -786,7 +786,7 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Common</string>
|
<string>Common</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_14">
|
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QFormLayout" name="formLayout_10">
|
<layout class="QFormLayout" name="formLayout_10">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
@ -923,6 +923,67 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_19">
|
||||||
|
<property name="title">
|
||||||
|
<string>Full Span</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_14">
|
||||||
|
<item>
|
||||||
|
<layout class="QFormLayout" name="formLayout_14">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_48">
|
||||||
|
<property name="text">
|
||||||
|
<string>Behavior:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="AcquisitionFullSpanBehavior">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use maximum possible span as advertised by device</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Use manually defined full span</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_49">
|
||||||
|
<property name="text">
|
||||||
|
<string>Start frequency:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="SIUnitEdit" name="AcquisitionFullSpanStart"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_50">
|
||||||
|
<property name="text">
|
||||||
|
<string>Stop frequency:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="SIUnitEdit" name="AcquisitionFullSpanStop"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="AcquisitionFullSpanCalibrated">
|
||||||
|
<property name="text">
|
||||||
|
<string>Use calibrated range as full span when calibrated</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user