1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-09-04 06:07:49 -04:00

SoapySDR support: fixed display settings

This commit is contained in:
f4exb 2018-11-10 07:17:55 +01:00
parent 97ee2cd5be
commit 8a72372b28
4 changed files with 36 additions and 18 deletions

View File

@ -846,7 +846,7 @@ bool SoapySDROutput::applySettings(const SoapySDROutputSettings& settings, bool
{ {
auto nvalue = settings.m_tunableElements.find(oname); auto nvalue = settings.m_tunableElements.find(oname);
if (nvalue != settings.m_tunableElements.end() && (m_settings.m_tunableElements[oname] != *nvalue)) if (nvalue != settings.m_tunableElements.end() && ((m_settings.m_tunableElements[oname] != *nvalue) || force))
{ {
if (dev != 0) if (dev != 0)
{ {
@ -1034,7 +1034,8 @@ bool SoapySDROutput::applySettings(const SoapySDROutputSettings& settings, bool
<< " m_log2Interp: " << m_settings.m_log2Interp << " m_log2Interp: " << m_settings.m_log2Interp
<< " m_devSampleRate: " << m_settings.m_devSampleRate << " m_devSampleRate: " << m_settings.m_devSampleRate
<< " m_bandwidth: " << m_settings.m_bandwidth << " m_bandwidth: " << m_settings.m_bandwidth
<< " m_globalGain: " << m_settings.m_globalGain; << " m_globalGain: " << m_settings.m_globalGain
<< " force: " << force;
return true; return true;
} }

View File

@ -426,7 +426,7 @@ void SoapySDROutputGui::handleInputMessages()
void SoapySDROutputGui::sampleRateChanged(double sampleRate) void SoapySDROutputGui::sampleRateChanged(double sampleRate)
{ {
m_settings.m_devSampleRate = sampleRate; m_settings.m_devSampleRate = round(sampleRate);
sendSettings(); sendSettings();
} }
@ -439,7 +439,7 @@ void SoapySDROutputGui::antennasChanged()
void SoapySDROutputGui::bandwidthChanged(double bandwidth) void SoapySDROutputGui::bandwidthChanged(double bandwidth)
{ {
m_settings.m_bandwidth = bandwidth; m_settings.m_bandwidth = round(bandwidth);
sendSettings(); sendSettings();
} }
@ -558,14 +558,20 @@ void SoapySDROutputGui::displaySettings()
if (m_antennas) { if (m_antennas) {
m_antennas->setValue(m_settings.m_antenna.toStdString()); m_antennas->setValue(m_settings.m_antenna.toStdString());
} }
if (m_sampleRateGUI) { if (m_sampleRateGUI)
{
m_sampleRateGUI->setValue(m_settings.m_devSampleRate); m_sampleRateGUI->setValue(m_settings.m_devSampleRate);
m_settings.m_devSampleRate = m_sampleRateGUI->getCurrentValue();
} }
if (m_bandwidthGUI) { if (m_bandwidthGUI)
{
m_bandwidthGUI->setValue(m_settings.m_bandwidth); m_bandwidthGUI->setValue(m_settings.m_bandwidth);
m_settings.m_bandwidth = m_bandwidthGUI->getCurrentValue();
} }
if (m_gainSliderGUI) { if (m_gainSliderGUI)
{
m_gainSliderGUI->setValue(m_settings.m_globalGain); m_gainSliderGUI->setValue(m_settings.m_globalGain);
m_settings.m_globalGain = m_gainSliderGUI->getCurrentValue();
} }
if (m_autoGain) { if (m_autoGain) {
m_autoGain->setChecked(m_settings.m_autoGain); m_autoGain->setChecked(m_settings.m_autoGain);
@ -599,10 +605,12 @@ void SoapySDROutputGui::displayIndividualGainsControlSettings()
{ {
for (const auto &it : m_individualGainsGUIs) for (const auto &it : m_individualGainsGUIs)
{ {
QMap<QString, double>::const_iterator elIt = m_settings.m_individualGains.find(it->getName()); QMap<QString, double>::iterator elIt = m_settings.m_individualGains.find(it->getName());
if (elIt != m_settings.m_individualGains.end()) { if (elIt != m_settings.m_individualGains.end())
{
it->setValue(*elIt); it->setValue(*elIt);
*elIt = it->getValue();
} }
} }
} }

View File

@ -892,7 +892,7 @@ bool SoapySDRInput::applySettings(const SoapySDRInputSettings& settings, bool fo
{ {
auto nvalue = settings.m_tunableElements.find(oname); auto nvalue = settings.m_tunableElements.find(oname);
if (nvalue != settings.m_tunableElements.end() && (m_settings.m_tunableElements[oname] != *nvalue)) if (nvalue != settings.m_tunableElements.end() && ((m_settings.m_tunableElements[oname] != *nvalue) ||force))
{ {
if (dev != 0) if (dev != 0)
{ {
@ -1085,7 +1085,8 @@ bool SoapySDRInput::applySettings(const SoapySDRInputSettings& settings, bool fo
<< " m_softIQCorrection: " << m_settings.m_softIQCorrection << " m_softIQCorrection: " << m_settings.m_softIQCorrection
<< " m_antenna: " << m_settings.m_antenna << " m_antenna: " << m_settings.m_antenna
<< " m_bandwidth: " << m_settings.m_bandwidth << " m_bandwidth: " << m_settings.m_bandwidth
<< " m_globalGain: " << m_settings.m_globalGain; << " m_globalGain: " << m_settings.m_globalGain
<< " force: " << force;
return true; return true;
} }

View File

@ -436,13 +436,13 @@ void SoapySDRInputGui::antennasChanged()
void SoapySDRInputGui::sampleRateChanged(double sampleRate) void SoapySDRInputGui::sampleRateChanged(double sampleRate)
{ {
m_settings.m_devSampleRate = sampleRate; m_settings.m_devSampleRate = round(sampleRate);
sendSettings(); sendSettings();
} }
void SoapySDRInputGui::bandwidthChanged(double bandwidth) void SoapySDRInputGui::bandwidthChanged(double bandwidth)
{ {
m_settings.m_bandwidth = bandwidth; m_settings.m_bandwidth = round(bandwidth);
sendSettings(); sendSettings();
} }
@ -600,14 +600,20 @@ void SoapySDRInputGui::displaySettings()
qDebug("SoapySDRInputGui::displaySettings: m_antenna: %s", m_settings.m_antenna.toStdString().c_str()); qDebug("SoapySDRInputGui::displaySettings: m_antenna: %s", m_settings.m_antenna.toStdString().c_str());
m_antennas->setValue(m_settings.m_antenna.toStdString()); m_antennas->setValue(m_settings.m_antenna.toStdString());
} }
if (m_sampleRateGUI) { if (m_sampleRateGUI)
{
m_sampleRateGUI->setValue(m_settings.m_devSampleRate); m_sampleRateGUI->setValue(m_settings.m_devSampleRate);
m_settings.m_devSampleRate = m_sampleRateGUI->getCurrentValue();
} }
if (m_bandwidthGUI) { if (m_bandwidthGUI)
{
m_bandwidthGUI->setValue(m_settings.m_bandwidth); m_bandwidthGUI->setValue(m_settings.m_bandwidth);
m_settings.m_bandwidth = m_bandwidthGUI->getCurrentValue();
} }
if (m_gainSliderGUI) { if (m_gainSliderGUI)
{
m_gainSliderGUI->setValue(m_settings.m_globalGain); m_gainSliderGUI->setValue(m_settings.m_globalGain);
m_settings.m_globalGain = m_gainSliderGUI->getCurrentValue();
} }
if (m_autoGain) { if (m_autoGain) {
m_autoGain->setChecked(m_settings.m_autoGain); m_autoGain->setChecked(m_settings.m_autoGain);
@ -645,10 +651,12 @@ void SoapySDRInputGui::displayIndividualGainsControlSettings()
{ {
for (const auto &it : m_individualGainsGUIs) for (const auto &it : m_individualGainsGUIs)
{ {
QMap<QString, double>::const_iterator elIt = m_settings.m_individualGains.find(it->getName()); QMap<QString, double>::iterator elIt = m_settings.m_individualGains.find(it->getName());
if (elIt != m_settings.m_individualGains.end()) { if (elIt != m_settings.m_individualGains.end())
{
it->setValue(*elIt); it->setValue(*elIt);
*elIt = it->getValue();
} }
} }
} }