diff --git a/plugins/samplesource/perseus/perseusgui.cpp b/plugins/samplesource/perseus/perseusgui.cpp
index 0e851f29d..9fba1bb39 100644
--- a/plugins/samplesource/perseus/perseusgui.cpp
+++ b/plugins/samplesource/perseus/perseusgui.cpp
@@ -185,6 +185,10 @@ void PerseusGui::displaySettings()
ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
ui->sampleRate->setCurrentIndex(m_settings.m_devSampleRateIndex);
ui->decim->setCurrentIndex(m_settings.m_log2Decim);
+ ui->wideband->setChecked(m_settings.m_wideBand);
+ ui->adcDither->setChecked(m_settings.m_adcDither);
+ ui->adcPreamp->setChecked(m_settings.m_adcPreamp);
+ ui->attenuator->setCurrentIndex((int) m_settings.m_attenuator);
blockApplySettings(false);
}
@@ -246,6 +250,12 @@ void PerseusGui::on_sampleRate_currentIndexChanged(int index)
sendSettings();
}
+void PerseusGui::on_wideband_toggled(bool checked)
+{
+ m_settings.m_wideBand = checked;
+ sendSettings();
+}
+
void PerseusGui::on_decim_currentIndexChanged(int index)
{
if ((index < 0) || (index > 5))
@@ -284,6 +294,27 @@ void PerseusGui::on_transverter_clicked()
sendSettings();
}
+void PerseusGui::on_attenuator_currentIndexChanged(int index)
+{
+ if ((index < 0) || (index >= (int) PerseusSettings::Attenuator_last)) {
+ return;
+ }
+ m_settings.m_attenuator = (PerseusSettings::Attenuator) index;
+ sendSettings();
+}
+
+void PerseusGui::on_adcDither_toggled(bool checked)
+{
+ m_settings.m_adcDither = checked;
+ sendSettings();
+}
+
+void PerseusGui::on_adcPreamp_toggled(bool checked)
+{
+ m_settings.m_adcPreamp = checked;
+ sendSettings();
+}
+
void PerseusGui::updateHardware()
{
qDebug() << "PerseusGui::updateHardware";
diff --git a/plugins/samplesource/perseus/perseusgui.h b/plugins/samplesource/perseus/perseusgui.h
index 84ff7fc41..501073932 100644
--- a/plugins/samplesource/perseus/perseusgui.h
+++ b/plugins/samplesource/perseus/perseusgui.h
@@ -79,10 +79,14 @@ private slots:
void on_LOppm_valueChanged(int value);
void on_resetLOppm_clicked();
void on_sampleRate_currentIndexChanged(int index);
+ void on_wideband_toggled(bool checked);
void on_decim_currentIndexChanged(int index);
void on_startStop_toggled(bool checked);
void on_record_toggled(bool checked);
void on_transverter_clicked();
+ void on_attenuator_currentIndexChanged(int index);
+ void on_adcDither_toggled(bool checked);
+ void on_adcPreamp_toggled(bool checked);
void updateHardware();
void updateStatus();
void handleInputMessages();
diff --git a/plugins/samplesource/perseus/perseusgui.ui b/plugins/samplesource/perseus/perseusgui.ui
index 341a2e2f4..8c5868d1a 100644
--- a/plugins/samplesource/perseus/perseusgui.ui
+++ b/plugins/samplesource/perseus/perseusgui.ui
@@ -7,7 +7,7 @@
0
0
324
- 132
+ 256
@@ -276,6 +276,9 @@
Device sample rate in MS/s
+
+ Qt::RightToLeft
+
-
0000
@@ -290,6 +293,19 @@
+ -
+
+
+ Set wideband mode
+
+
+ WB
+
+
+ true
+
+
+
-
@@ -360,22 +376,109 @@
-
-
+
-
-
+
+
+ Att
+
+
+
+ -
+
+
+ Attenuation (dB)
+
+
+ Qt::RightToLeft
+
+
-
+
+ 0
+
+
+ -
+
+ 10
+
+
+ -
+
+ 20
+
+
+ -
+
+ 30
+
+
+
+
+ -
+
+
+ dB
+
+
+
+ -
+
Qt::Vertical
+
+
+ -
+
+
+ ADC
+
+
+
+ -
+
+
+ ADC dithering
+
+
+ DIT
+
+
+ true
+
+
+
+ -
+
+
+ ADC preamplifier
+
+
+ PRE
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
- 20
- 40
+ 40
+ 20
+ -
+
+