mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 17:28:50 -05:00
RTLSDR: implemented offset tuning
This commit is contained in:
parent
bc7ad10f9d
commit
772a150136
@ -261,6 +261,7 @@ void RTLSDRGui::displaySettings()
|
|||||||
ui->checkBox->setChecked(m_settings.m_noModMode);
|
ui->checkBox->setChecked(m_settings.m_noModMode);
|
||||||
ui->agc->setChecked(m_settings.m_agc);
|
ui->agc->setChecked(m_settings.m_agc);
|
||||||
ui->lowSampleRate->setChecked(m_settings.m_lowSampleRate);
|
ui->lowSampleRate->setChecked(m_settings.m_lowSampleRate);
|
||||||
|
ui->offsetTuning->setChecked(m_settings.m_offsetTuning);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTLSDRGui::sendSettings()
|
void RTLSDRGui::sendSettings()
|
||||||
@ -441,6 +442,12 @@ void RTLSDRGui::on_sampleRate_changed(quint64 value)
|
|||||||
sendSettings();
|
sendSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RTLSDRGui::on_offsetTuning_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_settings.m_offsetTuning = checked;
|
||||||
|
sendSettings();
|
||||||
|
}
|
||||||
|
|
||||||
void RTLSDRGui::on_rfBW_changed(quint64 value)
|
void RTLSDRGui::on_rfBW_changed(quint64 value)
|
||||||
{
|
{
|
||||||
m_settings.m_rfBandwidth = value * 1000;
|
m_settings.m_rfBandwidth = value * 1000;
|
||||||
|
@ -78,6 +78,7 @@ private slots:
|
|||||||
void handleInputMessages();
|
void handleInputMessages();
|
||||||
void on_centerFrequency_changed(quint64 value);
|
void on_centerFrequency_changed(quint64 value);
|
||||||
void on_sampleRate_changed(quint64 value);
|
void on_sampleRate_changed(quint64 value);
|
||||||
|
void on_offsetTuning_toggled(bool checked);
|
||||||
void on_rfBW_changed(quint64 value);
|
void on_rfBW_changed(quint64 value);
|
||||||
void on_lowSampleRate_toggled(bool checked);
|
void on_lowSampleRate_toggled(bool checked);
|
||||||
void on_dcOffset_toggled(bool checked);
|
void on_dcOffset_toggled(bool checked);
|
||||||
|
@ -493,6 +493,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="offsetTuning">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Offset tuning</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Ofs</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="rfBWabel">
|
<widget class="QLabel" name="rfBWabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -507,17 +507,28 @@ bool RTLSDRInput::applySettings(const RTLSDRSettings& settings, bool force)
|
|||||||
|
|
||||||
if (m_dev != 0)
|
if (m_dev != 0)
|
||||||
{
|
{
|
||||||
if (rtlsdr_set_tuner_bandwidth( m_dev, m_settings.m_rfBandwidth) != 0)
|
if (rtlsdr_set_tuner_bandwidth( m_dev, m_settings.m_rfBandwidth) != 0) {
|
||||||
{
|
|
||||||
qCritical("RTLSDRInput::applySettings: could not set RF bandwidth to %u", m_settings.m_rfBandwidth);
|
qCritical("RTLSDRInput::applySettings: could not set RF bandwidth to %u", m_settings.m_rfBandwidth);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
qDebug() << "RTLSDRInput::applySettings: set RF bandwidth to " << m_settings.m_rfBandwidth;
|
qDebug() << "RTLSDRInput::applySettings: set RF bandwidth to " << m_settings.m_rfBandwidth;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((m_settings.m_offsetTuning != settings.m_offsetTuning) || force)
|
||||||
|
{
|
||||||
|
m_settings.m_offsetTuning = settings.m_offsetTuning;
|
||||||
|
|
||||||
|
if (m_dev != 0)
|
||||||
|
{
|
||||||
|
if (rtlsdr_set_offset_tuning(m_dev, m_settings.m_offsetTuning ? 0 : 1) != 0) {
|
||||||
|
qCritical("RTLSDRInput::applySettings: could not set offset tuning to %s", m_settings.m_offsetTuning ? "on" : "off");
|
||||||
|
} else {
|
||||||
|
qDebug("RTLSDRInput::applySettings: offset tuning set to %s", m_settings.m_offsetTuning ? "on" : "off");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (forwardChange)
|
if (forwardChange)
|
||||||
{
|
{
|
||||||
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
||||||
|
@ -40,6 +40,7 @@ void RTLSDRSettings::resetToDefaults()
|
|||||||
m_transverterDeltaFrequency = 0;
|
m_transverterDeltaFrequency = 0;
|
||||||
m_rfBandwidth = 2500 * 1000; // Hz
|
m_rfBandwidth = 2500 * 1000; // Hz
|
||||||
m_fileRecordName = "";
|
m_fileRecordName = "";
|
||||||
|
m_offsetTuning = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray RTLSDRSettings::serialize() const
|
QByteArray RTLSDRSettings::serialize() const
|
||||||
@ -59,6 +60,7 @@ QByteArray RTLSDRSettings::serialize() const
|
|||||||
s.writeBool(12, m_transverterMode);
|
s.writeBool(12, m_transverterMode);
|
||||||
s.writeS64(13, m_transverterDeltaFrequency);
|
s.writeS64(13, m_transverterDeltaFrequency);
|
||||||
s.writeU32(14, m_rfBandwidth);
|
s.writeU32(14, m_rfBandwidth);
|
||||||
|
s.writeBool(15, m_offsetTuning);
|
||||||
|
|
||||||
return s.final();
|
return s.final();
|
||||||
}
|
}
|
||||||
@ -91,6 +93,7 @@ bool RTLSDRSettings::deserialize(const QByteArray& data)
|
|||||||
d.readBool(12, &m_transverterMode, false);
|
d.readBool(12, &m_transverterMode, false);
|
||||||
d.readS64(13, &m_transverterDeltaFrequency, 0);
|
d.readS64(13, &m_transverterDeltaFrequency, 0);
|
||||||
d.readU32(4, &m_rfBandwidth, 2500 * 1000);
|
d.readU32(4, &m_rfBandwidth, 2500 * 1000);
|
||||||
|
d.readBool(15, &m_offsetTuning, false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ struct RTLSDRSettings {
|
|||||||
qint64 m_transverterDeltaFrequency;
|
qint64 m_transverterDeltaFrequency;
|
||||||
quint32 m_rfBandwidth; //!< RF filter bandwidth in Hz
|
quint32 m_rfBandwidth; //!< RF filter bandwidth in Hz
|
||||||
QString m_fileRecordName;
|
QString m_fileRecordName;
|
||||||
|
bool m_offsetTuning;
|
||||||
|
|
||||||
RTLSDRSettings();
|
RTLSDRSettings();
|
||||||
void resetToDefaults();
|
void resetToDefaults();
|
||||||
|
Loading…
Reference in New Issue
Block a user