diff --git a/plugins/channelrx/demoddsd/dsddemodgui.cpp b/plugins/channelrx/demoddsd/dsddemodgui.cpp
index e299c5b5b..514a3e333 100644
--- a/plugins/channelrx/demoddsd/dsddemodgui.cpp
+++ b/plugins/channelrx/demoddsd/dsddemodgui.cpp
@@ -236,8 +236,8 @@ void DSDDemodGUI::on_squelchGate_valueChanged(int value)
void DSDDemodGUI::on_squelch_valueChanged(int value)
{
- ui->squelchText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1));
- m_settings.m_squelch = value / 10.0;
+ ui->squelchText->setText(QString("%1").arg(value / 1.0, 0, 'f', 0));
+ m_settings.m_squelch = value;
applySettings();
}
@@ -413,8 +413,8 @@ void DSDDemodGUI::displaySettings()
ui->fmDeviation->setValue(m_settings.m_fmDeviation / 100.0);
ui->fmDeviationText->setText(QString("%1%2k").arg(QChar(0xB1, 0x00)).arg(ui->fmDeviation->value() / 10.0, 0, 'f', 1));
- ui->squelch->setValue(m_settings.m_squelch * 10.0);
- ui->squelchText->setText(QString("%1").arg(ui->squelch->value() / 10.0, 0, 'f', 1));
+ ui->squelch->setValue(m_settings.m_squelch);
+ ui->squelchText->setText(QString("%1").arg(ui->squelch->value() / 1.0, 0, 'f', 0));
ui->squelchGate->setValue(m_settings.m_squelchGate);
ui->squelchGateText->setText(QString("%1").arg(ui->squelchGate->value() * 10.0, 0, 'f', 0));
diff --git a/plugins/channelrx/demoddsd/dsddemodgui.ui b/plugins/channelrx/demoddsd/dsddemodgui.ui
index f3a2fb54f..03548e69c 100644
--- a/plugins/channelrx/demoddsd/dsddemodgui.ui
+++ b/plugins/channelrx/demoddsd/dsddemodgui.ui
@@ -399,7 +399,7 @@
Squelch threshold (dB)
- -1000
+ -100
0
@@ -411,7 +411,7 @@
1
- -150
+ -40
@@ -419,21 +419,15 @@
- 0
+ 30
0
-
-
- 40
- 16777215
-
-
Squelch threshold (dB)
- -15.0
+ -100
Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
diff --git a/plugins/channelrx/demoddsd/dsddemodplugin.cpp b/plugins/channelrx/demoddsd/dsddemodplugin.cpp
index d10957be0..0d14131da 100644
--- a/plugins/channelrx/demoddsd/dsddemodplugin.cpp
+++ b/plugins/channelrx/demoddsd/dsddemodplugin.cpp
@@ -27,7 +27,7 @@
const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = {
QString("DSD Demodulator"),
- QString("4.1.0"),
+ QString("4.2.4"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
diff --git a/plugins/channelrx/demoddsd/dsddemodsettings.cpp b/plugins/channelrx/demoddsd/dsddemodsettings.cpp
index ee2734137..d73e029dd 100644
--- a/plugins/channelrx/demoddsd/dsddemodsettings.cpp
+++ b/plugins/channelrx/demoddsd/dsddemodsettings.cpp
@@ -61,7 +61,7 @@ QByteArray DSDDemodSettings::serialize() const
s.writeS32(2, m_rfBandwidth/100.0);
s.writeS32(3, m_demodGain*100.0);
s.writeS32(4, m_fmDeviation/100.0);
- s.writeS32(5, m_squelch*10.0);
+ s.writeS32(5, m_squelch);
s.writeU32(7, m_rgbColor);
s.writeS32(8, m_squelchGate);
s.writeS32(9, m_volume*10.0);
@@ -120,8 +120,8 @@ bool DSDDemodSettings::deserialize(const QByteArray& data)
m_demodGain = tmp / 100.0;
d.readS32(4, &tmp, 50);
m_fmDeviation = tmp * 100.0;
- d.readS32(5, &tmp, -400);
- m_squelch = tmp / 10.0;
+ d.readS32(5, &tmp, -40);
+ m_squelch = tmp < -100 ? tmp / 10.0 : tmp;
d.readU32(7, &m_rgbColor);
d.readS32(8, &m_squelchGate, 5);
d.readS32(9, &tmp, 20);