1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-28 13:04:17 -04:00

SoapySDR support: output: manage global and individual gains coupling

This commit is contained in:
f4exb
2018-11-07 23:54:32 +01:00
parent 9d014d841b
commit 59c8ecd2d0
3 changed files with 93 additions and 1 deletions
@@ -59,6 +59,7 @@ SoapySDROutputGui::SoapySDROutputGui(DeviceUISet *deviceUISet, QWidget* parent)
createTunableElementsControl(m_sampleSink->getTunableElements());
createGlobalGainControl();
createIndividualGainsControl(m_sampleSink->getIndividualGainsRanges());
m_sampleSink->initGainSettings(m_settings);
if (m_sampleRateGUI) {
connect(m_sampleRateGUI, SIGNAL(valueChanged(double)), this, SLOT(sampleRateChanged(double)));
@@ -282,6 +283,24 @@ bool SoapySDROutputGui::handleMessage(const Message& message)
return true;
}
else if (SoapySDROutput::MsgReportGainChange::match(message))
{
const SoapySDROutput::MsgReportGainChange& report = (SoapySDROutput::MsgReportGainChange&) message;
const SoapySDROutputSettings& gainSettings = report.getSettings();
if (report.getGlobalGain()) {
m_settings.m_globalGain = gainSettings.m_globalGain;
}
if (report.getIndividualGains()) {
m_settings.m_individualGains = gainSettings.m_individualGains;
}
blockApplySettings(true);
displaySettings();
blockApplySettings(false);
return true;
}
else if (SoapySDROutput::MsgStartStop::match(message))
{
SoapySDROutput::MsgStartStop& notif = (SoapySDROutput::MsgStartStop&) message;