diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index bafef23b9..72d92031b 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -731,6 +731,9 @@ void AirspyInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getAirspySettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getAirspySettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { int fcPos = response.getAirspySettings()->getFcPos(); fcPos = fcPos < 0 ? 0 : fcPos > 2 ? 2 : fcPos; @@ -821,6 +824,7 @@ void AirspyInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getAirspySettings()->setLnaAgc(settings.m_lnaAGC ? 1 : 0); response.getAirspySettings()->setMixerAgc(settings.m_mixerAGC ? 1 : 0); response.getAirspySettings()->setLog2Decim(settings.m_log2Decim); + response.getAirspySettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getAirspySettings()->setFcPos((int) settings.m_fcPos); response.getAirspySettings()->setBiasT(settings.m_biasT ? 1 : 0); response.getAirspySettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); @@ -895,6 +899,9 @@ void AirspyInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgAirspySettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgAirspySettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgAirspySettings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index 1dd56b52e..4270735a1 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -724,6 +724,9 @@ void AirspyHFInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getAirspyHfSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getAirspyHfSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("transverterDeltaFrequency")) { settings.m_transverterDeltaFrequency = response.getAirspyHfSettings()->getTransverterDeltaFrequency(); } @@ -777,6 +780,7 @@ void AirspyHFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getAirspyHfSettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); response.getAirspyHfSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getAirspyHfSettings()->setLog2Decim(settings.m_log2Decim); + response.getAirspyHfSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getAirspyHfSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getAirspyHfSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); response.getAirspyHfSettings()->setBandIndex(settings.m_bandIndex ? 1 : 0); @@ -910,6 +914,9 @@ void AirspyHFInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("log2Decim") || force) { swgAirspyHFSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgAirspyHFSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("transverterDeltaFrequency") || force) { swgAirspyHFSettings->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); } diff --git a/plugins/samplesource/bladerf1input/bladerf1input.cpp b/plugins/samplesource/bladerf1input/bladerf1input.cpp index ae95e3eae..df5c42127 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1input.cpp @@ -618,6 +618,7 @@ bool Bladerf1Input::applySettings(const BladeRF1InputSettings& settings, bool fo << " m_vga1: " << m_settings.m_vga1 << " m_vga2: " << m_settings.m_vga2 << " m_log2Decim: " << m_settings.m_log2Decim + << " m_iqOrder: " << m_settings.m_iqOrder << " m_fcPos: " << m_settings.m_fcPos << " m_devSampleRate: " << m_settings.m_devSampleRate << " m_dcBlock: " << m_settings.m_dcBlock @@ -665,6 +666,7 @@ void Bladerf1Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getBladeRf1InputSettings()->setVga2(settings.m_vga2); response.getBladeRf1InputSettings()->setBandwidth(settings.m_bandwidth); response.getBladeRf1InputSettings()->setLog2Decim(settings.m_log2Decim); + response.getBladeRf1InputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getBladeRf1InputSettings()->setFcPos((int) settings.m_fcPos); response.getBladeRf1InputSettings()->setXb200(settings.m_xb200 ? 1 : 0); response.getBladeRf1InputSettings()->setXb200Path((int) settings.m_xb200Path); @@ -739,6 +741,9 @@ void Bladerf1Input::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getBladeRf1InputSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getBladeRf1InputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { settings.m_fcPos = static_cast(response.getBladeRf1InputSettings()->getFcPos()); } @@ -865,6 +870,9 @@ void Bladerf1Input::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("log2Decim") || force) { swgBladeRF1Settings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgBladeRF1Settings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgBladeRF1Settings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/bladerf2input/bladerf2input.cpp b/plugins/samplesource/bladerf2input/bladerf2input.cpp index a716277eb..a6fcc68ab 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2input.cpp @@ -1054,6 +1054,7 @@ bool BladeRF2Input::applySettings(const BladeRF2InputSettings& settings, bool fo << " m_LOppmTenths: " << m_settings.m_LOppmTenths << " m_bandwidth: " << m_settings.m_bandwidth << " m_log2Decim: " << m_settings.m_log2Decim + << " m_iqOrder: " << m_settings.m_iqOrder << " m_fcPos: " << m_settings.m_fcPos << " m_devSampleRate: " << m_settings.m_devSampleRate << " m_globalGain: " << m_settings.m_globalGain @@ -1119,6 +1120,9 @@ void BladeRF2Input::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getBladeRf2InputSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getBladeRf2InputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { settings.m_fcPos = static_cast(response.getBladeRf2InputSettings()->getFcPos()); } @@ -1176,6 +1180,7 @@ void BladeRF2Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getBladeRf2InputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getBladeRf2InputSettings()->setBandwidth(settings.m_bandwidth); response.getBladeRf2InputSettings()->setLog2Decim(settings.m_log2Decim); + response.getBladeRf2InputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getBladeRf2InputSettings()->setFcPos((int) settings.m_fcPos); response.getBladeRf2InputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getBladeRf2InputSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); @@ -1333,6 +1338,9 @@ void BladeRF2Input::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("log2Decim") || force) { swgBladeRF2Settings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("log2Decim") || force) { + swgBladeRF2Settings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgBladeRF2Settings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index 7db652b69..29c894f81 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -1007,6 +1007,9 @@ void FCDProInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getFcdProSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getFcdProSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { settings.m_fcPos = (FCDProSettings::fcPos_t) response.getFcdProSettings()->getFcPos(); } @@ -1064,6 +1067,7 @@ void FCDProInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getFcdProSettings()->setGain5Index(settings.m_gain5Index); response.getFcdProSettings()->setGain6Index(settings.m_gain6Index); response.getFcdProSettings()->setLog2Decim(settings.m_log2Decim); + response.getFcdProSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getFcdProSettings()->setFcPos((int) settings.m_fcPos); response.getFcdProSettings()->setRcFilterIndex(settings.m_rcFilterIndex); response.getFcdProSettings()->setIfFilterIndex(settings.m_ifFilterIndex); @@ -1152,6 +1156,9 @@ void FCDProInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgFCDProSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgFCDProSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgFCDProSettings->setFcPos(settings.m_fcPos); } diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index 1ee023210..4d9526b65 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -689,6 +689,9 @@ void FCDProPlusInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getFcdProPlusSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getFcdProPlusSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { settings.m_fcPos = (FCDProPlusSettings::fcPos_t) response.getFcdProPlusSettings()->getFcPos(); } @@ -749,6 +752,7 @@ void FCDProPlusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& { response.getFcdProPlusSettings()->setCenterFrequency(settings.m_centerFrequency); response.getFcdProPlusSettings()->setLog2Decim(settings.m_log2Decim); + response.getFcdProPlusSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getFcdProPlusSettings()->setFcPos((int) settings.m_fcPos); response.getFcdProPlusSettings()->setRangeLow(settings.m_rangeLow ? 1 : 0); response.getFcdProPlusSettings()->setLnaGain(settings.m_lnaGain ? 1 : 0); @@ -798,6 +802,9 @@ void FCDProPlusInput::webapiReverseSendSettings(QList& deviceSettingsKe if (deviceSettingsKeys.contains("log2Decim") || force) { swgFCDProPlusSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgFCDProPlusSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgFCDProPlusSettings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index 563b8a278..4f8807d69 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -613,6 +613,7 @@ bool HackRFInput::applySettings(const HackRFInputSettings& settings, bool force) << " m_lnaGain: " << m_settings.m_lnaGain << " m_vgaGain: " << m_settings.m_vgaGain << " m_log2Decim: " << m_settings.m_log2Decim + << " m_iqOrder: " << m_settings.m_iqOrder << " m_fcPos: " << m_settings.m_fcPos << " m_devSampleRate: " << m_settings.m_devSampleRate << " m_biasT: " << m_settings.m_biasT @@ -679,6 +680,9 @@ void HackRFInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getHackRfInputSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getHackRfInputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { int fcPos = response.getHackRfInputSettings()->getFcPos(); @@ -731,6 +735,7 @@ void HackRFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getHackRfInputSettings()->setLnaGain(settings.m_lnaGain); response.getHackRfInputSettings()->setVgaGain(settings.m_vgaGain); response.getHackRfInputSettings()->setLog2Decim(settings.m_log2Decim); + response.getHackRfInputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getHackRfInputSettings()->setFcPos(settings.m_fcPos); response.getHackRfInputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getHackRfInputSettings()->setBiasT(settings.m_biasT ? 1 : 0); @@ -846,6 +851,9 @@ void HackRFInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgHackRFInputSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgHackRFInputSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgHackRFInputSettings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 750b820de..6a0ff6b3a 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -1430,6 +1430,7 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc << " ADC sample rate with hard decimation: " << loc.toString(m_settings.m_devSampleRate*(1<(m_settings.m_lpfBW)) << " m_lpfFIRBW: " << loc.toString(static_cast(m_settings.m_lpfFIRBW)) @@ -1524,6 +1525,9 @@ void LimeSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2SoftDecim")) { settings.m_log2SoftDecim = response.getLimeSdrInputSettings()->getLog2SoftDecim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getLimeSdrInputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("lpfBW")) { settings.m_lpfBW = response.getLimeSdrInputSettings()->getLpfBw(); } @@ -1588,6 +1592,7 @@ void LimeSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getLimeSdrInputSettings()->setLnaGain(settings.m_lnaGain); response.getLimeSdrInputSettings()->setLog2HardDecim(settings.m_log2HardDecim); response.getLimeSdrInputSettings()->setLog2SoftDecim(settings.m_log2SoftDecim); + response.getLimeSdrInputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getLimeSdrInputSettings()->setLpfBw(settings.m_lpfBW); response.getLimeSdrInputSettings()->setLpfFirEnable(settings.m_lpfFIREnable ? 1 : 0); response.getLimeSdrInputSettings()->setLpfFirbw(settings.m_lpfFIRBW); @@ -1775,6 +1780,9 @@ void LimeSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2SoftDecim") || force) { swgLimeSdrInputSettings->setLog2SoftDecim(settings.m_log2SoftDecim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgLimeSdrInputSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("lpfBW") || force) { swgLimeSdrInputSettings->setLpfBw(settings.m_lpfBW); } diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index 2c0d5bd8c..a7f0d93a4 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -467,6 +467,7 @@ bool PerseusInput::applySettings(const PerseusSettings& settings, bool force) << " m_LOppmTenths: " << m_settings.m_LOppmTenths << " m_devSampleRateIndex: " << m_settings.m_devSampleRateIndex << " m_log2Decim: " << m_settings.m_log2Decim + << " m_iqOrder: " << m_settings.m_iqOrder << " m_transverterMode: " << m_settings.m_transverterMode << " m_transverterDeltaFrequency: " << m_settings.m_transverterDeltaFrequency << " m_adcDither: " << m_settings.m_adcDither @@ -587,6 +588,9 @@ void PerseusInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getPerseusSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getPerseusSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("adcDither")) { settings.m_adcDither = response.getPerseusSettings()->getAdcDither() != 0; } @@ -641,6 +645,7 @@ void PerseusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getPerseusSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getPerseusSettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); response.getPerseusSettings()->setLog2Decim(settings.m_log2Decim); + response.getPerseusSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getPerseusSettings()->setAdcDither(settings.m_adcDither ? 1 : 0); response.getPerseusSettings()->setAdcPreamp(settings.m_adcPreamp ? 1 : 0); response.getPerseusSettings()->setWideBand(settings.m_wideBand ? 1 : 0); @@ -700,6 +705,9 @@ void PerseusInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgPerseusSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgPerseusSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("adcDither") || force) { swgPerseusSettings->setAdcDither(settings.m_adcDither ? 1 : 0); } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index beefa108a..e9fd59c0b 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -977,6 +977,9 @@ void PlutoSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getPlutoSdrInputSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getPlutoSdrInputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("lpfBW")) { settings.m_lpfBW = response.getPlutoSdrInputSettings()->getLpfBw(); } @@ -1074,6 +1077,7 @@ void PlutoSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getPlutoSdrInputSettings()->setHwRfdcBlock(settings.m_hwRFDCBlock ? 1 : 0); response.getPlutoSdrInputSettings()->setHwIqCorrection(settings.m_hwIQCorrection ? 1 : 0); response.getPlutoSdrInputSettings()->setLog2Decim(settings.m_log2Decim); + response.getPlutoSdrInputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getPlutoSdrInputSettings()->setLpfBw(settings.m_lpfBW); response.getPlutoSdrInputSettings()->setGain(settings.m_gain); response.getPlutoSdrInputSettings()->setAntennaPath((int) settings.m_antennaPath); @@ -1165,6 +1169,9 @@ void PlutoSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("log2Decim") || force) { swgPlutoSdrInputSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgPlutoSdrInputSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("lpfBW") || force) { swgPlutoSdrInputSettings->setLpfBw(settings.m_lpfBW); } diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index c3393df0f..577e30f74 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -722,6 +722,9 @@ void RTLSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getRtlSdrSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getRtlSdrSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("lowSampleRate")) { settings.m_lowSampleRate = response.getRtlSdrSettings()->getLowSampleRate() != 0; } @@ -768,6 +771,7 @@ void RTLSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getRtlSdrSettings()->setIqImbalance(settings.m_iqImbalance ? 1 : 0); response.getRtlSdrSettings()->setLoPpmCorrection(settings.m_loPpmCorrection); response.getRtlSdrSettings()->setLog2Decim(settings.m_log2Decim); + response.getRtlSdrSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getRtlSdrSettings()->setLowSampleRate(settings.m_lowSampleRate ? 1 : 0); response.getRtlSdrSettings()->setNoModMode(settings.m_noModMode ? 1 : 0); response.getRtlSdrSettings()->setOffsetTuning(settings.m_offsetTuning ? 1 : 0); @@ -912,6 +916,9 @@ void RTLSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgRtlSdrSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgRtlSdrSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("lowSampleRate") || force) { swgRtlSdrSettings->setLowSampleRate(settings.m_lowSampleRate); } diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index 998839c4d..e195d49e6 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -790,6 +790,9 @@ void SDRPlayInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getSdrPlaySettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getSdrPlaySettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { int fcPos = response.getSdrPlaySettings()->getFcPos(); @@ -841,6 +844,7 @@ void SDRPlayInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getSdrPlaySettings()->setBandwidthIndex(settings.m_bandwidthIndex); response.getSdrPlaySettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex); response.getSdrPlaySettings()->setLog2Decim(settings.m_log2Decim); + response.getSdrPlaySettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getSdrPlaySettings()->setFcPos((int) settings.m_fcPos); response.getSdrPlaySettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getSdrPlaySettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); @@ -950,6 +954,9 @@ void SDRPlayInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("log2Decim") || force) { swgSDRPlaySettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgSDRPlaySettings->setIqOrder(settings.m_iqOrder); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgSDRPlaySettings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp index 286045c84..84d7ea895 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp @@ -1387,6 +1387,7 @@ bool SoapySDRInput::applySettings(const SoapySDRInputSettings& settings, bool fo << " m_centerFrequency: " << m_settings.m_centerFrequency << " Hz" << " m_LOppmTenths: " << m_settings.m_LOppmTenths << " m_log2Decim: " << m_settings.m_log2Decim + << " m_iqOrder: " << m_settings.m_iqOrder << " m_fcPos: " << m_settings.m_fcPos << " m_devSampleRate: " << m_settings.m_devSampleRate << " m_softDCCorrection: " << m_settings.m_softDCCorrection @@ -1489,6 +1490,9 @@ void SoapySDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2Decim")) { settings.m_log2Decim = response.getSoapySdrInputSettings()->getLog2Decim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getSoapySdrInputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("fcPos")) { settings.m_fcPos = static_cast(response.getSoapySdrInputSettings()->getFcPos()); } @@ -1697,6 +1701,7 @@ void SoapySDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getSoapySdrInputSettings()->setLOppmTenths(settings.m_LOppmTenths); response.getSoapySdrInputSettings()->setDevSampleRate(settings.m_devSampleRate); response.getSoapySdrInputSettings()->setLog2Decim(settings.m_log2Decim); + response.getSoapySdrInputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getSoapySdrInputSettings()->setFcPos((int) settings.m_fcPos); response.getSoapySdrInputSettings()->setSoftDcCorrection(settings.m_softDCCorrection ? 1 : 0); response.getSoapySdrInputSettings()->setSoftIqCorrection(settings.m_softIQCorrection ? 1 : 0); @@ -2018,6 +2023,9 @@ void SoapySDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("log2Decim") || force) { swgSoapySDRInputSettings->setLog2Decim(settings.m_log2Decim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgSoapySDRInputSettings->setIqOrder(settings.m_iqOrder); + } if (deviceSettingsKeys.contains("fcPos") || force) { swgSoapySDRInputSettings->setFcPos((int) settings.m_fcPos); } diff --git a/plugins/samplesource/xtrxinput/xtrxinput.cpp b/plugins/samplesource/xtrxinput/xtrxinput.cpp index cb3abebca..3878b1fc1 100644 --- a/plugins/samplesource/xtrxinput/xtrxinput.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinput.cpp @@ -1375,6 +1375,9 @@ void XTRXInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("log2SoftDecim")) { settings.m_log2SoftDecim = response.getXtrxInputSettings()->getLog2SoftDecim(); } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getXtrxInputSettings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("lpfBW")) { settings.m_lpfBW = response.getXtrxInputSettings()->getLpfBw(); } @@ -1436,6 +1439,7 @@ void XTRXInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& respo response.getXtrxInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getXtrxInputSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); response.getXtrxInputSettings()->setLog2SoftDecim(settings.m_log2SoftDecim); + response.getXtrxInputSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getXtrxInputSettings()->setLpfBw(settings.m_lpfBW); response.getXtrxInputSettings()->setGain(settings.m_gain); response.getXtrxInputSettings()->setNcoEnable(settings.m_ncoEnable ? 1 : 0); @@ -1591,6 +1595,9 @@ void XTRXInput::webapiReverseSendSettings(QList& deviceSettingsKeys, co if (deviceSettingsKeys.contains("log2SoftDecim") || force) { swgXtrxInputSettings->setLog2SoftDecim(settings.m_log2SoftDecim); } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgXtrxInputSettings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } if (deviceSettingsKeys.contains("ncoEnable") || force) { swgXtrxInputSettings->setNcoEnable(settings.m_ncoEnable ? 1 : 0); }