diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp index 2c7e63f66..381a2b053 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp @@ -260,6 +260,7 @@ void RTLSDRGui::displaySettings() ui->fcPos->setCurrentIndex((int) m_settings.m_fcPos); ui->checkBox->setChecked(m_settings.m_noModMode); ui->agc->setChecked(m_settings.m_agc); + ui->lowSampleRate->setChecked(m_settings.m_lowSampleRate); } void RTLSDRGui::sendSettings() @@ -448,7 +449,9 @@ void RTLSDRGui::on_rfBW_changed(quint64 value) void RTLSDRGui::on_lowSampleRate_toggled(bool checked) { - if (checked) { + m_settings.m_lowSampleRate = checked; + + if (m_settings.m_lowSampleRate) { ui->sampleRate->setValueRange(7, RTLSDRInput::sampleRateLowRangeMin, RTLSDRInput::sampleRateLowRangeMax); } else { ui->sampleRate->setValueRange(7, RTLSDRInput::sampleRateHighRangeMin, RTLSDRInput::sampleRateHighRangeMax); diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index 0f798c7c0..406f104ba 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -496,6 +496,11 @@ bool RTLSDRInput::applySettings(const RTLSDRSettings& settings, bool force) } } + if ((m_settings.m_lowSampleRate != settings.m_lowSampleRate) || force) + { + m_settings.m_lowSampleRate = settings.m_lowSampleRate; + } + if ((m_settings.m_rfBandwidth != settings.m_rfBandwidth) || force) { m_settings.m_rfBandwidth = settings.m_rfBandwidth; @@ -608,6 +613,7 @@ int RTLSDRInput::webapiSettingsPutPatch( void RTLSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RTLSDRSettings& settings) { + qDebug("RTLSDRInput::webapiFormatDeviceSettings: m_lowSampleRate: %s", settings.m_lowSampleRate ? "true" : "false"); response.getRtlSdrSettings()->setAgc(settings.m_agc ? 1 : 0); response.getRtlSdrSettings()->setCenterFrequency(settings.m_centerFrequency); response.getRtlSdrSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0);