diff --git a/plugins/channel/tcpsrc/tcpsrcgui.cpp b/plugins/channel/tcpsrc/tcpsrcgui.cpp
index 382d8bc22..b93d4610b 100644
--- a/plugins/channel/tcpsrc/tcpsrcgui.cpp
+++ b/plugins/channel/tcpsrc/tcpsrcgui.cpp
@@ -67,6 +67,7 @@ QByteArray TCPSrcGUI::serialize() const
s.writeS32(6, m_tcpPort);
s.writeBlob(7, ui->spectrumGUI->serialize());
s.writeS32(8, (qint32)m_boost);
+ s.writeS32(9, m_channelMarker.getCenterFrequency());
return s.final();
}
@@ -118,6 +119,8 @@ bool TCPSrcGUI::deserialize(const QByteArray& data)
ui->spectrumGUI->deserialize(bytetmp);
d.readS32(8, &s32tmp, 1);
ui->boost->setValue(s32tmp);
+ d.readS32(9, &s32tmp, 0);
+ m_channelMarker.setCenterFrequency(s32tmp);
blockApplySettings(false);
m_channelMarker.blockSignals(false);
@@ -187,6 +190,9 @@ TCPSrcGUI::TCPSrcGUI(PluginAPI* pluginAPI, QWidget* parent) :
m_threadedChannelizer = new ThreadedSampleSink(m_channelizer, this);
DSPEngine::instance()->addThreadedSink(m_threadedChannelizer);
+ ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold));
+ ui->deltaFrequency->setValueRange(7, 0U, 9999999U);
+
ui->glSpectrum->setCenterFrequency(0);
ui->glSpectrum->setSampleRate(ui->sampleRate->text().toInt());
ui->glSpectrum->setDisplayWaterfall(true);
@@ -253,6 +259,8 @@ void TCPSrcGUI::applySettings()
int boost = ui->boost->value();
setTitleColor(m_channelMarker.getColor());
+ ui->deltaFrequency->setValue(abs(m_channelMarker.getCenterFrequency()));
+ ui->deltaMinus->setChecked(m_channelMarker.getCenterFrequency() < 0);
ui->sampleRate->setText(QString("%1").arg(outputSampleRate, 0));
ui->rfBandwidth->setText(QString("%1").arg(rfBandwidth, 0));
ui->tcpPort->setText(QString("%1").arg(tcpPort));
@@ -301,6 +309,26 @@ void TCPSrcGUI::applySettings()
}
}
+void TCPSrcGUI::on_deltaMinus_toggled(bool minus)
+{
+ int deltaFrequency = m_channelMarker.getCenterFrequency();
+ bool minusDelta = (deltaFrequency < 0);
+
+ if (minus ^ minusDelta) // sign change
+ {
+ m_channelMarker.setCenterFrequency(-deltaFrequency);
+ }
+}
+
+void TCPSrcGUI::on_deltaFrequency_changed(quint64 value)
+{
+ if (ui->deltaMinus->isChecked()) {
+ m_channelMarker.setCenterFrequency(-value);
+ } else {
+ m_channelMarker.setCenterFrequency(value);
+ }
+}
+
void TCPSrcGUI::on_sampleFormat_currentIndexChanged(int index)
{
ui->applyBtn->setEnabled(true);
@@ -329,6 +357,7 @@ void TCPSrcGUI::on_applyBtn_clicked()
void TCPSrcGUI::on_boost_valueChanged(int value)
{
ui->boost->setValue(value);
+ ui->boostText->setText(QString("%1").arg(value));
ui->applyBtn->setEnabled(true);
}
diff --git a/plugins/channel/tcpsrc/tcpsrcgui.h b/plugins/channel/tcpsrc/tcpsrcgui.h
index 9d8f84db1..5bc6e4901 100644
--- a/plugins/channel/tcpsrc/tcpsrcgui.h
+++ b/plugins/channel/tcpsrc/tcpsrcgui.h
@@ -37,6 +37,8 @@ public:
private slots:
void channelMarkerChanged();
+ void on_deltaFrequency_changed(quint64 value);
+ void on_deltaMinus_toggled(bool minus);
void on_sampleFormat_currentIndexChanged(int index);
void on_sampleRate_textEdited(const QString& arg1);
void on_rfBandwidth_textEdited(const QString& arg1);
diff --git a/plugins/channel/tcpsrc/tcpsrcgui.ui b/plugins/channel/tcpsrc/tcpsrcgui.ui
index 8d4ef42be..fc9a96d96 100644
--- a/plugins/channel/tcpsrc/tcpsrcgui.ui
+++ b/plugins/channel/tcpsrc/tcpsrcgui.ui
@@ -26,21 +26,33 @@
Settings
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
3
- -
+
-
Sample Format
- -
+
-
+
+ 2
+
-
S16LE SSB
@@ -58,68 +70,49 @@
- -
+
-
32000
- -
+
-
RF Bandwidth (Hz)
- -
+
-
Samplerate (Hz)
- -
-
-
- 48000
-
-
-
- -
+
-
TCP Port
- -
+
-
+
+
+ 48000
+
+
+
+ -
9999
- -
-
-
- 0
-
-
- 3
-
-
- 1
-
-
- 0
-
-
- Qt::Horizontal
-
-
-
- -
+
-
false
@@ -129,6 +122,204 @@
+ -
+
+
-
+
+
+ ...
+
+
+
+ :/plus.png
+ :/minus.png
+
+
+
+ true
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 32
+ 16
+
+
+
+
+ Monospace
+ 10
+
+
+
+ SizeVerCursor
+
+
+ Qt::StrongFocus
+
+
+ Demod shift frequency from center in Hz
+
+
+
+ -
+
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 118
+ 118
+ 117
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 8
+
+
+
+ Hz
+
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Channel power
+
+
+ Qt::LeftToRight
+
+
+ 0.0
+
+
+
+ -
+
+
+ dB
+
+
+
+
+
+ -
+
+
-
+
+
+ Boost
+
+
+
+ -
+
+
+ 3
+
+
+ 1
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ 0
+
+
+
+
+
@@ -147,7 +338,16 @@
3
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
-
@@ -174,7 +374,16 @@
3
-
+
+ 2
+
+
+ 2
+
+
+ 2
+
+
2
-
@@ -205,6 +414,12 @@
+
+ ValueDial
+ QWidget
+
+ 1
+
GLSpectrum
QWidget
@@ -232,6 +447,8 @@
applyBtn
connections
-
+
+
+