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()
|
||||
{
|
||||
settings.freqStart = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
||||
settings.freqStop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
||||
auto &pref = Preferences::getInstance();
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -1018,8 +1018,20 @@ void VNA::SetSpan(double span)
|
||||
|
||||
void VNA::SetFullSpan()
|
||||
{
|
||||
settings.Freq.start = VirtualDevice::getInfo(window->getDevice()).Limits.minFreq;
|
||||
settings.Freq.stop = VirtualDevice::getInfo(window->getDevice()).Limits.maxFreq;
|
||||
auto &pref = Preferences::getInstance();
|
||||
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();
|
||||
}
|
||||
|
||||
|
@ -103,6 +103,14 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
|
||||
ui->AcquisitionIF2->setUnit("Hz");
|
||||
ui->AcquisitionIF2->setPrefixes(" kM");
|
||||
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 = [=]() {
|
||||
// update ADC rate, see FPGA protocol for calculation
|
||||
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->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
|
||||
ui->GraphsZoomFactor->setPrecision(3);
|
||||
|
||||
@ -294,6 +307,10 @@ void PreferencesDialog::setInitialGUIState()
|
||||
ui->AcquisitionIF1->setValue(p->Acquisition.IF1);
|
||||
ui->AcquisitionADCpresc->setValue(p->Acquisition.ADCprescaler);
|
||||
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->GraphsColorBackground->setColor(p->Graphs.Color.background);
|
||||
@ -367,6 +384,10 @@ void PreferencesDialog::updateFromGUI()
|
||||
p->Acquisition.IF1 = ui->AcquisitionIF1->value();
|
||||
p->Acquisition.ADCprescaler = ui->AcquisitionADCpresc->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.Color.background = ui->GraphsColorBackground->getColor();
|
||||
|
@ -106,6 +106,12 @@ public:
|
||||
double IF1;
|
||||
int ADCprescaler;
|
||||
int DFTPhaseInc;
|
||||
|
||||
// Full span settings
|
||||
bool fullSpanManual;
|
||||
double fullSpanStart;
|
||||
double fullSpanStop;
|
||||
bool fullSpanCalibratedRange;
|
||||
} Acquisition;
|
||||
struct {
|
||||
bool showUnits;
|
||||
@ -201,6 +207,10 @@ private:
|
||||
{&Acquisition.IF1, "Acquisition.IF1", 62000000},
|
||||
{&Acquisition.ADCprescaler, "Acquisition.ADCprescaler", 128},
|
||||
{&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.Color.background, "Graphs.Color.background", QColor(Qt::black)},
|
||||
{&Graphs.Color.axis, "Graphs.Color.axis", QColor(Qt::white)},
|
||||
|
@ -82,9 +82,9 @@
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>684</width>
|
||||
<height>854</height>
|
||||
<y>-334</y>
|
||||
<width>687</width>
|
||||
<height>938</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||
@ -103,7 +103,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="Startup">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
@ -701,7 +701,7 @@
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="Acquisition">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_20">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="title">
|
||||
@ -786,7 +786,7 @@
|
||||
<property name="title">
|
||||
<string>Common</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_14">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||
<item>
|
||||
<layout class="QFormLayout" name="formLayout_10">
|
||||
<item row="0" column="0">
|
||||
@ -923,6 +923,67 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</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>
|
||||
</widget>
|
||||
</item>
|
||||
|
Loading…
Reference in New Issue
Block a user