From ceb304cb9f723712944a196fc39ff370c4f287e0 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 9 Sep 2017 15:34:04 +0200 Subject: [PATCH] Downgraded to version 3.6.2 --- debian/changelog | 4 +-- devices/plutosdr/deviceplutosdr.cpp | 12 ++++----- devices/plutosdr/deviceplutosdrbox.cpp | 27 +++++++++++-------- devices/plutosdr/deviceplutosdrbox.h | 19 ++++++++----- .../plutosdrinput/plutosdrinput.cpp | 12 ++++----- .../plutosdrinput/plutosdrinput.h | 2 +- .../plutosdrinput/plutosdrinputgui.cpp | 1 + .../plutosdrinput/plutosdrinputgui.ui | 5 +++- .../plutosdrinput/plutosdrinputplugin.cpp | 2 +- sdrbase/gui/aboutdialog.ui | 2 +- sdrbase/mainwindow.cpp | 4 +-- 11 files changed, 53 insertions(+), 37 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3aa31b560..f4082106c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,6 @@ -sdrangel (3.7.0-1) unstable; urgency=medium +sdrangel (3.6.2-1) unstable; urgency=medium - * PlutoSDR support + * PlutoSDR failed attempt at supporting * GUI segregation: preliminary works -- Edouard Griffiths, F4EXB Thu, 17 Sep 2017 23:14:18 +0200 diff --git a/devices/plutosdr/deviceplutosdr.cpp b/devices/plutosdr/deviceplutosdr.cpp index d5cddc6c8..e2cdab32f 100644 --- a/devices/plutosdr/deviceplutosdr.cpp +++ b/devices/plutosdr/deviceplutosdr.cpp @@ -19,13 +19,13 @@ const uint64_t DevicePlutoSDR::loLowLimitFreq = 70000000UL; // 70 MHz: take AD9364 specs const uint64_t DevicePlutoSDR::loHighLimitFreq = 6000000000UL; // 6 GHz: take AD9364 specs -const uint32_t DevicePlutoSDR::srLowLimitFreq = 2100000; // 2.1 MS/s empirical -const uint32_t DevicePlutoSDR::srHighLimitFreq = 20000000; // 20 MS/s: take AD9363 speces +const uint32_t DevicePlutoSDR::srLowLimitFreq = 521000U; // 521 kS/s +const uint32_t DevicePlutoSDR::srHighLimitFreq = 20000000U; // 20 MS/s: take AD9363 speces -const uint32_t DevicePlutoSDR::bbLPRxLowLimitFreq = 200000; // 200 kHz -const uint32_t DevicePlutoSDR::bbLPRxHighLimitFreq = 14000000; // 14 MHz -const uint32_t DevicePlutoSDR::bbLPTxLowLimitFreq = 625000; // 625 kHz -const uint32_t DevicePlutoSDR::bbLPTxHighLimitFreq = 16000000; // 16 MHz +const uint32_t DevicePlutoSDR::bbLPRxLowLimitFreq = 200000U; // 200 kHz +const uint32_t DevicePlutoSDR::bbLPRxHighLimitFreq = 14000000U; // 14 MHz +const uint32_t DevicePlutoSDR::bbLPTxLowLimitFreq = 625000U; // 625 kHz +const uint32_t DevicePlutoSDR::bbLPTxHighLimitFreq = 16000000U; // 16 MHz DevicePlutoSDR::DevicePlutoSDR() { diff --git a/devices/plutosdr/deviceplutosdrbox.cpp b/devices/plutosdr/deviceplutosdrbox.cpp index 0d64853d2..f8693e9a3 100644 --- a/devices/plutosdr/deviceplutosdrbox.cpp +++ b/devices/plutosdr/deviceplutosdrbox.cpp @@ -408,12 +408,17 @@ bool DevicePlutoSDRBox::parseSampleRates(const std::string& rateStr, SampleRates { try { - sampleRates.m_bbRate = boost::lexical_cast(desc_match[1]); - sampleRates.m_addaConnvRate = boost::lexical_cast(desc_match[2]); - sampleRates.m_hb3Rate = boost::lexical_cast(desc_match[3]); - sampleRates.m_hb2Rate = boost::lexical_cast(desc_match[4]); - sampleRates.m_hb1Rate = boost::lexical_cast(desc_match[5]); - sampleRates.m_firRate = boost::lexical_cast(desc_match[6]); + sampleRates.m_bbRateHz = boost::lexical_cast(desc_match[1]); + sampleRates.m_addaConnvRateBPS = boost::lexical_cast(desc_match[2]); + sampleRates.m_hb3RateBPS = boost::lexical_cast(desc_match[3]); + sampleRates.m_hb2RateBPS = boost::lexical_cast(desc_match[4]); + sampleRates.m_hb1RateBPS = boost::lexical_cast(desc_match[5]); + sampleRates.m_firRateBPS = boost::lexical_cast(desc_match[6]); + sampleRates.m_addaConnvRateSS = sampleRates.m_addaConnvRateBPS / 4; + sampleRates.m_hb3RateSS = sampleRates.m_hb3RateBPS / 4; + sampleRates.m_hb2RateSS = sampleRates.m_hb2RateBPS / 4; + sampleRates.m_hb1RateSS = sampleRates.m_hb1RateBPS / 4; + sampleRates.m_firRateSS = sampleRates.m_firRateBPS / 4; return true; } catch (const boost::bad_lexical_cast &e) @@ -432,9 +437,9 @@ void DevicePlutoSDRBox::setSampleRate(uint32_t sampleRate) { char buff[100]; std::vector params; - snprintf(buff, sizeof(buff), "in_voltage_sampling_frequency=%d", sampleRate); + snprintf(buff, sizeof(buff), "in_voltage_sampling_frequency=%d", sampleRate*4); // expressed in bytes per second params.push_back(std::string(buff)); - snprintf(buff, sizeof(buff), "out_voltage_sampling_frequency=%d", sampleRate); + snprintf(buff, sizeof(buff), "out_voltage_sampling_frequency=%d", sampleRate*4); // expressed in bytes per second params.push_back(std::string(buff)); set_params(DEVICE_PHY, params); // set end point frequency first m_devSampleRate = sampleRate; @@ -466,10 +471,10 @@ void DevicePlutoSDRBox::setFIR(uint32_t log2IntDec, uint32_t bw, int gain) setFIREnable(false); // disable again - uint32_t nbGroups = sampleRates.m_addaConnvRate / 16; + uint32_t nbGroups = sampleRates.m_addaConnvRateBPS / 16; nbTaps = nbGroups*8 > 128 ? 128 : nbGroups*8; nbTaps = intdec == 1 ? (nbTaps > 64 ? 64 : nbTaps) : nbTaps; - normalizedBW = ((float) bw) / sampleRates.m_hb1Rate; + normalizedBW = ((float) bw) / sampleRates.m_hb1RateBPS; normalizedBW = normalizedBW < 0.1 ? 0.1 : normalizedBW > 0.9 ? 0.9 : normalizedBW; qDebug("DevicePlutoSDRBox::setFIR: intdec: %u gain: %d nbTaps: %u BWin: %u BW: %f (%f)", @@ -477,7 +482,7 @@ void DevicePlutoSDRBox::setFIR(uint32_t log2IntDec, uint32_t bw, int gain) gain, nbTaps, bw, - normalizedBW*sampleRates.m_hb1Rate, + normalizedBW*sampleRates.m_hb1RateBPS, normalizedBW); // set the right filter diff --git a/devices/plutosdr/deviceplutosdrbox.h b/devices/plutosdr/deviceplutosdrbox.h index 5fefef1a3..bce0a128a 100644 --- a/devices/plutosdr/deviceplutosdrbox.h +++ b/devices/plutosdr/deviceplutosdrbox.h @@ -44,12 +44,19 @@ public: }; struct SampleRates { - uint32_t m_bbRate; //!< Baseband PLL rate (Hz) - used internally - uint32_t m_addaConnvRate; //!< A/D or D/A converter rate (Hz) - this is the HB3 working sample rate - uint32_t m_hb3Rate; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate - uint32_t m_hb2Rate; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate - uint32_t m_hb1Rate; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate - uint32_t m_firRate; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate + uint32_t m_bbRateHz; //!< Baseband PLL rate (Hz) - used internally + // bytes per second + uint32_t m_addaConnvRateBPS; //!< A/D or D/A converter rat - this is the HB3 working sample rate + uint32_t m_hb3RateBPS; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate + uint32_t m_hb2RateBPS; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate + uint32_t m_hb1RateBPS; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate + uint32_t m_firRateBPS; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate + // samples per second + uint32_t m_addaConnvRateSS; //!< A/D or D/A converter rat - this is the HB3 working sample rate + uint32_t m_hb3RateSS; //!< Rate of the HB3/(DEC3 or INT3) filter (Rx: out, Tx: in) - this is the HB2 working sample rate + uint32_t m_hb2RateSS; //!< Rate of the HB2 filter (Rx: out, Tx: in) - this is the HB1 working sample rate + uint32_t m_hb1RateSS; //!< Rate of the HB1 filter (Rx: out, Tx: in) - this is the FIR working sample rate + uint32_t m_firRateSS; //!< Rate of FIR filter (Rx: out, Tx: in) - this is the host/device communication sample rate }; uint64_t m_devSampleRate; //!< Host interface sample rate diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 19f1d8c6d..7a4766429 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -327,12 +327,12 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo plutoBox->setFIREnable(settings.m_lpfFIREnable); // eventually enable/disable FIR plutoBox->getRxSampleRates(m_deviceSampleRates); // pick up possible new rates - qDebug() << "PlutoSDRInput::applySettings: BBPLL: " << m_deviceSampleRates.m_bbRate - << " ADC: " << m_deviceSampleRates.m_addaConnvRate - << " -HB3-> " << m_deviceSampleRates.m_hb3Rate - << " -HB2-> " << m_deviceSampleRates.m_hb2Rate - << " -HB1-> " << m_deviceSampleRates.m_hb1Rate - << " -FIR-> " << m_deviceSampleRates.m_firRate; + qDebug() << "PlutoSDRInput::applySettings: BBPLL(Hz): " << m_deviceSampleRates.m_bbRateHz + << " ADC: " << m_deviceSampleRates.m_addaConnvRateSS + << " -HB3-> " << m_deviceSampleRates.m_hb3RateSS + << " -HB2-> " << m_deviceSampleRates.m_hb2RateSS + << " -HB1-> " << m_deviceSampleRates.m_hb1RateSS + << " -FIR-> " << m_deviceSampleRates.m_firRateSS; forwardChangeOtherDSP = true; forwardChangeOwnDSP = (m_settings.m_devSampleRate != settings.m_devSampleRate); diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.h b/plugins/samplesource/plutosdrinput/plutosdrinput.h index c6a6a17aa..ef2e92d18 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.h @@ -86,7 +86,7 @@ public: virtual bool handleMessage(const Message& message); - uint32_t getADCSampleRate() const { return m_deviceSampleRates.m_addaConnvRate; } + uint32_t getADCSampleRate() const { return m_deviceSampleRates.m_addaConnvRateSS; } void getRSSI(std::string& rssiStr); bool fetchTemperature(); float getTemperature(); diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp index 3babafe47..73ded9b03 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp @@ -240,6 +240,7 @@ void PlutoSDRInputGui::on_gainMode_currentIndexChanged(int index) void PlutoSDRInputGui::on_gain_valueChanged(int value) { + ui->gainText->setText(tr("%1").arg(value)); m_settings.m_gain = value; sendSettings(); } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui index 648beb56a..c77706d1a 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui @@ -701,8 +701,11 @@ Gain setting (dB) + + 1 + - 70 + 77 1 diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp index c12396011..94567a577 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp @@ -27,7 +27,7 @@ class DeviceSourceAPI; const PluginDescriptor PlutoSDRInputPlugin::m_pluginDescriptor = { QString("PlutoSDR Input"), - QString("3.7.0"), + QString("3.6.2"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/sdrbase/gui/aboutdialog.ui b/sdrbase/gui/aboutdialog.ui index 92938a3a5..cfa7aa123 100644 --- a/sdrbase/gui/aboutdialog.ui +++ b/sdrbase/gui/aboutdialog.ui @@ -84,7 +84,7 @@ - <html><head/><body><p>Version 3.7.0 - Copyright (C) 2015-2017 Edouard Griffiths, F4EXB. </p><p>Code at <a href="https://github.com/f4exb/sdrangel"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/f4exb/sdrangel</span></a></p><p>Many thanks to the original developers:</p><p>The osmocom developer team - especially horizon, Hoernchen &amp; tnt.</p><p>Christian Daniel from maintech GmbH.</p><p>John Greb (hexameron) for the contributions in <a href="https://github.com/hexameron/rtl-sdrangelove"><span style=" text-decoration: underline; color:#0000ff;">RTL-SDRangelove</span></a></p><p>The following rules apply to the SDRangel main application and libsdrbase:<br/>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a>.</p><p>For the license of installed plugins, look into the plugin list.</p></body></html> + <html><head/><body><p>Version 3.6.2 - Copyright (C) 2015-2017 Edouard Griffiths, F4EXB. </p><p>Code at <a href="https://github.com/f4exb/sdrangel"><span style=" text-decoration: underline; color:#0000ff;">https://github.com/f4exb/sdrangel</span></a></p><p>Many thanks to the original developers:</p><p>The osmocom developer team - especially horizon, Hoernchen &amp; tnt.</p><p>Christian Daniel from maintech GmbH.</p><p>John Greb (hexameron) for the contributions in <a href="https://github.com/hexameron/rtl-sdrangelove"><span style=" text-decoration: underline; color:#0000ff;">RTL-SDRangelove</span></a></p><p>The following rules apply to the SDRangel main application and libsdrbase:<br/>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You should have received a copy of the GNU General Public License along with this program. If not, see <a href="http://www.gnu.org/licenses/"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a>.</p><p>For the license of installed plugins, look into the plugin list.</p></body></html> true diff --git a/sdrbase/mainwindow.cpp b/sdrbase/mainwindow.cpp index 542589610..be7b9be6f 100644 --- a/sdrbase/mainwindow.cpp +++ b/sdrbase/mainwindow.cpp @@ -454,9 +454,9 @@ void MainWindow::createStatusBar() { QString qtVersionStr = QString("Qt %1 ").arg(QT_VERSION_STR); #if QT_VERSION >= 0x050400 - m_showSystemWidget = new QLabel("SDRangel v3.7.0 " + qtVersionStr + QSysInfo::prettyProductName(), this); + m_showSystemWidget = new QLabel("SDRangel v3.6.2 " + qtVersionStr + QSysInfo::prettyProductName(), this); #else - m_showSystemWidget = new QLabel("SDRangel v3.7.0 " + qtVersionStr, this); + m_showSystemWidget = new QLabel("SDRangel v3.6.2 " + qtVersionStr, this); #endif statusBar()->addPermanentWidget(m_showSystemWidget);