diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index b7c8ab2e3..184f0d310 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -432,6 +432,8 @@ bool HackRFInput::applySettings(const HackRFInputSettings& settings, bool force) m_deviceAPI->getDeviceInputMessageQueue()->push(notif); } + m_settings.m_linkTxFrequency = settings.m_linkTxFrequency; + qDebug() << "HackRFInput::applySettings: center freq: " << m_settings.m_centerFrequency << " Hz" << " device center freq: " << deviceCenterFrequency << " Hz" << " device sample rate: " << m_settings.m_devSampleRate << "S/s" diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp index d8d7e3e35..595b6d76d 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp @@ -250,6 +250,12 @@ void HackRFInputGui::on_iqImbalance_toggled(bool checked) sendSettings(); } +void HackRFInputGui::on_linkTxFreq_toggled(bool checked) +{ + m_settings.m_linkTxFrequency = checked; + sendSettings(); +} + void HackRFInputGui::on_bbFilter_currentIndexChanged(int index) { int newBandwidth = HackRFBandwidths::getBandwidth(index); diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.h b/plugins/samplesource/hackrfinput/hackrfinputgui.h index 552775f9c..eef02d418 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.h +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.h @@ -83,6 +83,7 @@ private slots: void on_LOppm_valueChanged(int value); void on_dcOffset_toggled(bool checked); void on_iqImbalance_toggled(bool checked); + void on_linkTxFreq_toggled(bool checked); void on_biasT_stateChanged(int state); void on_decim_currentIndexChanged(int index); void on_fcPos_currentIndexChanged(int index); diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.ui b/plugins/samplesource/hackrfinput/hackrfinputgui.ui index 2de384099..f45602539 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.ui +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.ui @@ -253,7 +253,7 @@ - + Activate antenna bias tee @@ -266,7 +266,7 @@ - + Extra LNA +14dB @@ -292,6 +292,20 @@ + + + + Toggle Tx frequency link + + + ... + + + + :/link.png:/link.png + + + diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp index 65d82bedc..67c667cdc 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp @@ -39,6 +39,7 @@ void HackRFInputSettings::resetToDefaults() m_dcBlock = false; m_iqCorrection = false; m_devSampleRate = 2400000; + m_linkTxFrequency = false; } QByteArray HackRFInputSettings::serialize() const @@ -56,6 +57,7 @@ QByteArray HackRFInputSettings::serialize() const s.writeBool(10, m_dcBlock); s.writeBool(11, m_iqCorrection); s.writeU64(12, m_devSampleRate); + s.writeBool(13, m_linkTxFrequency); return s.final(); } @@ -86,6 +88,7 @@ bool HackRFInputSettings::deserialize(const QByteArray& data) d.readBool(10, &m_dcBlock, false); d.readBool(11, &m_iqCorrection, false); d.readU64(12, &m_devSampleRate, 2400000U); + d.readBool(11, &m_linkTxFrequency, false); return true; } diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.h b/plugins/samplesource/hackrfinput/hackrfinputsettings.h index 42e17b91d..2a5f4ed22 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.h +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.h @@ -38,6 +38,7 @@ struct HackRFInputSettings { bool m_lnaExt; bool m_dcBlock; bool m_iqCorrection; + bool m_linkTxFrequency; HackRFInputSettings(); void resetToDefaults(); diff --git a/sdrbase/resources/link.png b/sdrbase/resources/link.png new file mode 100644 index 000000000..27a7c42d3 Binary files /dev/null and b/sdrbase/resources/link.png differ diff --git a/sdrbase/resources/res.qrc b/sdrbase/resources/res.qrc index c3b1d4cd6..816192ae1 100644 --- a/sdrbase/resources/res.qrc +++ b/sdrbase/resources/res.qrc @@ -78,5 +78,6 @@ filter_bandpass.png stream.png antenna.png + link.png