diff --git a/plugins/channel/ssb/ssbdemodgui.cpp b/plugins/channel/ssb/ssbdemodgui.cpp
index 7731f6de0..d4fd82f8a 100644
--- a/plugins/channel/ssb/ssbdemodgui.cpp
+++ b/plugins/channel/ssb/ssbdemodgui.cpp
@@ -33,6 +33,7 @@ void SSBDemodGUI::resetToDefaults()
{
ui->BW->setValue(3);
ui->volume->setValue(4);
+ ui->deltaFrequency->setValue(0);
applySettings();
}
@@ -88,6 +89,26 @@ void SSBDemodGUI::viewChanged()
applySettings();
}
+void SSBDemodGUI::on_deltaMinus_clicked(bool minus)
+{
+ int deltaFrequency = m_channelMarker->getCenterFrequency();
+ bool minusDelta = (deltaFrequency < 0);
+
+ if (minus ^ minusDelta) // sign change
+ {
+ m_channelMarker->setCenterFrequency(-deltaFrequency);
+ }
+}
+
+void SSBDemodGUI::on_deltaFrequency_changed(quint64 value)
+{
+ if (ui->deltaMinus->isChecked()) {
+ m_channelMarker->setCenterFrequency(-value);
+ } else {
+ m_channelMarker->setCenterFrequency(value);
+ }
+}
+
void SSBDemodGUI::on_BW_valueChanged(int value)
{
ui->BWText->setText(QString("%1 kHz").arg(value));
@@ -172,6 +193,8 @@ SSBDemodGUI::~SSBDemodGUI()
void SSBDemodGUI::applySettings()
{
setTitleColor(m_channelMarker->getColor());
+ ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
+ ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
m_channelizer->configure(m_threadedSampleSink->getMessageQueue(),
48000,
m_channelMarker->getCenterFrequency());
diff --git a/plugins/channel/ssb/ssbdemodgui.h b/plugins/channel/ssb/ssbdemodgui.h
index 58ac19126..ac2d441fe 100644
--- a/plugins/channel/ssb/ssbdemodgui.h
+++ b/plugins/channel/ssb/ssbdemodgui.h
@@ -34,6 +34,8 @@ public:
private slots:
void viewChanged();
+ void on_deltaFrequency_changed(quint64 value);
+ void on_deltaMinus_clicked(bool minus);
void on_BW_valueChanged(int value);
void on_volume_valueChanged(int value);
void onWidgetRolled(QWidget* widget, bool rollDown);
diff --git a/plugins/channel/ssb/ssbdemodgui.ui b/plugins/channel/ssb/ssbdemodgui.ui
index 114986e00..caa74d4ed 100644
--- a/plugins/channel/ssb/ssbdemodgui.ui
+++ b/plugins/channel/ssb/ssbdemodgui.ui
@@ -26,20 +26,51 @@
Settings
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
3
- -
-
+
-
+
+
+
+ 50
+ 0
+
+
- Bandwidth
+ 3 kHz
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
- -
+
-
+
+
+ 100
+
+
+ 20
+
+
+ Qt::Horizontal
+
+
+
+ -
-8
@@ -58,43 +89,14 @@
- -
-
-
-
- 50
- 0
-
-
-
- 3 kHz
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
+
-
Volume
- -
-
-
- 100
-
-
- 20
-
-
- Qt::Horizontal
-
-
-
- -
+
-
@@ -110,6 +112,58 @@
+ -
+
+
+ Bandwidth
+
+
+
+ -
+
+
+ Qt::RightToLeft
+
+
+ Minus
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 16
+
+
+
+
+ Monospace
+ 12
+
+
+
+ Qt::StrongFocus
+
+
+ Demod shift frequency from center in Hz
+
+
+
+ -
+
+
+ Hz
+
+
+
@@ -128,7 +182,16 @@
2
-
+
+ 3
+
+
+ 3
+
+
+ 3
+
+
3
-