From 57a555140143f08f647be9d84a06ebd780e5e20b Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 6 Feb 2022 20:30:00 +0100 Subject: [PATCH] SDRPlayV3: implemented transverter feature. Updated documentation --- doc/img/SDRPlayV3_plugin.png | Bin 12128 -> 48300 bytes doc/img/SDRPlayV3_plugin.xcf | Bin 0 -> 214592 bytes plugins/samplesource/sdrplayv3/readme.md | 68 ++++++++---- .../samplesource/sdrplayv3/sdrplayv3gui.cpp | 33 +++++- plugins/samplesource/sdrplayv3/sdrplayv3gui.h | 2 + .../samplesource/sdrplayv3/sdrplayv3gui.ui | 26 ++++- .../samplesource/sdrplayv3/sdrplayv3input.cpp | 44 +++++++- .../sdrplayv3/sdrplayv3settings.cpp | 10 ++ .../sdrplayv3/sdrplayv3settings.h | 3 + .../sdrplayv3/sdrplayv3thread.cpp | 102 +++++++++++++++++- .../samplesource/sdrplayv3/sdrplayv3thread.h | 4 + sdrbase/resources/webapi/doc/html2/index.html | 13 ++- .../webapi/doc/swagger/include/SDRPlayV3.yaml | 11 ++ .../api/swagger/include/SDRPlayV3.yaml | 11 ++ swagger/sdrangel/code/html2/index.html | 13 ++- .../code/qt5/client/SWGSDRPlayV3Settings.cpp | 69 ++++++++++++ .../code/qt5/client/SWGSDRPlayV3Settings.h | 18 ++++ 17 files changed, 395 insertions(+), 32 deletions(-) create mode 100644 doc/img/SDRPlayV3_plugin.xcf diff --git a/doc/img/SDRPlayV3_plugin.png b/doc/img/SDRPlayV3_plugin.png index 42558d3a0789d5118a93004d9137c35bc655edbd..a3b9cf6b5688f7494e16f3fb3b4b413ab924d675 100644 GIT binary patch literal 48300 zcmV(rK<>YZP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+P$4wmgG3LUH>_XHv|G88V&~pz_m034PSeM9@$l< zs-C2!ipp>gb2AbIZgbA<{8<0%Piy<=V?;m&FNCJujkJ-q4u>*M_T?|o-G-gkXZ z*RP_4{yfyLN8I1>#)mCW`(uSamH#r|*Zt?_Pdkv_!I95%oDY9SxI^Sv-f)E(dU(Uy zUq=`$@ro-}zQ#CW+OM@#;~hsjk9|)332&_FPBS%5YjC`YSL1JM3H!eHzTF6o8_&Qy zW8h-pJO23p=FdM~=zTr!5VpX62f(_bg32;HIsfKemk04nj`H5%Uw{7kKhHIBf_ZOq z;{p5me3y7~_>nE;DD8tzyfO3j)3s3N&jr{b?wwgoNSwe~Ldv0pv&L9MU>_Uj)45PX zY2w2Xgq-7KmGMewON}jhZ$4AQes9e2dl{R>LF80Wq{abt&g#OjAwTtM$WYHIUpeQJ zYi{|@y`*xLTuP}$e1^x6*2BN4s0U
$`7U?8+kM}?bJNb1 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 O~0El{a9 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 e{&!vB6&v%#X<6d(+4C(QO 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 D_G2At diff --git a/doc/img/SDRPlayV3_plugin.xcf b/doc/img/SDRPlayV3_plugin.xcf new file mode 100644 index 0000000000000000000000000000000000000000..3138f540334765414e07fc0a4767d68e6528c621 GIT binary patch literal 214592 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 ZQlemrgVfSW4w9=tISUoD{30rM003kbjAZ}- literal 0 HcmV?d00001 diff --git a/plugins/samplesource/sdrplayv3/readme.md b/plugins/samplesource/sdrplayv3/readme.md index 7c3ba4883..a24083e4c 100644 --- a/plugins/samplesource/sdrplayv3/readme.md +++ b/plugins/samplesource/sdrplayv3/readme.md @@ -40,35 +40,39 @@ Selects which tuner is used for input. For RSPduo this can be 1 or 2. Other RSP Selects which antenna port is used. The antenna ports available depend upon the RSP device and tuner selected. -

7: DC offset correction

+

7. Transverter mode open dialog

+ +This button opens a dialog to set the transverter mode frequency translation options. The details about this dialog can be found [here](../../../sdrgui/gui/transverterdialog.md) + +

8: DC offset correction

Check this button to enable DC offset correction. -

8: IQ imbalance correction

+

9: IQ imbalance correction

Check this button to enable IQ imbalance correction. -

9: External reference clock output

+

10: External reference clock output

Enable reference clock output. This is only available for RSP2 and DSPduo. -

10: Bias tee

+

11: Bias tee

Enable bias tee. This is only available for RSP1A, RSP2, RSPduo tuner 2 and RSPdx. -

11: AM notch filter

+

12: AM notch filter

Enable AM notch filter. This is only available for RSPduo tuner 1. -

12: MW/FM notch filter

+

13: MW/FM notch filter

Enable MW/FM notch filter. This is only available for RSP1A, RSP2, RSPduo and RSPdx. -

13: DAB notch filter

+

14: DAB notch filter

Enable DAB notch filter. This is only available for RSP1A, RSPduo and RSPdx. -

14: IF bandwidth

+

15: IF bandwidth

This selects the IF filter bandwidth. The following bandwidths are available: @@ -81,31 +85,49 @@ This selects the IF filter bandwidth. The following bandwidths are available: - 7000 kHz - 8000 kHz -

15: IF frequency

+

16: IF frequency

Warning there is no good support of non zero IF. **It is advised to keep zero IF for normal use**. +Some tricks are provided for expert use of non-zero IFs. You may want to start from these settings to experiment more with it. + This selects the IF frequency between these values: - **0 for zero IF** - - 450 kHz. Some practical tricks that may or may not work: - - Frequency is shifted by -450 kHZ. - - Do not set center frequency lower than 450 kHz down the target frequency - - Use at least 1536 kHz bandwidth (14) - - After sample rate change (16) you may need to start/stop device to get thins right. - - Use decimation > 1 (17) with Inf position (18) - - 1620 kHz: do not use - - 2048 kHz: do not use + - 450 kHz. + - Move center frequency by -450 kHZ (3). + - Direct frequency reading is -450 kHz off from real Rx frequency. + - You may use the transverter mode (7) with a shift of +450 kHz to correct the frequency reading + - If you already use the transverter mode for transverter work just add 450 kHz to the current shift + - Use 1536 kHz bandwidth (15) + - After sample rate change (17) you may need to start/stop device to get things right. + - Use decimation > 1 (18) with Inf position (19) + - 1620 kHz: + - Move center frequency by -1620 kHz (3). + - Direct frequency reading is -1620 kHz off from real Rx frequency. + - You may use the transverter mode (7) with a shift of +1620 kHz to correct the frequency reading + - If you already use the transverter mode for transverter work just add 1620 kHz to the current shift + - Use 5000 kHz bandwidth (15) + - After sample rate change (17) you may need to start/stop device to get things right. + - Use decimation > 1 (18) with Inf position (19) + - 2048 kHz: + - Move center frequency by -2048 kHz (3). + - Direct frequency reading is -2048 kHz off from real Rx frequency. + - You may use the transverter mode (7) with a shift of +2048 kHz to correct the frequency reading + - If you already use the transverter mode for transverter work just add 2048 kHz to the current shift + - Use 5000 kHz bandwidth (15) + - After sample rate change (17) you may need to start/stop device to get things right. + - Use decimation > 1 (18) with Inf position (19) -

16: Sample rate

+

17: Sample rate

Sets the ADC IQ sample rats from 2M to 10.66M Hz. -

17: Decimation

+

18: Decimation

Decimation in powers of two from 1 (no decimation) to 64. -

18: Decimated bandpass center frequency position relative the SDRplay center frequency

+

19: Decimated bandpass center frequency position relative the SDRplay center frequency

- **Cen**: the decimation operation takes place around the SDRplay center frequency Fs. - **Inf**: the decimation operation takes place around Fs - Fc. @@ -116,14 +138,14 @@ With SR as the sample rate before decimation Fc is calculated as: - if decimation n is 4 or lower: Fc = SR/2^(log2(n)-1). The device center frequency is on the side of the baseband. You need a RF filter bandwidth at least twice the baseband. - if decimation n is 8 or higher: Fc = SR/n. The device center frequency is half the baseband away from the side of the baseband. You need a RF filter bandwidth at least 3 times the baseband. -

19. RF gain setting

+

20. RF gain setting

Sets the LNA and mixer gain dB. The settings available depended upon the RSP device and frequency band. -

20. IF AGC

+

21. IF AGC

Check this button to enable IF automatic gain control. -

21. IF gain

+

22. IF gain

Manual IF gain from 0 to -59 dB. Only enabled when IF AGC is disabled. diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp index 5e28a1e9a..7b78455b4 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3gui.cpp @@ -44,7 +44,7 @@ SDRPlayV3Gui::SDRPlayV3Gui(DeviceUISet *deviceUISet, QWidget* parent) : ui->setupUi(this); ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold)); - ui->centerFrequency->setValueRange(7, 1U, 2000000U); + updateFrequencyLimits(); ui->ifFrequency->clear(); for (unsigned int i = 0; i < SDRPlayV3IF::getNbIFs(); i++) @@ -218,8 +218,28 @@ void SDRPlayV3Gui::updateSampleRateAndFrequency() ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000)); } +void SDRPlayV3Gui::updateFrequencyLimits() +{ + // values in kHz + qint64 deltaFrequency = m_settings.m_transverterMode ? m_settings.m_transverterDeltaFrequency/1000 : 0; + qint64 minLimit = 1U + deltaFrequency; + qint64 maxLimit = 2000000U + deltaFrequency; + + minLimit = minLimit < 0 ? 0 : minLimit > 9999999 ? 9999999 : minLimit; + maxLimit = maxLimit < 0 ? 0 : maxLimit > 9999999 ? 9999999 : maxLimit; + + qDebug("SDRPlayV3Gui::updateFrequencyLimits: delta: %lld min: %lld max: %lld", deltaFrequency, minLimit, maxLimit); + + ui->centerFrequency->setValueRange(7, minLimit, maxLimit); +} + void SDRPlayV3Gui::displaySettings() { + ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency); + ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode); + ui->transverter->setIQOrder(m_settings.m_iqOrder); + updateFrequencyLimits(); + ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->ppm->setValue(m_settings.m_LOppmTenths); @@ -471,6 +491,17 @@ void SDRPlayV3Gui::on_startStop_toggled(bool checked) } } +void SDRPlayV3Gui::on_transverter_clicked() +{ + m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); + m_settings.m_transverterDeltaFrequency = ui->transverter->getDeltaFrequency(); + m_settings.m_iqOrder = ui->transverter->getIQOrder(); + qDebug("SDRPlayV3Gui::on_transverter_clicked: %lld Hz %s", m_settings.m_transverterDeltaFrequency, m_settings.m_transverterMode ? "on" : "off"); + updateFrequencyLimits(); + m_settings.m_centerFrequency = ui->centerFrequency->getValueNew()*1000; + sendSettings(); +} + void SDRPlayV3Gui::openDeviceSettingsDialog(const QPoint& p) { BasicDeviceSettingsDialog dialog(this); diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3gui.h b/plugins/samplesource/sdrplayv3/sdrplayv3gui.h index e91e79af9..0c790c961 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3gui.h +++ b/plugins/samplesource/sdrplayv3/sdrplayv3gui.h @@ -67,6 +67,7 @@ private: void updateLNAValues(); void sendSettings(); void updateSampleRateAndFrequency(); + void updateFrequencyLimits(); bool handleMessage(const Message& message); private slots: @@ -93,6 +94,7 @@ private slots: void on_gainIFAGC_toggled(bool checked); void on_gainIF_valueChanged(int value); void on_startStop_toggled(bool checked); + void on_transverter_clicked(); void openDeviceSettingsDialog(const QPoint& p); }; diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3gui.ui b/plugins/samplesource/sdrplayv3/sdrplayv3gui.ui index a7f57a614..f4665f4f5 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3gui.ui +++ b/plugins/samplesource/sdrplayv3/sdrplayv3gui.ui @@ -6,7 +6,7 @@ 0 0 - 317 + 409 260 @@ -278,6 +278,25 @@ + + + + + 24 + 24 + + + + Transverter frequency translation dialog + + + X + + + false + + + @@ -791,6 +810,11 @@
gui/valuedial.h
1 + + TransverterButton + QPushButton +
gui/transverterbutton.h
+
diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp index 2d9fa6433..bc9cfd80d 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3input.cpp @@ -429,20 +429,37 @@ bool SDRPlayV3Input::applySettings(const SDRPlayV3Settings& settings, bool forwa if ((m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force) { reverseAPIKeys.append("LOppmTenths"); } + if ((m_settings.m_transverterMode != settings.m_transverterMode) || force) { + reverseAPIKeys.append("transverterMode"); + } + if ((m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency) || force) { + reverseAPIKeys.append("transverterDeltaFrequency"); + } + + if ((m_settings.m_iqOrder != settings.m_iqOrder) || force) + { + reverseAPIKeys.append("iqOrder"); + + if (m_sdrPlayThread) { + m_sdrPlayThread->setIQOrder(settings.m_iqOrder); + } + } if ((m_settings.m_centerFrequency != settings.m_centerFrequency) || (m_settings.m_LOppmTenths != settings.m_LOppmTenths) || (m_settings.m_fcPos != settings.m_fcPos) - || (m_settings.m_log2Decim != settings.m_log2Decim) || force) + || (m_settings.m_log2Decim != settings.m_log2Decim) + || (m_settings.m_transverterMode != settings.m_transverterMode) + || (m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency) || force) { qint64 deviceCenterFrequency = DeviceSampleSource::calculateDeviceCenterFrequency( settings.m_centerFrequency, - 0, + settings.m_transverterDeltaFrequency, settings.m_log2Decim, (DeviceSampleSource::fcPos_t) settings.m_fcPos, settings.m_devSampleRate, DeviceSampleSource::FrequencyShiftScheme::FSHIFT_STD, - false); + settings.m_transverterMode); forwardChange = true; @@ -862,6 +879,15 @@ void SDRPlayV3Input::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("antenna")) { settings.m_antenna = response.getSdrPlayV3Settings()->getAntenna(); } + if (deviceSettingsKeys.contains("transverterDeltaFrequency")) { + settings.m_transverterDeltaFrequency = response.getSdrPlayV3Settings()->getTransverterDeltaFrequency(); + } + if (deviceSettingsKeys.contains("transverterMode")) { + settings.m_transverterMode = response.getSdrPlayV3Settings()->getTransverterMode() != 0; + } + if (deviceSettingsKeys.contains("iqOrder")) { + settings.m_iqOrder = response.getSdrPlayV3Settings()->getIqOrder() != 0; + } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getSdrPlayV3Settings()->getUseReverseApi() != 0; } @@ -896,6 +922,9 @@ void SDRPlayV3Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response.getSdrPlayV3Settings()->setExtRef(settings.m_extRef); response.getSdrPlayV3Settings()->setTuner(settings.m_tuner); response.getSdrPlayV3Settings()->setAntenna(settings.m_antenna); + response.getSdrPlayV3Settings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); + response.getSdrPlayV3Settings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); + response.getSdrPlayV3Settings()->setIqOrder(settings.m_iqOrder ? 1 : 0); response.getSdrPlayV3Settings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); @@ -1026,6 +1055,15 @@ void SDRPlayV3Input::webapiReverseSendSettings(QList& deviceSettingsKey if (deviceSettingsKeys.contains("antenna") || force) { swgSDRPlayV3Settings->setAntenna(settings.m_antenna); } + if (deviceSettingsKeys.contains("transverterDeltaFrequency") || force) { + swgSDRPlayV3Settings->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); + } + if (deviceSettingsKeys.contains("transverterMode") || force) { + swgSDRPlayV3Settings->setTransverterMode(settings.m_transverterMode ? 1 : 0); + } + if (deviceSettingsKeys.contains("iqOrder") || force) { + swgSDRPlayV3Settings->setIqOrder(settings.m_iqOrder ? 1 : 0); + } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp index f0526b87f..3787f473b 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3settings.cpp @@ -47,6 +47,9 @@ void SDRPlayV3Settings::resetToDefaults() m_tuner = 0; m_antenna = 0; m_extRef = false; + m_transverterMode = false; + m_iqOrder = true; + m_transverterDeltaFrequency = 0; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -79,6 +82,10 @@ QByteArray SDRPlayV3Settings::serialize() const s.writeS32(23, m_tuner); s.writeS32(24, m_antenna); s.writeBool(25, m_extRef); + s.writeBool(26, m_transverterMode); + s.writeS64(27, m_transverterDeltaFrequency); + s.writeBool(28, m_iqOrder); + return s.final(); } @@ -128,6 +135,9 @@ bool SDRPlayV3Settings::deserialize(const QByteArray& data) d.readS32(23, &m_tuner, 0); d.readS32(24, &m_antenna, 0); d.readBool(25, &m_extRef, false); + d.readBool(26, &m_transverterMode, false); + d.readS64(27, &m_transverterDeltaFrequency, 0); + d.readBool(28, &m_iqOrder, true); return true; } diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3settings.h b/plugins/samplesource/sdrplayv3/sdrplayv3settings.h index 268d9326f..6a2ed2a90 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3settings.h +++ b/plugins/samplesource/sdrplayv3/sdrplayv3settings.h @@ -50,6 +50,9 @@ struct SDRPlayV3Settings { int m_tuner; int m_antenna; bool m_extRef; + bool m_transverterMode; + bool m_iqOrder; + qint64 m_transverterDeltaFrequency; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3thread.cpp b/plugins/samplesource/sdrplayv3/sdrplayv3thread.cpp index 6861757fe..7a2709cac 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3thread.cpp +++ b/plugins/samplesource/sdrplayv3/sdrplayv3thread.cpp @@ -33,7 +33,8 @@ SDRPlayV3Thread::SDRPlayV3Thread(sdrplay_api_DeviceT* dev, SampleSinkFifo* sampl m_sampleFifo(sampleFifo), m_samplerate(2000000), m_log2Decim(0), - m_fcPos(0) + m_fcPos(0), + m_iqOrder(true) { } @@ -149,7 +150,11 @@ void SDRPlayV3Thread::callbackHelper(short *xi, short *xq, sdrplay_api_StreamCbP iq[i*2+1] = xq[i]; } - thread->callbackIQ(iq, numSamples*2); + if (thread->m_iqOrder) { + thread->callbackIQ(iq, numSamples*2); + } else { + thread->callbackQI(iq, numSamples*2); + } } } @@ -245,3 +250,96 @@ void SDRPlayV3Thread::callbackIQ(const qint16* buf, qint32 len) m_sampleFifo->write(m_convertBuffer.begin(), it); } + +void SDRPlayV3Thread::callbackQI(const qint16* buf, qint32 len) +{ + SampleVector::iterator it = m_convertBuffer.begin(); + + if (m_log2Decim == 0) + { + m_decimatorsQI.decimate1(&it, buf, len); + } + else + { + if (m_fcPos == 0) // Infradyne + { + switch (m_log2Decim) + { + case 1: + m_decimatorsQI.decimate2_inf(&it, buf, len); + break; + case 2: + m_decimatorsQI.decimate4_inf(&it, buf, len); + break; + case 3: + m_decimatorsQI.decimate8_inf(&it, buf, len); + break; + case 4: + m_decimatorsQI.decimate16_inf(&it, buf, len); + break; + case 5: + m_decimatorsQI.decimate32_inf(&it, buf, len); + break; + case 6: + m_decimatorsQI.decimate64_inf(&it, buf, len); + break; + default: + break; + } + } + else if (m_fcPos == 1) // Supradyne + { + switch (m_log2Decim) + { + case 1: + m_decimatorsQI.decimate2_sup(&it, buf, len); + break; + case 2: + m_decimatorsQI.decimate4_sup(&it, buf, len); + break; + case 3: + m_decimatorsQI.decimate8_sup(&it, buf, len); + break; + case 4: + m_decimatorsQI.decimate16_sup(&it, buf, len); + break; + case 5: + m_decimatorsQI.decimate32_sup(&it, buf, len); + break; + case 6: + m_decimatorsQI.decimate64_sup(&it, buf, len); + break; + default: + break; + } + } + else // Centered + { + switch (m_log2Decim) + { + case 1: + m_decimatorsQI.decimate2_cen(&it, buf, len); + break; + case 2: + m_decimatorsQI.decimate4_cen(&it, buf, len); + break; + case 3: + m_decimatorsQI.decimate8_cen(&it, buf, len); + break; + case 4: + m_decimatorsQI.decimate16_cen(&it, buf, len); + break; + case 5: + m_decimatorsQI.decimate32_cen(&it, buf, len); + break; + case 6: + m_decimatorsQI.decimate64_cen(&it, buf, len); + break; + default: + break; + } + } + } + + m_sampleFifo->write(m_convertBuffer.begin(), it); +} diff --git a/plugins/samplesource/sdrplayv3/sdrplayv3thread.h b/plugins/samplesource/sdrplayv3/sdrplayv3thread.h index 2637263e6..2debf6320 100644 --- a/plugins/samplesource/sdrplayv3/sdrplayv3thread.h +++ b/plugins/samplesource/sdrplayv3/sdrplayv3thread.h @@ -41,6 +41,7 @@ public: void setSamplerate(int samplerate); void setLog2Decimation(unsigned int log2_decim); void setFcPos(int fcPos); + void setIQOrder(bool iqOrder) { m_iqOrder = iqOrder; } void resetRfChanged(); bool waitForRfChanged(); @@ -57,14 +58,17 @@ private: int m_samplerate; unsigned int m_log2Decim; int m_fcPos; + bool m_iqOrder; int m_rfChanged; static const unsigned int m_rfChangedTimeout = 500; Decimators m_decimatorsIQ; + Decimators m_decimatorsQI; void run(); void callbackIQ(const qint16* buf, qint32 len); + void callbackQI(const qint16* buf, qint32 len); static void callbackHelper(short *xi, short *xq, sdrplay_api_StreamCbParamsT *params, unsigned int numSamples, unsigned int reset, void *ctx); static void eventCallback(sdrplay_api_EventT eventId, sdrplay_api_TunerSelectT tuner, sdrplay_api_EventParamsT *params, void *cbContext); diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 36cf7fbd1..aac389257 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -10880,6 +10880,17 @@ margin-bottom: 20px; "antenna" : { "type" : "integer" }, + "transverterMode" : { + "type" : "integer" + }, + "transverterDeltaFrequency" : { + "type" : "integer", + "format" : "int64" + }, + "iqOrder" : { + "type" : "integer", + "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -52269,7 +52280,7 @@ except ApiException as e:
- Generated 2022-02-06T00:22:44.703+01:00 + Generated 2022-02-06T20:14:33.369+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml b/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml index 9ecdab669..db184656d 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SDRPlayV3.yaml @@ -38,6 +38,17 @@ SDRPlayV3Settings: type: integer antenna: type: integer + transverterMode: + type: integer + transverterDeltaFrequency: + type: integer + format: int64 + iqOrder: + type: integer + description: > + IQ samples order + * 0 - Q then I (swapped) + * 1 - I then Q (straight) useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml b/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml index 83b2606cf..6afb3ea82 100644 --- a/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml +++ b/swagger/sdrangel/api/swagger/include/SDRPlayV3.yaml @@ -38,6 +38,17 @@ SDRPlayV3Settings: type: integer antenna: type: integer + transverterMode: + type: integer + transverterDeltaFrequency: + type: integer + format: int64 + iqOrder: + type: integer + description: > + IQ samples order + * 0 - Q then I (swapped) + * 1 - I then Q (straight) useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 36cf7fbd1..aac389257 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -10880,6 +10880,17 @@ margin-bottom: 20px; "antenna" : { "type" : "integer" }, + "transverterMode" : { + "type" : "integer" + }, + "transverterDeltaFrequency" : { + "type" : "integer", + "format" : "int64" + }, + "iqOrder" : { + "type" : "integer", + "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -52269,7 +52280,7 @@ except ApiException as e:
- Generated 2022-02-06T00:22:44.703+01:00 + Generated 2022-02-06T20:14:33.369+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp index 777ae2e44..ddc012fa3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.cpp @@ -64,6 +64,12 @@ SWGSDRPlayV3Settings::SWGSDRPlayV3Settings() { m_tuner_isSet = false; antenna = 0; m_antenna_isSet = false; + transverter_mode = 0; + m_transverter_mode_isSet = false; + transverter_delta_frequency = 0L; + m_transverter_delta_frequency_isSet = false; + iq_order = 0; + m_iq_order_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -116,6 +122,12 @@ SWGSDRPlayV3Settings::init() { m_tuner_isSet = false; antenna = 0; m_antenna_isSet = false; + transverter_mode = 0; + m_transverter_mode_isSet = false; + transverter_delta_frequency = 0L; + m_transverter_delta_frequency_isSet = false; + iq_order = 0; + m_iq_order_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -145,6 +157,9 @@ SWGSDRPlayV3Settings::cleanup() { + + + if(reverse_api_address != nullptr) { @@ -201,6 +216,12 @@ SWGSDRPlayV3Settings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&antenna, pJson["antenna"], "qint32", ""); + ::SWGSDRangel::setValue(&transverter_mode, pJson["transverterMode"], "qint32", ""); + + ::SWGSDRangel::setValue(&transverter_delta_frequency, pJson["transverterDeltaFrequency"], "qint64", ""); + + ::SWGSDRangel::setValue(&iq_order, pJson["iqOrder"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -279,6 +300,15 @@ SWGSDRPlayV3Settings::asJsonObject() { if(m_antenna_isSet){ obj->insert("antenna", QJsonValue(antenna)); } + if(m_transverter_mode_isSet){ + obj->insert("transverterMode", QJsonValue(transverter_mode)); + } + if(m_transverter_delta_frequency_isSet){ + obj->insert("transverterDeltaFrequency", QJsonValue(transverter_delta_frequency)); + } + if(m_iq_order_isSet){ + obj->insert("iqOrder", QJsonValue(iq_order)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -475,6 +505,36 @@ SWGSDRPlayV3Settings::setAntenna(qint32 antenna) { this->m_antenna_isSet = true; } +qint32 +SWGSDRPlayV3Settings::getTransverterMode() { + return transverter_mode; +} +void +SWGSDRPlayV3Settings::setTransverterMode(qint32 transverter_mode) { + this->transverter_mode = transverter_mode; + this->m_transverter_mode_isSet = true; +} + +qint64 +SWGSDRPlayV3Settings::getTransverterDeltaFrequency() { + return transverter_delta_frequency; +} +void +SWGSDRPlayV3Settings::setTransverterDeltaFrequency(qint64 transverter_delta_frequency) { + this->transverter_delta_frequency = transverter_delta_frequency; + this->m_transverter_delta_frequency_isSet = true; +} + +qint32 +SWGSDRPlayV3Settings::getIqOrder() { + return iq_order; +} +void +SWGSDRPlayV3Settings::setIqOrder(qint32 iq_order) { + this->iq_order = iq_order; + this->m_iq_order_isSet = true; +} + qint32 SWGSDRPlayV3Settings::getUseReverseApi() { return use_reverse_api; @@ -574,6 +634,15 @@ SWGSDRPlayV3Settings::isSet(){ if(m_antenna_isSet){ isObjectUpdated = true; break; } + if(m_transverter_mode_isSet){ + isObjectUpdated = true; break; + } + if(m_transverter_delta_frequency_isSet){ + isObjectUpdated = true; break; + } + if(m_iq_order_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h index 7426749de..6df5cf747 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSDRPlayV3Settings.h @@ -96,6 +96,15 @@ public: qint32 getAntenna(); void setAntenna(qint32 antenna); + qint32 getTransverterMode(); + void setTransverterMode(qint32 transverter_mode); + + qint64 getTransverterDeltaFrequency(); + void setTransverterDeltaFrequency(qint64 transverter_delta_frequency); + + qint32 getIqOrder(); + void setIqOrder(qint32 iq_order); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -166,6 +175,15 @@ private: qint32 antenna; bool m_antenna_isSet; + qint32 transverter_mode; + bool m_transverter_mode_isSet; + + qint64 transverter_delta_frequency; + bool m_transverter_delta_frequency_isSet; + + qint32 iq_order; + bool m_iq_order_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;