improve autostart from setup file

This commit is contained in:
Jan Käberich 2022-01-30 18:09:47 +01:00
parent 0c782fc009
commit cb5f472c47
5 changed files with 514 additions and 404 deletions

View File

@ -144,15 +144,7 @@ AppWindow::AppWindow(QWidget *parent)
// aborted selection // aborted selection
return; return;
} }
if(!filename.endsWith(".setup")) { SaveSetup(filename);
filename.append(".setup");
}
ofstream file;
file.open(filename.toStdString());
file << setw(4) << SaveSetup() << endl;
file.close();
QFileInfo fi(filename);
lSetupName.setText("Setup: "+fi.fileName());
}); });
connect(ui->actionLoad_setup, &QAction::triggered, [=](){ connect(ui->actionLoad_setup, &QAction::triggered, [=](){
auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", "", "Setup files (*.setup)", nullptr, QFileDialog::DontUseNativeDialog); auto filename = QFileDialog::getOpenFileName(nullptr, "Load setup data", "", "Setup files (*.setup)", nullptr, QFileDialog::DontUseNativeDialog);
@ -243,9 +235,12 @@ AppWindow::AppWindow(QWidget *parent)
qRegisterMetaType<Protocol::SpectrumAnalyzerResult>("SpectrumAnalyzerResult"); qRegisterMetaType<Protocol::SpectrumAnalyzerResult>("SpectrumAnalyzerResult");
qRegisterMetaType<Protocol::AmplitudeCorrectionPoint>("AmplitudeCorrection"); qRegisterMetaType<Protocol::AmplitudeCorrectionPoint>("AmplitudeCorrection");
auto pref = Preferences::getInstance();
if(pref.Startup.UseSetupFile) {
LoadSetup(pref.Startup.SetupFile);
}
// List available devices // List available devices
UpdateDeviceList(); UpdateDeviceList();
auto pref = Preferences::getInstance();
if(pref.Startup.ConnectToFirstDevice) { if(pref.Startup.ConnectToFirstDevice) {
// at least one device available // at least one device available
ConnectToDevice(); ConnectToDevice();
@ -257,9 +252,6 @@ AppWindow::AppWindow(QWidget *parent)
} else { } else {
InformationBox::setGUI(false); InformationBox::setGUI(false);
} }
if(pref.Startup.UseSetupFile) {
LoadSetup(pref.Startup.SetupFile);
}
} }
AppWindow::~AppWindow() AppWindow::~AppWindow()
@ -270,6 +262,10 @@ AppWindow::~AppWindow()
void AppWindow::closeEvent(QCloseEvent *event) void AppWindow::closeEvent(QCloseEvent *event)
{ {
auto pref = Preferences::getInstance();
if(pref.Startup.UseSetupFile && pref.Startup.AutosaveSetupFile) {
SaveSetup(pref.Startup.SetupFile);
}
vna->shutdown(); vna->shutdown();
generator->shutdown(); generator->shutdown();
spectrumAnalyzer->shutdown(); spectrumAnalyzer->shutdown();
@ -280,7 +276,7 @@ void AppWindow::closeEvent(QCloseEvent *event)
if(Mode::getActiveMode()) { if(Mode::getActiveMode()) {
Mode::getActiveMode()->deactivate(); Mode::getActiveMode()->deactivate();
} }
Preferences::getInstance().store(); pref.store();
QMainWindow::closeEvent(event); QMainWindow::closeEvent(event);
} }
@ -926,6 +922,19 @@ void AppWindow::FrequencyCalibrationDialog()
d->exec(); d->exec();
} }
void AppWindow::SaveSetup(QString filename)
{
if(!filename.endsWith(".setup")) {
filename.append(".setup");
}
ofstream file;
file.open(filename.toStdString());
file << setw(4) << SaveSetup() << endl;
file.close();
QFileInfo fi(filename);
lSetupName.setText("Setup: "+fi.fileName());
}
nlohmann::json AppWindow::SaveSetup() nlohmann::json AppWindow::SaveSetup()
{ {
nlohmann::json j; nlohmann::json j;

View File

@ -61,6 +61,7 @@ private slots:
void ReceiverCalibrationDialog(); void ReceiverCalibrationDialog();
void FrequencyCalibrationDialog(); void FrequencyCalibrationDialog();
nlohmann::json SaveSetup(); nlohmann::json SaveSetup();
void SaveSetup(QString filename);
void LoadSetup(QString filename); void LoadSetup(QString filename);
void LoadSetup(nlohmann::json j); void LoadSetup(nlohmann::json j);
private: private:

View File

@ -52,16 +52,19 @@ PreferencesDialog::PreferencesDialog(Preferences *pref, QWidget *parent) :
setDefaultSettingsEnabled(false); setDefaultSettingsEnabled(false);
ui->StartupSetupFile->setEnabled(false); ui->StartupSetupFile->setEnabled(false);
ui->StartupBrowse->setEnabled(false); ui->StartupBrowse->setEnabled(false);
ui->StartupStack->setCurrentWidget(ui->StartupPageLastUsed);
}); });
connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){ connect(ui->StartupSweepDefault, &QPushButton::clicked, [=](){
setDefaultSettingsEnabled(true); setDefaultSettingsEnabled(true);
ui->StartupSetupFile->setEnabled(false); ui->StartupSetupFile->setEnabled(false);
ui->StartupBrowse->setEnabled(false); ui->StartupBrowse->setEnabled(false);
ui->StartupStack->setCurrentWidget(ui->StartupPageDefaultValues);
}); });
connect(ui->StartupUseSetupFile, &QPushButton::clicked, [=](){ connect(ui->StartupUseSetupFile, &QPushButton::clicked, [=](){
setDefaultSettingsEnabled(false); setDefaultSettingsEnabled(false);
ui->StartupSetupFile->setEnabled(true); ui->StartupSetupFile->setEnabled(true);
ui->StartupBrowse->setEnabled(true); ui->StartupBrowse->setEnabled(true);
ui->StartupStack->setCurrentWidget(ui->StartupPageSetupFile);
}); });
connect(ui->StartupBrowse, &QPushButton::clicked, [=](){ connect(ui->StartupBrowse, &QPushButton::clicked, [=](){
ui->StartupSetupFile->setText(QFileDialog::getOpenFileName(nullptr, "Select startup setup file", "", "Setup files (*.setup)", nullptr, QFileDialog::DontUseNativeDialog)); ui->StartupSetupFile->setText(QFileDialog::getOpenFileName(nullptr, "Select startup setup file", "", "Setup files (*.setup)", nullptr, QFileDialog::DontUseNativeDialog));
@ -203,6 +206,7 @@ void PreferencesDialog::setInitialGUIState()
} else { } else {
ui->StartupSweepDefault->click(); ui->StartupSweepDefault->click();
} }
ui->StartupAutosaveSetupFile->setChecked(p->Startup.AutosaveSetupFile);
ui->StartupSetupFile->setText(p->Startup.SetupFile); ui->StartupSetupFile->setText(p->Startup.SetupFile);
ui->StartupSweepType->setCurrentText(p->Startup.DefaultSweep.type); ui->StartupSweepType->setCurrentText(p->Startup.DefaultSweep.type);
ui->StartupSweepStart->setValueQuiet(p->Startup.DefaultSweep.f_start); ui->StartupSweepStart->setValueQuiet(p->Startup.DefaultSweep.f_start);
@ -263,6 +267,7 @@ void PreferencesDialog::updateFromGUI()
p->Startup.RememberSweepSettings = ui->StartupSweepLastUsed->isChecked(); p->Startup.RememberSweepSettings = ui->StartupSweepLastUsed->isChecked();
p->Startup.UseSetupFile = ui->StartupUseSetupFile->isChecked(); p->Startup.UseSetupFile = ui->StartupUseSetupFile->isChecked();
p->Startup.SetupFile = ui->StartupSetupFile->text(); p->Startup.SetupFile = ui->StartupSetupFile->text();
p->Startup.AutosaveSetupFile = ui->StartupAutosaveSetupFile->isChecked();
p->Startup.DefaultSweep.type = ui->StartupSweepType->currentText(); p->Startup.DefaultSweep.type = ui->StartupSweepType->currentText();
p->Startup.DefaultSweep.f_start = ui->StartupSweepStart->value(); p->Startup.DefaultSweep.f_start = ui->StartupSweepStart->value();
p->Startup.DefaultSweep.f_stop = ui->StartupSweepStop->value(); p->Startup.DefaultSweep.f_stop = ui->StartupSweepStop->value();

View File

@ -33,6 +33,7 @@ public:
bool ConnectToFirstDevice; bool ConnectToFirstDevice;
bool RememberSweepSettings; bool RememberSweepSettings;
bool UseSetupFile; bool UseSetupFile;
bool AutosaveSetupFile;
QString SetupFile; QString SetupFile;
struct { struct {
QString type; QString type;
@ -121,6 +122,7 @@ private:
{&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false}, {&Startup.RememberSweepSettings, "Startup.RememberSweepSettings", false},
{&Startup.UseSetupFile, "Startup.UseSetupFile", false}, {&Startup.UseSetupFile, "Startup.UseSetupFile", false},
{&Startup.SetupFile, "Startup.SetupFile", ""}, {&Startup.SetupFile, "Startup.SetupFile", ""},
{&Startup.AutosaveSetupFile, "Startup.AutosaveSetupFile", false},
{&Startup.DefaultSweep.type, "Startup.DefaultSweep.type", "Frequency"}, {&Startup.DefaultSweep.type, "Startup.DefaultSweep.type", "Frequency"},
{&Startup.DefaultSweep.f_start, "Startup.DefaultSweep.start", 1000000.0}, {&Startup.DefaultSweep.f_start, "Startup.DefaultSweep.start", 1000000.0},
{&Startup.DefaultSweep.f_stop, "Startup.DefaultSweep.stop", 6000000000.0}, {&Startup.DefaultSweep.f_stop, "Startup.DefaultSweep.stop", 6000000000.0},

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>957</width> <width>936</width>
<height>891</height> <height>951</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -112,7 +112,7 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0,0,0,0,0"> <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0,0,0">
<item> <item>
<widget class="QRadioButton" name="StartupSweepLastUsed"> <widget class="QRadioButton" name="StartupSweepLastUsed">
<property name="text"> <property name="text">
@ -136,35 +136,13 @@
<item> <item>
<widget class="QRadioButton" name="StartupUseSetupFile"> <widget class="QRadioButton" name="StartupUseSetupFile">
<property name="text"> <property name="text">
<string>Use setup file:</string> <string>Setup file</string>
</property> </property>
<attribute name="buttonGroup"> <attribute name="buttonGroup">
<string notr="true">StartupSweepGroup</string> <string notr="true">StartupSweepGroup</string>
</attribute> </attribute>
</widget> </widget>
</item> </item>
<item>
<widget class="QLineEdit" name="StartupSetupFile"/>
</item>
<item>
<widget class="QPushButton" name="StartupBrowse">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@ -183,388 +161,503 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QStackedWidget" name="StartupStack">
<property name="title"> <property name="currentIndex">
<string>Vector Network Analyzer</string> <number>2</number>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <widget class="QWidget" name="StartupPageLastUsed">
<item> <layout class="QVBoxLayout" name="verticalLayout_18">
<layout class="QHBoxLayout" name="horizontalLayout_9"> <item>
<item> <widget class="QLabel" name="label_36">
<widget class="QLabel" name="label_24"> <property name="text">
<property name="text"> <string>The last used sweep settings (e.g. span, bandwidth,...) will be remembered. The graphs, traces and markers will not be remembered and the default configuration for them is used on startup.</string>
<string>Type:</string> </property>
</property> <property name="wordWrap">
</widget> <bool>true</bool>
</item> </property>
<item> </widget>
<widget class="QComboBox" name="StartupSweepType"> </item>
<item> <item>
<spacer name="verticalSpacer_7">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="StartupPageSetupFile">
<layout class="QVBoxLayout" name="verticalLayout_17">
<item>
<widget class="QLabel" name="label_38">
<property name="text">
<string>All settings (sweep settings as well as graphs, markers and traces) will be taken from the specified file. If the autosave option is checked, the current state of the GUI is stored in this file during shutdown as well.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="label_35">
<property name="text"> <property name="text">
<string>Frequency Sweep</string> <string>File location:</string>
</property> </property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="StartupSetupFile"/>
</item>
<item>
<widget class="QPushButton" name="StartupBrowse">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="StartupAutosaveSetupFile">
<property name="text">
<string>Autosave to this file on shutdown</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>545</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="StartupPageDefaultValues">
<layout class="QVBoxLayout" name="verticalLayout_16">
<item>
<widget class="QLabel" name="label_37">
<property name="text">
<string>These default values for the sweep settings will be used. The graphs, traces and markers will not be remembered and the default configuration for them is used on startup.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Vector Network Analyzer</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QLabel" name="label_24">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="StartupSweepType">
<item>
<property name="text">
<string>Frequency Sweep</string>
</property>
</item>
<item>
<property name="text">
<string>Power Sweep</string>
</property>
</item>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<property name="text"> <layout class="QHBoxLayout" name="horizontalLayout_8">
<string>Power Sweep</string> <item>
</property> <widget class="QGroupBox" name="groupBox_10">
<property name="title">
<string>Frequency Sweep:</string>
</property>
<layout class="QFormLayout" name="formLayout_6">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Start:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupSweepStart"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Stop:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="SIUnitEdit" name="StartupSweepStop"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Simulus level:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="StartupSweepLevel">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_11">
<property name="title">
<string>Power Sweep:</string>
</property>
<layout class="QFormLayout" name="formLayout_7">
<item row="0" column="0">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Start:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QDoubleSpinBox" name="StartupSweepPowerStart">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Stop:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="StartupSweepPowerStop">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>Frequency:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="SIUnitEdit" name="StartupSweepPowerFrequency"/>
</item>
</layout>
</widget>
</item>
</layout>
</item> </item>
</widget> <item>
</item> <layout class="QFormLayout" name="formLayout_8">
</layout> <item row="0" column="0">
</item> <widget class="QLabel" name="label_5">
<item> <property name="text">
<layout class="QHBoxLayout" name="horizontalLayout_8"> <string>Points:</string>
<item> </property>
<widget class="QGroupBox" name="groupBox_10"> </widget>
<property name="title"> </item>
<string>Frequency Sweep:</string> <item row="0" column="1">
</property> <widget class="QSpinBox" name="StartupSweepPoints">
<layout class="QFormLayout" name="formLayout_6"> <property name="minimum">
<item row="0" column="0"> <number>1</number>
<widget class="QLabel" name="label_2"> </property>
<property name="maximum">
<number>4501</number>
</property>
<property name="value">
<number>501</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>IF bandwitdh:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="SIUnitEdit" name="StartupSweepBandwidth"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Averaging:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="StartupSweepAveraging">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Signal Generator</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Frequency:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupGeneratorFrequency"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Output level:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="StartupGeneratorLevel">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Spectrum Analyzer</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Start:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupSAStart"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Stop:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="SIUnitEdit" name="StartupSAStop"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>RBW:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="SIUnitEdit" name="StartupSARBW"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Window:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="StartupSAWindow">
<item>
<property name="text"> <property name="text">
<string>Start:</string> <string>None</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupSweepStart"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string>Stop:</string> <string>Kaiser</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="1" column="1">
<widget class="SIUnitEdit" name="StartupSweepStop"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Simulus level:</string> <string>Hann</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="StartupSweepLevel">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_11">
<property name="title">
<string>Power Sweep:</string>
</property>
<layout class="QFormLayout" name="formLayout_7">
<item row="0" column="0">
<widget class="QLabel" name="label_21">
<property name="text"> <property name="text">
<string>Start:</string> <string>Flat Top</string>
</property> </property>
</widget> </item>
</item> </widget>
<item row="0" column="1"> </item>
<widget class="QDoubleSpinBox" name="StartupSweepPowerStart"> <item row="4" column="0">
<property name="suffix"> <widget class="QLabel" name="label_13">
<string>dbm</string> <property name="text">
</property> <string>Detector:</string>
<property name="minimum"> </property>
<double>-42.000000000000000</double> </widget>
</property> </item>
<property name="maximum"> <item row="4" column="1">
<double>0.000000000000000</double> <widget class="QComboBox" name="StartupSADetector">
</property> <item>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_22">
<property name="text"> <property name="text">
<string>Stop:</string> <string>+Peak</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="StartupSweepPowerStop">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_23">
<property name="text"> <property name="text">
<string>Frequency:</string> <string>-Peak</string>
</property> </property>
</widget> </item>
</item> <item>
<item row="2" column="1"> <property name="text">
<widget class="SIUnitEdit" name="StartupSweepPowerFrequency"/> <string>Sample</string>
</item> </property>
</layout> </item>
</widget> <item>
</item> <property name="text">
</layout> <string>Normal</string>
</item> </property>
<item> </item>
<layout class="QFormLayout" name="formLayout_8"> <item>
<item row="0" column="0"> <property name="text">
<widget class="QLabel" name="label_5"> <string>Average</string>
<property name="text"> </property>
<string>Points:</string> </item>
</property> </widget>
</widget> </item>
</item> <item row="6" column="0">
<item row="0" column="1"> <widget class="QLabel" name="label_14">
<widget class="QSpinBox" name="StartupSweepPoints"> <property name="text">
<property name="minimum"> <string>Signal Identification:</string>
<number>1</number> </property>
</property> </widget>
<property name="maximum"> </item>
<number>4501</number> <item row="6" column="1">
</property> <widget class="QCheckBox" name="StartupSASignalID">
<property name="value"> <property name="text">
<number>501</number> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="5" column="0">
<widget class="QLabel" name="label_6"> <widget class="QLabel" name="label_19">
<property name="text"> <property name="text">
<string>IF bandwitdh:</string> <string>Averaging:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="5" column="1">
<widget class="SIUnitEdit" name="StartupSweepBandwidth"/> <widget class="QSpinBox" name="StartupSAAveraging">
</item> <property name="minimum">
<item row="2" column="0"> <number>1</number>
<widget class="QLabel" name="label_18"> </property>
<property name="text"> <property name="maximum">
<string>Averaging:</string> <number>99</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> </layout>
<widget class="QSpinBox" name="StartupSweepAveraging"> </widget>
<property name="minimum"> </item>
<number>1</number> </layout>
</property> </widget>
<property name="maximum">
<number>99</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Signal Generator</string>
</property>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Frequency:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupGeneratorFrequency"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Output level:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QDoubleSpinBox" name="StartupGeneratorLevel">
<property name="suffix">
<string>dbm</string>
</property>
<property name="minimum">
<double>-42.000000000000000</double>
</property>
<property name="maximum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>0.250000000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Spectrum Analyzer</string>
</property>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Start:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="SIUnitEdit" name="StartupSAStart"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Stop:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="SIUnitEdit" name="StartupSAStop"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>RBW:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="SIUnitEdit" name="StartupSARBW"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Window:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="StartupSAWindow">
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Kaiser</string>
</property>
</item>
<item>
<property name="text">
<string>Hann</string>
</property>
</item>
<item>
<property name="text">
<string>Flat Top</string>
</property>
</item>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Detector:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="StartupSADetector">
<item>
<property name="text">
<string>+Peak</string>
</property>
</item>
<item>
<property name="text">
<string>-Peak</string>
</property>
</item>
<item>
<property name="text">
<string>Sample</string>
</property>
</item>
<item>
<property name="text">
<string>Normal</string>
</property>
</item>
<item>
<property name="text">
<string>Average</string>
</property>
</item>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Signal Identification:</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="StartupSASignalID">
<property name="text">
<string/>
</property>
</widget>
</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>
</widget> </widget>
</item> </item>
</layout> </layout>