From 15443fb72dbb7399e9eb7c572d8f8adfaea7c44c Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 6 May 2017 00:29:58 +0200 Subject: [PATCH] DSD decoder: updated to get symbol PLL lock status. Bumped to version 3.4.2 --- debian/changelog | 8 ++++ plugins/channelrx/demoddsd/dsddecoder.h | 1 + plugins/channelrx/demoddsd/dsddemodgui.cpp | 8 +++- plugins/channelrx/demoddsd/dsddemodgui.ui | 39 ++++++++++++++++++- plugins/channelrx/demoddsd/dsddemodplugin.cpp | 2 +- sdrbase/gui/aboutdialog.ui | 2 +- sdrbase/mainwindow.cpp | 4 +- 7 files changed, 57 insertions(+), 7 deletions(-) diff --git a/debian/changelog b/debian/changelog index ea2df1c7b..0019faf15 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +sdrangel (3.4.2-1) unstable; urgency=medium + + * DSD demod: use version 1.7.0 of dsdcc with PLL for symbol synchronization + * DSD demod: kernel >= 4.4.52 workaround for SerialDV + * Code cleanup: cppchack and Eclipse warnings + + -- Edouard Griffiths, F4EXB Wed, 26 Apr 2017 23:14:18 +0100 + sdrangel (3.4.1-1) unstable; urgency=medium * Optimization of halfband interpolation FIR fitler processing diff --git a/plugins/channelrx/demoddsd/dsddecoder.h b/plugins/channelrx/demoddsd/dsddecoder.h index a0c11221a..d1fe5667c 100644 --- a/plugins/channelrx/demoddsd/dsddecoder.h +++ b/plugins/channelrx/demoddsd/dsddecoder.h @@ -48,6 +48,7 @@ public: bool getVoice1On() const { return m_decoder.getVoice1On(); } bool getVoice2On() const { return m_decoder.getVoice2On(); } void setTDMAStereo(bool tdmaStereo) { m_decoder.setTDMAStereo(tdmaStereo); } + bool getSymbolPLLLocked() const { return m_decoder.getSymbolPLLLocked(); } int getMbeRateIndex() const { return (int) m_decoder.getMbeRate(); } diff --git a/plugins/channelrx/demoddsd/dsddemodgui.cpp b/plugins/channelrx/demoddsd/dsddemodgui.cpp index d3b883cdc..244053707 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.cpp +++ b/plugins/channelrx/demoddsd/dsddemodgui.cpp @@ -663,7 +663,13 @@ void DSDDemodGUI::tick() ui->formatStatusText->setStyleSheet("QLabel { background:rgb(37,53,39); }"); // turn on background } - m_tickCount = 0; + if (m_squelchOpen && m_dsdDemod->getDecoder().getSymbolPLLLocked()) { + ui->symbolPLLLock->setStyleSheet("QToolButton { background-color : green; }"); + } else { + ui->symbolPLLLock->setStyleSheet("QToolButton { background:rgb(53,53,53); }"); + } + + m_tickCount = 0; } } diff --git a/plugins/channelrx/demoddsd/dsddemodgui.ui b/plugins/channelrx/demoddsd/dsddemodgui.ui index 57a2ef8e4..76fcac249 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.ui +++ b/plugins/channelrx/demoddsd/dsddemodgui.ui @@ -59,7 +59,16 @@ 3 - + + 2 + + + 2 + + + 2 + + 2 @@ -213,6 +222,23 @@ + + + + false + + + Symbol PLL lock indicator (green: locked) + + + ... + + + + :/locked.png:/locked.png + + + @@ -895,7 +921,16 @@ Discriminator Scope - + + 2 + + + 2 + + + 2 + + 2 diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.cpp b/plugins/channelrx/demoddsd/dsddemodplugin.cpp index 872bfa575..46980558f 100644 --- a/plugins/channelrx/demoddsd/dsddemodplugin.cpp +++ b/plugins/channelrx/demoddsd/dsddemodplugin.cpp @@ -24,7 +24,7 @@ const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = { QString("DSD Demodulator"), - QString("3.2.0"), + QString("3.4.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 c50d84f12..e9c6a7d15 100644 --- a/sdrbase/gui/aboutdialog.ui +++ b/sdrbase/gui/aboutdialog.ui @@ -84,7 +84,7 @@ - <html><head/><body><p>Version 3.4.1 - 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.4.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 efb45c3ce..6209094ee 100644 --- a/sdrbase/mainwindow.cpp +++ b/sdrbase/mainwindow.cpp @@ -453,9 +453,9 @@ void MainWindow::createStatusBar() { QString qtVersionStr = QString("Qt %1 ").arg(QT_VERSION_STR); #if QT_VERSION >= 0x050400 - m_showSystemWidget = new QLabel("SDRangel v3.4.1 " + qtVersionStr + QSysInfo::prettyProductName(), this); + m_showSystemWidget = new QLabel("SDRangel v3.4.2 " + qtVersionStr + QSysInfo::prettyProductName(), this); #else - m_showSystemWidget = new QLabel("SDRangel v3.4.1 " + qtVersionStr, this); + m_showSystemWidget = new QLabel("SDRangel v3.4.2 " + qtVersionStr, this); #endif statusBar()->addPermanentWidget(m_showSystemWidget);