diff --git a/include-gpl/mainwindow.h b/include-gpl/mainwindow.h
index 30d3018fc..f58fd2177 100644
--- a/include-gpl/mainwindow.h
+++ b/include-gpl/mainwindow.h
@@ -123,8 +123,6 @@ private slots:
void on_action_Stop_triggered();
void on_action_Start_Recording_triggered();
void on_action_Stop_Recording_triggered();
- void on_dcOffset_toggled(bool checked);
- void on_iqImbalance_toggled(bool checked);
void on_action_View_Fullscreen_toggled(bool checked);
void on_presetSave_clicked();
void on_presetUpdate_clicked();
diff --git a/include-gpl/settings/preset.h b/include-gpl/settings/preset.h
index ad87e206d..9f33d78f6 100644
--- a/include-gpl/settings/preset.h
+++ b/include-gpl/settings/preset.h
@@ -37,15 +37,6 @@ public:
void setLayout(const QByteArray& data) { m_layout = data; }
const QByteArray& getLayout() const { return m_layout; }
- void setDCOffsetCorrection(bool value) { m_dcOffsetCorrection = value; }
- bool getDCOffsetCorrection() const { return m_dcOffsetCorrection; }
-
- void setIQImbalanceCorrection(bool value) { m_iqImbalanceCorrection = value; }
- bool getIQImbalanceCorrection() const { return m_iqImbalanceCorrection; }
-
- void setScopeConfig(const QByteArray& data) { m_scopeConfig = data; }
- const QByteArray& getScopeConfig() const { return m_scopeConfig; }
-
void clearChannels() { m_channelConfigs.clear(); }
void addChannel(const QString& channel, const QByteArray& config) { m_channelConfigs.append(ChannelConfig(channel, config)); }
int getChannelCount() const { return m_channelConfigs.count(); }
@@ -67,7 +58,6 @@ protected:
// general configuration
QByteArray m_spectrumConfig;
- QByteArray m_scopeConfig;
// dc offset and i/q imbalance correction TODO: move it into the source data
bool m_dcOffsetCorrection;
diff --git a/plugins/channel/wfm/wfmdemodgui.cpp b/plugins/channel/wfm/wfmdemodgui.cpp
index 4c9d8247c..c19c66477 100644
--- a/plugins/channel/wfm/wfmdemodgui.cpp
+++ b/plugins/channel/wfm/wfmdemodgui.cpp
@@ -214,6 +214,9 @@ WFMDemodGUI::WFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) :
m_basicSettingsShown(false)
{
ui->setupUi(this);
+ ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold));
+ ui->deltaFrequency->setValueRange(7, 0U, 9999999U);
+
setAttribute(Qt::WA_DeleteOnClose, true);
connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool)));
connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked()));
diff --git a/plugins/samplesource/hackrf/hackrfgui.cpp b/plugins/samplesource/hackrf/hackrfgui.cpp
index ed7d92c6b..fc00d8652 100644
--- a/plugins/samplesource/hackrf/hackrfgui.cpp
+++ b/plugins/samplesource/hackrf/hackrfgui.cpp
@@ -113,6 +113,9 @@ void HackRFGui::displaySettings()
ui->LOppm->setValue(m_settings.m_LOppmTenths);
ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
+ ui->dcOffset->setChecked(m_settings.m_dcBlock);
+ ui->iqImbalance->setChecked(m_settings.m_iqCorrection);
+
ui->sampleRate->setCurrentIndex(m_settings.m_devSampleRateIndex);
ui->biasT->setChecked(m_settings.m_biasT);
@@ -197,6 +200,18 @@ void HackRFGui::on_LOppm_valueChanged(int value)
sendSettings();
}
+void HackRFGui::on_dcOffset_toggled(bool checked)
+{
+ m_settings.m_dcBlock = checked;
+ sendSettings();
+}
+
+void HackRFGui::on_iqImbalance_toggled(bool checked)
+{
+ m_settings.m_iqCorrection = checked;
+ sendSettings();
+}
+
void HackRFGui::on_sampleRate_currentIndexChanged(int index)
{
m_settings.m_devSampleRateIndex = index;
diff --git a/plugins/samplesource/hackrf/hackrfgui.h b/plugins/samplesource/hackrf/hackrfgui.h
index bc2e77e2e..6355bd8b6 100644
--- a/plugins/samplesource/hackrf/hackrfgui.h
+++ b/plugins/samplesource/hackrf/hackrfgui.h
@@ -72,6 +72,8 @@ private:
private slots:
void on_centerFrequency_changed(quint64 value);
void on_LOppm_valueChanged(int value);
+ void on_dcOffset_toggled(bool checked);
+ void on_iqImbalance_toggled(bool checked);
void on_sampleRate_currentIndexChanged(int index);
void on_biasT_stateChanged(int state);
void on_decim_valueChanged(int value);
diff --git a/plugins/samplesource/hackrf/hackrfgui.ui b/plugins/samplesource/hackrf/hackrfgui.ui
index 617594c13..7417029ca 100644
--- a/plugins/samplesource/hackrf/hackrfgui.ui
+++ b/plugins/samplesource/hackrf/hackrfgui.ui
@@ -6,8 +6,8 @@
0
0
- 215
- 220
+ 256
+ 218
@@ -136,6 +136,37 @@
+ -
+
+
-
+
+
+ DC Offset auto correction
+
+
+ DC Offset
+
+
+
+ -
+
+
+ IQ Imbalance auto correction
+
+
+ IQ Imbalance
+
+
+
+ -
+
+
+ Auto corr
+
+
+
+
+
-
@@ -148,13 +179,6 @@
3
-
-
-
-
- Bias T
-
-
-
-
@@ -175,6 +199,29 @@
+ -
+
+
+ BBF
+
+
+
+ -
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
-
@@ -224,7 +271,7 @@
-
-
+
3
@@ -235,19 +282,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
@@ -268,6 +302,16 @@
-
+
+
+ Qt::RightToLeft
+
+
+ Bias T
+
+
+
+ -
Extra LNA +14dB
@@ -350,36 +394,6 @@
- -
-
-
- 3
-
-
-
-
-
- BBF
-
-
-
- -
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
@@ -441,6 +455,11 @@
1
+
+ ButtonSwitch
+ QToolButton
+
+
diff --git a/plugins/samplesource/hackrf/hackrfinput.cpp b/plugins/samplesource/hackrf/hackrfinput.cpp
index d711b26ca..3df7d04e0 100644
--- a/plugins/samplesource/hackrf/hackrfinput.cpp
+++ b/plugins/samplesource/hackrf/hackrfinput.cpp
@@ -180,6 +180,18 @@ bool HackRFInput::applySettings(const HackRFSettings& settings, bool force)
qDebug() << "HackRFInput::applySettings";
+ if (m_settings.m_dcBlock != settings.m_dcBlock)
+ {
+ m_settings.m_dcBlock = settings.m_dcBlock;
+ DSPEngine::instance()->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
+ }
+
+ if (m_settings.m_iqCorrection != settings.m_iqCorrection)
+ {
+ m_settings.m_iqCorrection = settings.m_iqCorrection;
+ DSPEngine::instance()->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
+ }
+
if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force)
{
forwardChange = true;
diff --git a/plugins/samplesource/hackrf/hackrfsettings.cpp b/plugins/samplesource/hackrf/hackrfsettings.cpp
index 096f397f8..7de8b3553 100644
--- a/plugins/samplesource/hackrf/hackrfsettings.cpp
+++ b/plugins/samplesource/hackrf/hackrfsettings.cpp
@@ -82,6 +82,8 @@ bool HackRFSettings::deserialize(const QByteArray& data)
d.readU32(7, &m_lnaGain, 16);
d.readU32(8, &m_bandwidthIndex, 0);
d.readU32(9, &m_vgaGain, 16);
+ d.readBool(10, &m_dcBlock, false);
+ d.readBool(11, &m_iqCorrection, false);
return true;
}
diff --git a/sdrbase/mainwindow.cpp b/sdrbase/mainwindow.cpp
index a799172a3..e0c6c0672 100644
--- a/sdrbase/mainwindow.cpp
+++ b/sdrbase/mainwindow.cpp
@@ -68,21 +68,21 @@ MainWindow::MainWindow(QWidget* parent) :
// work around broken Qt dock widget ordering
removeDockWidget(ui->inputDock);
- removeDockWidget(ui->processingDock);
+ removeDockWidget(ui->rxDisplayDock);
removeDockWidget(ui->presetDock);
removeDockWidget(ui->channelDock);
addDockWidget(Qt::LeftDockWidgetArea, ui->inputDock);
- addDockWidget(Qt::LeftDockWidgetArea, ui->processingDock);
+ addDockWidget(Qt::LeftDockWidgetArea, ui->rxDisplayDock);
addDockWidget(Qt::LeftDockWidgetArea, ui->presetDock);
addDockWidget(Qt::RightDockWidgetArea, ui->channelDock);
ui->inputDock->show();
- ui->processingDock->show();
+ ui->rxDisplayDock->show();
ui->presetDock->show();
ui->channelDock->show();
ui->menu_Window->addAction(ui->inputDock->toggleViewAction());
- ui->menu_Window->addAction(ui->processingDock->toggleViewAction());
+ ui->menu_Window->addAction(ui->rxDisplayDock->toggleViewAction());
ui->menu_Window->addAction(ui->presetDock->toggleViewAction());
ui->menu_Window->addAction(ui->channelDock->toggleViewAction());
@@ -211,8 +211,6 @@ void MainWindow::loadPresetSettings(const Preset* preset)
qDebug() << "MainWindow::loadPresetSettings: preset: " << preset->getSource().toStdString().c_str();
ui->glSpectrumGUI->deserialize(preset->getSpectrumConfig());
- ui->dcOffset->setChecked(preset->getDCOffsetCorrection());
- ui->iqImbalance->setChecked(preset->getIQImbalanceCorrection());
m_pluginManager->loadSettings(preset);
@@ -433,18 +431,6 @@ void MainWindow::on_action_Stop_Recording_triggered()
m_fileSink->stopRecording();
}
-void MainWindow::on_dcOffset_toggled(bool checked)
-{
- m_settings.getCurrent()->setDCOffsetCorrection(checked);
- m_dspEngine->configureCorrections(m_settings.getCurrent()->getDCOffsetCorrection(), m_settings.getCurrent()->getIQImbalanceCorrection());
-}
-
-void MainWindow::on_iqImbalance_toggled(bool checked)
-{
- m_settings.getCurrent()->setIQImbalanceCorrection(checked);
- m_dspEngine->configureCorrections(m_settings.getCurrent()->getDCOffsetCorrection(), m_settings.getCurrent()->getIQImbalanceCorrection());
-}
-
void MainWindow::on_action_View_Fullscreen_toggled(bool checked)
{
if(checked)
diff --git a/sdrbase/mainwindow.ui b/sdrbase/mainwindow.ui
index 477bc25a6..b5b761490 100644
--- a/sdrbase/mainwindow.ui
+++ b/sdrbase/mainwindow.ui
@@ -256,9 +256,9 @@
-
+
- Processing and Display
+ Rx Display
1
@@ -286,45 +286,6 @@
2
-
-
-
-
- 3
-
-
-
-
-
-
- 0
- 0
-
-
-
- Compensate DC offset
-
-
- DC Offset Corr
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Compensate I/Q imbalance
-
-
- I/Q Imbal. Corr
-
-
-
-
-
-
@@ -492,11 +453,6 @@
1
-
- ButtonSwitch
- QToolButton
-
-
ChannelWindow
QWidget
@@ -509,8 +465,6 @@
presetSave
presetDelete
presetLoad
- dcOffset
- iqImbalance
diff --git a/sdrbase/settings/preset.cpp b/sdrbase/settings/preset.cpp
index 29ca43cdd..f0dbce66a 100644
--- a/sdrbase/settings/preset.cpp
+++ b/sdrbase/settings/preset.cpp
@@ -14,9 +14,6 @@ void Preset::resetToDefaults()
m_description = "no name";
m_centerFrequency = 0;
m_spectrumConfig.clear();
- m_scopeConfig.clear();
- m_dcOffsetCorrection = false;
- m_iqImbalanceCorrection = false;
m_layout.clear();
m_spectrumConfig.clear();
m_channelConfigs.clear();
@@ -34,11 +31,8 @@ QByteArray Preset::serialize() const
s.writeU64(3, m_centerFrequency);
s.writeBlob(4, m_layout);
s.writeBlob(5, m_spectrumConfig);
- s.writeBool(6, m_dcOffsetCorrection);
- s.writeBool(7, m_iqImbalanceCorrection);
- s.writeBlob(8, m_scopeConfig);
- s.writeString(9, m_source);
- s.writeBlob(10, m_sourceConfig);
+ s.writeString(6, m_source);
+ s.writeBlob(7, m_sourceConfig);
s.writeS32(200, m_channelConfigs.size());
@@ -68,13 +62,10 @@ bool Preset::deserialize(const QByteArray& data)
d.readU64(3, &m_centerFrequency, 0);
d.readBlob(4, &m_layout);
d.readBlob(5, &m_spectrumConfig);
- d.readBool(6, &m_dcOffsetCorrection, false);
- d.readBool(7, &m_iqImbalanceCorrection, false);
- d.readBlob(8, &m_scopeConfig);
- d.readString(9, &m_source);
- d.readBlob(10, &m_sourceConfig);
+ d.readString(6, &m_source);
+ d.readBlob(7, &m_sourceConfig);
- qDebug() << " m_group: " << m_group.toStdString().c_str();
+ qDebug() << "Preset::deserialize: m_group: " << m_group.toStdString().c_str();
qint32 channelCount = 0;
d.readS32(200, &channelCount, 0);