From 3ac1be034a8792bf871ec9d7ff6bcad75e055333 Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 8 Feb 2018 18:16:22 +0100 Subject: [PATCH] Perseus support (9) --- plugins/samplesource/perseus/perseusgui.cpp | 31 ++++++ plugins/samplesource/perseus/perseusgui.h | 4 + plugins/samplesource/perseus/perseusgui.ui | 113 +++++++++++++++++++- 3 files changed, 143 insertions(+), 5 deletions(-) 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 + + +