mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-04-19 14:06:23 -04:00
IQ swap: REST API: implementation in MIMO plugins
This commit is contained in:
parent
c6f31d0aa7
commit
05dbe94ae5
@ -173,6 +173,7 @@ bool BladeRF2MIMO::startRx()
|
||||
m_sourceThread->setFifo(&m_sampleMIFifo);
|
||||
m_sourceThread->setFcPos(m_settings.m_fcPosRx);
|
||||
m_sourceThread->setLog2Decimation(m_settings.m_log2Decim);
|
||||
m_sourceThread->setIQOrder(m_settings.m_iqOrder);
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
@ -444,6 +445,7 @@ bool BladeRF2MIMO::applySettings(const BladeRF2MIMOSettings& settings, bool forc
|
||||
<< " m_LOppmTenths: " << settings.m_LOppmTenths
|
||||
<< " m_rxCenterFrequency: " << settings.m_rxCenterFrequency
|
||||
<< " m_log2Decim: " << settings.m_log2Decim
|
||||
<< " m_iqOrder: " << settings.m_iqOrder
|
||||
<< " m_fcPosRx: " << settings.m_fcPosRx
|
||||
<< " m_rxBandwidth: " << settings.m_rxBandwidth
|
||||
<< " m_rx0GainMode: " << settings.m_rx0GainMode
|
||||
@ -567,6 +569,17 @@ bool BladeRF2MIMO::applySettings(const BladeRF2MIMOSettings& settings, bool forc
|
||||
}
|
||||
}
|
||||
|
||||
if ((m_settings.m_iqOrder != settings.m_iqOrder) || force)
|
||||
{
|
||||
reverseAPIKeys.append("iqOrder");
|
||||
|
||||
if (m_sourceThread)
|
||||
{
|
||||
m_sourceThread->setIQOrder(settings.m_iqOrder);
|
||||
qDebug() << "BladeRF2MIMO::applySettings: set IQ order to " << (settings.m_iqOrder ? "IQ" : "QI");
|
||||
}
|
||||
}
|
||||
|
||||
if ((m_settings.m_fcPosTx != settings.m_fcPosTx) || force)
|
||||
{
|
||||
reverseAPIKeys.append("fcPosTx");
|
||||
@ -1049,6 +1062,9 @@ void BladeRF2MIMO::webapiUpdateDeviceSettings(
|
||||
if (deviceSettingsKeys.contains("log2Decim")) {
|
||||
settings.m_log2Decim = response.getBladeRf2MimoSettings()->getLog2Decim();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder")) {
|
||||
settings.m_iqOrder = response.getBladeRf2MimoSettings()->getIqOrder() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("fcPosRx")) {
|
||||
settings.m_fcPosRx = static_cast<BladeRF2MIMOSettings::fcPos_t>(response.getBladeRf2MimoSettings()->getFcPosRx());
|
||||
}
|
||||
@ -1135,6 +1151,7 @@ void BladeRF2MIMO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re
|
||||
|
||||
response.getBladeRf2MimoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency);
|
||||
response.getBladeRf2MimoSettings()->setLog2Decim(settings.m_log2Decim);
|
||||
response.getBladeRf2MimoSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
response.getBladeRf2MimoSettings()->setFcPosRx((int) settings.m_fcPosRx);
|
||||
response.getBladeRf2MimoSettings()->setRxBandwidth(settings.m_rxBandwidth);
|
||||
response.getBladeRf2MimoSettings()->setRx0GainMode(settings.m_rx0GainMode);
|
||||
@ -1244,6 +1261,9 @@ void BladeRF2MIMO::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys,
|
||||
if (deviceSettingsKeys.contains("log2Decim") || force) {
|
||||
swgBladeRF2MIMOSettings->setLog2Decim(settings.m_log2Decim);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder") || force) {
|
||||
swgBladeRF2MIMOSettings->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("fcPosRx") || force) {
|
||||
swgBladeRF2MIMOSettings->setFcPosRx((int) settings.m_fcPosRx);
|
||||
}
|
||||
|
||||
@ -47,6 +47,7 @@ public:
|
||||
int getFcPos() const;
|
||||
void setFifo(SampleMIFifo *sampleFifo) { m_sampleFifo = sampleFifo; }
|
||||
SampleMIFifo *getFifo() { return m_sampleFifo; }
|
||||
void setIQOrder(bool iqOrder) { m_iqOrder = iqOrder; }
|
||||
|
||||
private:
|
||||
QMutex m_startWaitMutex;
|
||||
|
||||
@ -676,6 +676,7 @@ bool LimeSDRMIMO::applySettings(const LimeSDRMIMOSettings& settings, bool force)
|
||||
<< " m_rxCenterFrequency: " << settings.m_rxCenterFrequency
|
||||
<< " m_log2HardDecim: " << settings.m_log2HardDecim
|
||||
<< " m_log2SoftDecim: " << settings.m_log2SoftDecim
|
||||
<< " m_iqOrder: " << settings.m_iqOrder
|
||||
<< " m_dcBlock: " << settings.m_dcBlock
|
||||
<< " m_iqCorrection: " << settings.m_iqCorrection
|
||||
<< " m_rxTransverterMode: " << settings.m_rxTransverterMode
|
||||
@ -1838,6 +1839,7 @@ void LimeSDRMIMO::webapiFormatDeviceSettings(
|
||||
response.getLimeSdrMimoSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0);
|
||||
response.getLimeSdrMimoSettings()->setLog2HardDecim(settings.m_log2HardDecim);
|
||||
response.getLimeSdrMimoSettings()->setLog2SoftDecim(settings.m_log2SoftDecim);
|
||||
response.getLimeSdrMimoSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
response.getLimeSdrMimoSettings()->setNcoEnableRx(settings.m_ncoEnableRx ? 1 : 0);
|
||||
response.getLimeSdrMimoSettings()->setNcoFrequencyRx(settings.m_ncoFrequencyRx);
|
||||
response.getLimeSdrMimoSettings()->setRxTransverterDeltaFrequency(settings.m_rxTransverterDeltaFrequency);
|
||||
@ -1937,6 +1939,9 @@ void LimeSDRMIMO::webapiUpdateDeviceSettings(
|
||||
if (deviceSettingsKeys.contains("log2SoftDecim")) {
|
||||
settings.m_log2SoftDecim = response.getLimeSdrMimoSettings()->getLog2SoftDecim();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder")) {
|
||||
settings.m_iqOrder = response.getLimeSdrMimoSettings()->getIqOrder() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("ncoEnableRx")) {
|
||||
settings.m_ncoEnableRx = response.getLimeSdrMimoSettings()->getNcoEnableRx() != 0;
|
||||
}
|
||||
@ -2187,6 +2192,9 @@ void LimeSDRMIMO::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys,
|
||||
if (deviceSettingsKeys.contains("log2SoftDecim") || force) {
|
||||
swgLimeSdrMIMOSettings->setLog2SoftDecim(settings.m_log2SoftDecim);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder") || force) {
|
||||
swgLimeSdrMIMOSettings->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("ncoEnableRx") || force) {
|
||||
swgLimeSdrMIMOSettings->setNcoEnableRx(settings.m_ncoEnableRx ? 1 : 0);
|
||||
}
|
||||
|
||||
@ -1404,6 +1404,9 @@ void XTRXMIMO::webapiUpdateDeviceSettings(
|
||||
if (deviceSettingsKeys.contains("log2SoftDecim")) {
|
||||
settings.m_log2SoftDecim = response.getXtrxMimoSettings()->getLog2SoftDecim();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder")) {
|
||||
settings.m_iqOrder = response.getXtrxMimoSettings()->getIqOrder() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("rxCenterFrequency")) {
|
||||
settings.m_rxCenterFrequency = response.getXtrxMimoSettings()->getRxCenterFrequency();
|
||||
}
|
||||
@ -1540,6 +1543,7 @@ void XTRXMIMO::webapiFormatDeviceSettings(
|
||||
response.getXtrxMimoSettings()->setRxDevSampleRate(settings.m_rxDevSampleRate);
|
||||
response.getXtrxMimoSettings()->setLog2HardDecim(settings.m_log2HardDecim);
|
||||
response.getXtrxMimoSettings()->setLog2SoftDecim(settings.m_log2SoftDecim);
|
||||
response.getXtrxMimoSettings()->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
response.getXtrxMimoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency);
|
||||
response.getXtrxMimoSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0);
|
||||
response.getXtrxMimoSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0);
|
||||
@ -1705,6 +1709,9 @@ void XTRXMIMO::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys, con
|
||||
if (deviceSettingsKeys.contains("log2SoftDecim") || force) {
|
||||
swgXTRXMIMOSettings->setLog2SoftDecim(settings.m_log2SoftDecim);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqOrder") || force) {
|
||||
swgXTRXMIMOSettings->setIqOrder(settings.m_iqOrder ? 1 : 0);
|
||||
}
|
||||
if (deviceSettingsKeys.contains("rxCenterFrequency") || force) {
|
||||
swgXTRXMIMOSettings->setRxCenterFrequency(settings.m_rxCenterFrequency);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user