diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp index 3ae35cd97..3b17408cc 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemod.cpp @@ -297,6 +297,9 @@ void ChirpChatDemod::applySettings(const ChirpChatDemodSettings& settings, bool if ((settings.m_deBits != m_settings.m_deBits) || force) { reverseAPIKeys.append("deBits"); } + if ((settings.m_fftWindow != m_settings.m_fftWindow) || force) { + reverseAPIKeys.append("fftWindow"); + } if ((settings.m_spreadFactor != m_settings.m_spreadFactor) || (settings.m_deBits != m_settings.m_deBits) || force) { @@ -453,6 +456,9 @@ void ChirpChatDemod::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("deBits")) { settings.m_deBits = response.getChirpChatDemodSettings()->getDeBits(); } + if (channelSettingsKeys.contains("fftWindow")) { + settings.m_fftWindow = (FFTWindow::Function) response.getChirpChatDemodSettings()->getFftWindow(); + } if (channelSettingsKeys.contains("codingScheme")) { settings.m_codingScheme = (ChirpChatDemodSettings::CodingScheme) response.getChirpChatDemodSettings()->getCodingScheme(); } @@ -537,6 +543,7 @@ void ChirpChatDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings response.getChirpChatDemodSettings()->setBandwidthIndex(settings.m_bandwidthIndex); response.getChirpChatDemodSettings()->setSpreadFactor(settings.m_spreadFactor); response.getChirpChatDemodSettings()->setDeBits(settings.m_deBits); + response.getChirpChatDemodSettings()->setFftWindow((int) settings.m_fftWindow); response.getChirpChatDemodSettings()->setCodingScheme((int) settings.m_codingScheme); response.getChirpChatDemodSettings()->setDecodeActive(settings.m_decodeActive ? 1 : 0); response.getChirpChatDemodSettings()->setEomSquelchTenths(settings.m_eomSquelchTenths); @@ -629,6 +636,9 @@ void ChirpChatDemod::webapiReverseSendSettings(QList& channelSettingsKe if (channelSettingsKeys.contains("deBits") || force) { swgChirpChatDemodSettings->setDeBits(settings.m_deBits); } + if (channelSettingsKeys.contains("fftWindow") || force) { + swgChirpChatDemodSettings->setFftWindow((int) settings.m_fftWindow); + } if (channelSettingsKeys.contains("codingScheme") || force) { swgChirpChatDemodSettings->setCodingScheme((int) settings.m_codingScheme); } diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.cpp index c242dbdd0..3821f7e03 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.cpp @@ -211,6 +211,12 @@ void ChirpChatDemodGUI::on_deBits_valueChanged(int value) applySettings(); } +void ChirpChatDemodGUI::on_fftWindow_currentIndexChanged(int index) +{ + m_settings.m_fftWindow = (FFTWindow::Function) index; + applySettings(); +} + void ChirpChatDemodGUI::on_preambleChirps_valueChanged(int value) { m_settings.m_preambleChirps = value; @@ -484,6 +490,7 @@ void ChirpChatDemodGUI::displaySettings() ui->Spread->setValue(m_settings.m_spreadFactor); ui->SpreadText->setText(tr("%1").arg(m_settings.m_spreadFactor)); ui->deBits->setValue(m_settings.m_deBits); + ui->fftWindow->setCurrentIndex((int) m_settings.m_fftWindow); ui->deBitsText->setText(tr("%1").arg(m_settings.m_deBits)); ui->preambleChirps->setValue(m_settings.m_preambleChirps); ui->preambleChirpsText->setText(tr("%1").arg(m_settings.m_preambleChirps)); diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.h b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.h index bd349f308..423f7390f 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.h +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.h @@ -59,6 +59,7 @@ private slots: void on_BW_valueChanged(int value); void on_Spread_valueChanged(int value); void on_deBits_valueChanged(int value); + void on_fftWindow_currentIndexChanged(int index); void on_preambleChirps_valueChanged(int value); void on_scheme_currentIndexChanged(int index); void on_mute_toggled(bool checked); diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.ui b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.ui index 93341611c..78351037b 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodgui.ui +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodgui.ui @@ -59,7 +59,7 @@ - 2 + 130 70 22 16 @@ -100,9 +100,9 @@ - 30 + 150 70 - 101 + 70 16 @@ -131,7 +131,7 @@ - 140 + 220 70 20 16 @@ -169,7 +169,7 @@ - 190 + 260 70 22 16 @@ -182,7 +182,7 @@ - 320 + 360 70 15 16 @@ -204,9 +204,9 @@ - 220 + 290 70 - 91 + 70 16 @@ -340,7 +340,7 @@ - 480 + 490 70 20 16 @@ -362,9 +362,9 @@ - 350 + 390 70 - 32 + 25 16 @@ -375,10 +375,10 @@ - 380 + 420 70 - 91 - 16 + 60 + 20 @@ -530,6 +530,69 @@ N + + + + 50 + 70 + 60 + 18 + + + + + 8 + + + + + Bart + + + + + B-H + + + + + FT + + + + + Ham + + + + + Han + + + + + Rec + + + + + Kai + + + + + + + 2 + 70 + 41 + 16 + + + + FFTW + + diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.cpp index 14fbe2a76..817ccf733 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.cpp @@ -24,6 +24,9 @@ #include "chirpchatdemodsettings.h" const int ChirpChatDemodSettings::bandwidths[] = { + 325, // 384k / 1024 + 750, // 384k / 512 + 1500, // 384k / 256 2604, // 333k / 128 3125, // 400k / 128 3906, // 500k / 128 @@ -49,7 +52,7 @@ const int ChirpChatDemodSettings::bandwidths[] = { 400000, // 400k / 1 500000 // 500k / 1 }; -const int ChirpChatDemodSettings::nbBandwidths = 3*8; +const int ChirpChatDemodSettings::nbBandwidths = 3*8 + 3; const int ChirpChatDemodSettings::oversampling = 2; ChirpChatDemodSettings::ChirpChatDemodSettings() : @@ -67,6 +70,7 @@ void ChirpChatDemodSettings::resetToDefaults() m_deBits = 0; m_codingScheme = CodingLoRa; m_decodeActive = true; + m_fftWindow = FFTWindow::Rectangle; m_eomSquelchTenths = 60; m_nbSymbolsMax = 255; m_preambleChirps = 8; @@ -113,6 +117,7 @@ QByteArray ChirpChatDemodSettings::serialize() const s.writeBool(14, m_hasCRC); s.writeBool(15, m_hasHeader); s.writeS32(17, m_preambleChirps); + s.writeS32(18, (int) m_fftWindow); s.writeBool(20, m_useReverseAPI); s.writeString(21, m_reverseAPIAddress); s.writeU32(22, m_reverseAPIPort); @@ -168,7 +173,8 @@ bool ChirpChatDemodSettings::deserialize(const QByteArray& data) d.readBool(14, &m_hasCRC, true); d.readBool(15, &m_hasHeader, true); d.readS32(17, &m_preambleChirps, 8); - + d.readS32(18, &tmp, (int) FFTWindow::Rectangle); + m_fftWindow = (FFTWindow::Function) tmp; d.readBool(20, &m_useReverseAPI, false); d.readString(21, &m_reverseAPIAddress, "127.0.0.1"); d.readU32(22, &utmp, 0); diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.h b/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.h index 3373a2e6b..987893544 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.h +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodsettings.h @@ -24,6 +24,8 @@ #include +#include "dsp/fftwindow.h" + class Serializable; struct ChirpChatDemodSettings @@ -38,7 +40,8 @@ struct ChirpChatDemodSettings int m_inputFrequencyOffset; int m_bandwidthIndex; int m_spreadFactor; - int m_deBits; //!< Low data rate optmize (DE) bits + int m_deBits; //!< Low data rate optmize (DE) bits + FFTWindow::Function m_fftWindow; CodingScheme m_codingScheme; bool m_decodeActive; int m_eomSquelchTenths; //!< Squelch factor to trigger end of message (/10) diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodsink.cpp b/plugins/channelrx/demodchirpchat/chirpchatdemodsink.cpp index a154ea086..a61297507 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodsink.cpp +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodsink.cpp @@ -52,7 +52,7 @@ ChirpChatDemodSink::ChirpChatDemodSink() : m_fft = FFTEngine::create(); m_fftSFD = FFTEngine::create(); - initSF(m_settings.m_spreadFactor, m_settings.m_deBits); + initSF(m_settings.m_spreadFactor, m_settings.m_deBits, m_settings.m_fftWindow); } ChirpChatDemodSink::~ChirpChatDemodSink() @@ -65,7 +65,7 @@ ChirpChatDemodSink::~ChirpChatDemodSink() delete[] m_spectrumLine; } -void ChirpChatDemodSink::initSF(unsigned int sf, unsigned int deBits) +void ChirpChatDemodSink::initSF(unsigned int sf, unsigned int deBits, FFTWindow::Function fftWindow) { if (m_downChirps) { delete[] m_downChirps; @@ -84,14 +84,14 @@ void ChirpChatDemodSink::initSF(unsigned int sf, unsigned int deBits) m_nbSymbolsEff = 1 << (sf - deBits); m_deLength = 1 << deBits; m_fftLength = m_nbSymbols; + m_fftWindow.create(fftWindow, m_fftLength); + m_fftWindow.setKaiserAlpha(M_PI); m_interpolatedFFTLength = m_fftInterpolation*m_fftLength; m_preambleTolerance = (m_deLength*m_fftInterpolation)/2; m_fft->configure(m_interpolatedFFTLength, false); m_fftSFD->configure(m_interpolatedFFTLength, false); m_state = ChirpChatStateReset; m_sfdSkip = m_fftLength / 4; - m_fftWindow.create(FFTWindow::Function::Kaiser, m_fftLength); - m_fftWindow.setKaiserAlpha(M_PI); m_downChirps = new Complex[2*m_nbSymbols]; // Each table is 2 chirps long to allow processing from arbitrary offsets. m_upChirps = new Complex[2*m_nbSymbols]; m_spectrumBuffer = new Complex[m_nbSymbols]; @@ -233,7 +233,7 @@ void ChirpChatDemodSink::processSample(const Complex& ci) else if (m_state == ChirpChatStatePreamble) // preamble found look for SFD start { m_fft->in()[m_fftCounter] = ci * m_downChirps[m_chirp]; // de-chirp the up ramp - m_fftSFD->in()[m_fftCounter] = ci * m_upChirps[m_chirp]; // de-chiro the down ramp + m_fftSFD->in()[m_fftCounter] = ci * m_upChirps[m_chirp]; // de-chirp the down ramp m_fftCounter++; if (m_fftCounter == m_fftLength) @@ -620,8 +620,9 @@ void ChirpChatDemodSink::applySettings(const ChirpChatDemodSettings& settings, b << " force: " << force; if ((settings.m_spreadFactor != m_settings.m_spreadFactor) - || (settings.m_deBits != m_settings.m_deBits) || force) { - initSF(settings.m_spreadFactor, settings.m_deBits); + || (settings.m_deBits != m_settings.m_deBits) + || (settings.m_fftWindow != m_settings.m_fftWindow) || force) { + initSF(settings.m_spreadFactor, settings.m_deBits, settings.m_fftWindow); } m_settings = settings; diff --git a/plugins/channelrx/demodchirpchat/chirpchatdemodsink.h b/plugins/channelrx/demodchirpchat/chirpchatdemodsink.h index 0a1b74e14..7daae9965 100644 --- a/plugins/channelrx/demodchirpchat/chirpchatdemodsink.h +++ b/plugins/channelrx/demodchirpchat/chirpchatdemodsink.h @@ -115,7 +115,7 @@ private: int m_preambleTolerance; //!< Number of FFT bins to collate when looking for preamble void processSample(const Complex& ci); - void initSF(unsigned int sf, unsigned int deBits); //!< Init tables, FFTs, depending on spread factor + void initSF(unsigned int sf, unsigned int deBits, FFTWindow::Function fftWindow); //!< Init tables, FFTs, depending on spread factor void reset(); unsigned int argmax( const Complex *fftBins, diff --git a/plugins/channeltx/modchirpchat/chirpchatmodsettings.cpp b/plugins/channeltx/modchirpchat/chirpchatmodsettings.cpp index a536577ae..9ecd7061f 100644 --- a/plugins/channeltx/modchirpchat/chirpchatmodsettings.cpp +++ b/plugins/channeltx/modchirpchat/chirpchatmodsettings.cpp @@ -24,6 +24,9 @@ #include "chirpchatmodsettings.h" const int ChirpChatModSettings::bandwidths[] = { + 325, // 384k / 1024 + 750, // 384k / 512 + 1500, // 384k / 256 2604, // 333k / 128 3125, // 400k / 128 3906, // 500k / 128 @@ -49,7 +52,7 @@ const int ChirpChatModSettings::bandwidths[] = { 400000, // 400k / 1 500000 // 500k / 1 }; -const int ChirpChatModSettings::nbBandwidths = 3*8; +const int ChirpChatModSettings::nbBandwidths = 3*8 + 3; const int ChirpChatModSettings::oversampling = 4; ChirpChatModSettings::ChirpChatModSettings() : diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index a3b8cecd6..a5914a469 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -2435,7 +2435,7 @@ margin-bottom: 20px; }, "bandwidthIndex" : { "type" : "integer", - "description" : "standard bandwidths index:\n * 0 - 2604 Hz (333333 / 128)\n * 1 - 3125 Hz (400000 / 128)\n * 2 - 3906 Hz (500000 / 128)\n * 3 - 5208 Hz (333333 / 64)\n * 4 - 6250 Hz (400000 / 64)\n * 5 - 7813 Hz (500000 / 64)\n * 6 - 10417 Hz (333333 / 32)\n * 7 - 12500 Hz (400000 / 32)\n * 8 - 15625 Hz (500000 / 32)\n * 9 - 20833 Hz (333333 / 16)\n * 10 - 25000 Hz (400000 / 16)\n * 11 - 31250 Hz (500000 / 16)\n * 12 - 41667 Hz (333333 / 8)\n * 13 - 50000 Hz (400000 / 8)\n * 14 - 62500 Hz (500000 / 8)\n * 15 - 83333 Hz (333333 / 4)\n * 16 - 100000 Hz (400000 / 4)\n * 17 - 125000 Hz (500000 / 4)\n * 18 - 166667 Hz (333333 / 2)\n * 19 - 200000 Hz (400000 / 2)\n * 20 - 250000 Hz (500000 / 2)\n * 21 - 333333 Hz (333333 / 1)\n * 22 - 400000 Hz (400000 / 1)\n * 23 - 500000 Hz (500000 / 1)\n" + "description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n" }, "spreadFactor" : { "type" : "integer" @@ -2444,9 +2444,13 @@ margin-bottom: 20px; "type" : "integer", "description" : "Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol" }, + "fftWindow" : { + "type" : "integer", + "description" : "FFT Window index (FFTWindow::Function):\n * 0 - Bartlett\n * 1 - BlackmanHarris\n * 2 - Flattop\n * 3 - Hamming\n * 4 - Hanning\n * 5 - Rectangle\n * 6 - Kaiser\n" + }, "codingScheme" : { "type" : "integer", - "description" : "message encoding scheme (LoRaModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" + "description" : "message encoding scheme (ChirpChatDemodSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" }, "decodeActive" : { "type" : "integer", @@ -2561,7 +2565,7 @@ margin-bottom: 20px; }, "bandwidthIndex" : { "type" : "integer", - "description" : "standard bandwidths index:\n * 0 - 2604 Hz (333333 / 128)\n * 1 - 3125 Hz (400000 / 128)\n * 2 - 3906 Hz (500000 / 128)\n * 3 - 5208 Hz (333333 / 64)\n * 4 - 6250 Hz (400000 / 64)\n * 5 - 7813 Hz (500000 / 64)\n * 6 - 10417 Hz (333333 / 32)\n * 7 - 12500 Hz (400000 / 32)\n * 8 - 15625 Hz (500000 / 32)\n * 9 - 20833 Hz (333333 / 16)\n * 10 - 25000 Hz (400000 / 16)\n * 11 - 31250 Hz (500000 / 16)\n * 12 - 41667 Hz (333333 / 8)\n * 13 - 50000 Hz (400000 / 8)\n * 14 - 62500 Hz (500000 / 8)\n * 15 - 83333 Hz (333333 / 4)\n * 16 - 100000 Hz (400000 / 4)\n * 17 - 125000 Hz (500000 / 4)\n * 18 - 166667 Hz (333333 / 2)\n * 19 - 200000 Hz (400000 / 2)\n * 20 - 250000 Hz (500000 / 2)\n * 21 - 333333 Hz (333333 / 1)\n * 22 - 400000 Hz (400000 / 1)\n * 23 - 500000 Hz (500000 / 1)\n" + "description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n" }, "spreadFactor" : { "type" : "integer" @@ -2588,7 +2592,7 @@ margin-bottom: 20px; }, "codingScheme" : { "type" : "integer", - "description" : "message encoding scheme (LoRaModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" + "description" : "message encoding scheme (ChirpChatModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" }, "nbParityBits" : { "type" : "integer", @@ -2620,7 +2624,7 @@ margin-bottom: 20px; }, "messageType" : { "type" : "integer", - "description" : "type of message to send (LoRaModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n" + "description" : "type of message to send (ChirpChatModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n" }, "beaconMessage" : { "type" : "string", @@ -32618,7 +32622,7 @@ except ApiException as e:
- Generated 2020-03-03T23:14:21.625+01:00 + Generated 2020-03-07T09:49:57.763+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml index 4593e093b..5468fa7f5 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml @@ -8,39 +8,53 @@ ChirpChatDemodSettings: type: integer description: > standard bandwidths index: - * 0 - 2604 Hz (333333 / 128) - * 1 - 3125 Hz (400000 / 128) - * 2 - 3906 Hz (500000 / 128) - * 3 - 5208 Hz (333333 / 64) - * 4 - 6250 Hz (400000 / 64) - * 5 - 7813 Hz (500000 / 64) - * 6 - 10417 Hz (333333 / 32) - * 7 - 12500 Hz (400000 / 32) - * 8 - 15625 Hz (500000 / 32) - * 9 - 20833 Hz (333333 / 16) - * 10 - 25000 Hz (400000 / 16) - * 11 - 31250 Hz (500000 / 16) - * 12 - 41667 Hz (333333 / 8) - * 13 - 50000 Hz (400000 / 8) - * 14 - 62500 Hz (500000 / 8) - * 15 - 83333 Hz (333333 / 4) - * 16 - 100000 Hz (400000 / 4) - * 17 - 125000 Hz (500000 / 4) - * 18 - 166667 Hz (333333 / 2) - * 19 - 200000 Hz (400000 / 2) - * 20 - 250000 Hz (500000 / 2) - * 21 - 333333 Hz (333333 / 1) - * 22 - 400000 Hz (400000 / 1) - * 23 - 500000 Hz (500000 / 1) + * 0 - 375 Hz (384000 / 1024) + * 1 - 750 Hz (384000 / 512) + * 2 - 1500 Hz (384000 / 256) + * 3 - 2604 Hz (333333 / 128) + * 4 - 3125 Hz (400000 / 128) + * 5 - 3906 Hz (500000 / 128) + * 6 - 5208 Hz (333333 / 64) + * 7 - 6250 Hz (400000 / 64) + * 8 - 7813 Hz (500000 / 64) + * 9 - 10417 Hz (333333 / 32) + * 10 - 12500 Hz (400000 / 32) + * 11 - 15625 Hz (500000 / 32) + * 12 - 20833 Hz (333333 / 16) + * 13 - 25000 Hz (400000 / 16) + * 14 - 31250 Hz (500000 / 16) + * 15 - 41667 Hz (333333 / 8) + * 16 - 50000 Hz (400000 / 8) + * 17 - 62500 Hz (500000 / 8) + * 18 - 83333 Hz (333333 / 4) + * 19 - 100000 Hz (400000 / 4) + * 20 - 125000 Hz (500000 / 4) + * 21 - 166667 Hz (333333 / 2) + * 22 - 200000 Hz (400000 / 2) + * 23 - 250000 Hz (500000 / 2) + * 24 - 333333 Hz (333333 / 1) + * 25 - 400000 Hz (400000 / 1) + * 26 - 500000 Hz (500000 / 1) spreadFactor: type: integer deBits: description: Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol type: integer + fftWindow: + type: integer + description: > + FFT Window index (FFTWindow::Function): + * 0 - Bartlett + * 1 - BlackmanHarris + * 2 - Flattop + * 3 - Hamming + * 4 - Hanning + * 5 - Rectangle + * 6 - Kaiser codingScheme: type: integer description: > - message encoding scheme (ChirpChatModSettings::CodingScheme): + message encoding scheme (ChirpChatDemodSettings::CodingScheme): * 0 - LoRa * 1 - Plain ASCII (7 bit) * 2 - Teletype (5 bit Baudot) a.k.a TTY diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChirpChatMod.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatMod.yaml index 0316cbe99..933cd11af 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/ChirpChatMod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatMod.yaml @@ -8,30 +8,33 @@ ChirpChatModSettings: type: integer description: > standard bandwidths index: - * 0 - 2604 Hz (333333 / 128) - * 1 - 3125 Hz (400000 / 128) - * 2 - 3906 Hz (500000 / 128) - * 3 - 5208 Hz (333333 / 64) - * 4 - 6250 Hz (400000 / 64) - * 5 - 7813 Hz (500000 / 64) - * 6 - 10417 Hz (333333 / 32) - * 7 - 12500 Hz (400000 / 32) - * 8 - 15625 Hz (500000 / 32) - * 9 - 20833 Hz (333333 / 16) - * 10 - 25000 Hz (400000 / 16) - * 11 - 31250 Hz (500000 / 16) - * 12 - 41667 Hz (333333 / 8) - * 13 - 50000 Hz (400000 / 8) - * 14 - 62500 Hz (500000 / 8) - * 15 - 83333 Hz (333333 / 4) - * 16 - 100000 Hz (400000 / 4) - * 17 - 125000 Hz (500000 / 4) - * 18 - 166667 Hz (333333 / 2) - * 19 - 200000 Hz (400000 / 2) - * 20 - 250000 Hz (500000 / 2) - * 21 - 333333 Hz (333333 / 1) - * 22 - 400000 Hz (400000 / 1) - * 23 - 500000 Hz (500000 / 1) + * 0 - 375 Hz (384000 / 1024) + * 1 - 750 Hz (384000 / 512) + * 2 - 1500 Hz (384000 / 256) + * 3 - 2604 Hz (333333 / 128) + * 4 - 3125 Hz (400000 / 128) + * 5 - 3906 Hz (500000 / 128) + * 6 - 5208 Hz (333333 / 64) + * 7 - 6250 Hz (400000 / 64) + * 8 - 7813 Hz (500000 / 64) + * 9 - 10417 Hz (333333 / 32) + * 10 - 12500 Hz (400000 / 32) + * 11 - 15625 Hz (500000 / 32) + * 12 - 20833 Hz (333333 / 16) + * 13 - 25000 Hz (400000 / 16) + * 14 - 31250 Hz (500000 / 16) + * 15 - 41667 Hz (333333 / 8) + * 16 - 50000 Hz (400000 / 8) + * 17 - 62500 Hz (500000 / 8) + * 18 - 83333 Hz (333333 / 4) + * 19 - 100000 Hz (400000 / 4) + * 20 - 125000 Hz (500000 / 4) + * 21 - 166667 Hz (333333 / 2) + * 22 - 200000 Hz (400000 / 2) + * 23 - 250000 Hz (500000 / 2) + * 24 - 333333 Hz (333333 / 1) + * 25 - 400000 Hz (400000 / 1) + * 26 - 500000 Hz (500000 / 1) spreadFactor: type: integer deBits: diff --git a/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml b/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml index 33a1469f0..5468fa7f5 100644 --- a/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml +++ b/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml @@ -8,35 +8,49 @@ ChirpChatDemodSettings: type: integer description: > standard bandwidths index: - * 0 - 2604 Hz (333333 / 128) - * 1 - 3125 Hz (400000 / 128) - * 2 - 3906 Hz (500000 / 128) - * 3 - 5208 Hz (333333 / 64) - * 4 - 6250 Hz (400000 / 64) - * 5 - 7813 Hz (500000 / 64) - * 6 - 10417 Hz (333333 / 32) - * 7 - 12500 Hz (400000 / 32) - * 8 - 15625 Hz (500000 / 32) - * 9 - 20833 Hz (333333 / 16) - * 10 - 25000 Hz (400000 / 16) - * 11 - 31250 Hz (500000 / 16) - * 12 - 41667 Hz (333333 / 8) - * 13 - 50000 Hz (400000 / 8) - * 14 - 62500 Hz (500000 / 8) - * 15 - 83333 Hz (333333 / 4) - * 16 - 100000 Hz (400000 / 4) - * 17 - 125000 Hz (500000 / 4) - * 18 - 166667 Hz (333333 / 2) - * 19 - 200000 Hz (400000 / 2) - * 20 - 250000 Hz (500000 / 2) - * 21 - 333333 Hz (333333 / 1) - * 22 - 400000 Hz (400000 / 1) - * 23 - 500000 Hz (500000 / 1) + * 0 - 375 Hz (384000 / 1024) + * 1 - 750 Hz (384000 / 512) + * 2 - 1500 Hz (384000 / 256) + * 3 - 2604 Hz (333333 / 128) + * 4 - 3125 Hz (400000 / 128) + * 5 - 3906 Hz (500000 / 128) + * 6 - 5208 Hz (333333 / 64) + * 7 - 6250 Hz (400000 / 64) + * 8 - 7813 Hz (500000 / 64) + * 9 - 10417 Hz (333333 / 32) + * 10 - 12500 Hz (400000 / 32) + * 11 - 15625 Hz (500000 / 32) + * 12 - 20833 Hz (333333 / 16) + * 13 - 25000 Hz (400000 / 16) + * 14 - 31250 Hz (500000 / 16) + * 15 - 41667 Hz (333333 / 8) + * 16 - 50000 Hz (400000 / 8) + * 17 - 62500 Hz (500000 / 8) + * 18 - 83333 Hz (333333 / 4) + * 19 - 100000 Hz (400000 / 4) + * 20 - 125000 Hz (500000 / 4) + * 21 - 166667 Hz (333333 / 2) + * 22 - 200000 Hz (400000 / 2) + * 23 - 250000 Hz (500000 / 2) + * 24 - 333333 Hz (333333 / 1) + * 25 - 400000 Hz (400000 / 1) + * 26 - 500000 Hz (500000 / 1) spreadFactor: type: integer deBits: description: Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol type: integer + fftWindow: + type: integer + description: > + FFT Window index (FFTWindow::Function): + * 0 - Bartlett + * 1 - BlackmanHarris + * 2 - Flattop + * 3 - Hamming + * 4 - Hanning + * 5 - Rectangle + * 6 - Kaiser codingScheme: type: integer description: > diff --git a/swagger/sdrangel/api/swagger/include/ChirpChatMod.yaml b/swagger/sdrangel/api/swagger/include/ChirpChatMod.yaml index 0316cbe99..933cd11af 100644 --- a/swagger/sdrangel/api/swagger/include/ChirpChatMod.yaml +++ b/swagger/sdrangel/api/swagger/include/ChirpChatMod.yaml @@ -8,30 +8,33 @@ ChirpChatModSettings: type: integer description: > standard bandwidths index: - * 0 - 2604 Hz (333333 / 128) - * 1 - 3125 Hz (400000 / 128) - * 2 - 3906 Hz (500000 / 128) - * 3 - 5208 Hz (333333 / 64) - * 4 - 6250 Hz (400000 / 64) - * 5 - 7813 Hz (500000 / 64) - * 6 - 10417 Hz (333333 / 32) - * 7 - 12500 Hz (400000 / 32) - * 8 - 15625 Hz (500000 / 32) - * 9 - 20833 Hz (333333 / 16) - * 10 - 25000 Hz (400000 / 16) - * 11 - 31250 Hz (500000 / 16) - * 12 - 41667 Hz (333333 / 8) - * 13 - 50000 Hz (400000 / 8) - * 14 - 62500 Hz (500000 / 8) - * 15 - 83333 Hz (333333 / 4) - * 16 - 100000 Hz (400000 / 4) - * 17 - 125000 Hz (500000 / 4) - * 18 - 166667 Hz (333333 / 2) - * 19 - 200000 Hz (400000 / 2) - * 20 - 250000 Hz (500000 / 2) - * 21 - 333333 Hz (333333 / 1) - * 22 - 400000 Hz (400000 / 1) - * 23 - 500000 Hz (500000 / 1) + * 0 - 375 Hz (384000 / 1024) + * 1 - 750 Hz (384000 / 512) + * 2 - 1500 Hz (384000 / 256) + * 3 - 2604 Hz (333333 / 128) + * 4 - 3125 Hz (400000 / 128) + * 5 - 3906 Hz (500000 / 128) + * 6 - 5208 Hz (333333 / 64) + * 7 - 6250 Hz (400000 / 64) + * 8 - 7813 Hz (500000 / 64) + * 9 - 10417 Hz (333333 / 32) + * 10 - 12500 Hz (400000 / 32) + * 11 - 15625 Hz (500000 / 32) + * 12 - 20833 Hz (333333 / 16) + * 13 - 25000 Hz (400000 / 16) + * 14 - 31250 Hz (500000 / 16) + * 15 - 41667 Hz (333333 / 8) + * 16 - 50000 Hz (400000 / 8) + * 17 - 62500 Hz (500000 / 8) + * 18 - 83333 Hz (333333 / 4) + * 19 - 100000 Hz (400000 / 4) + * 20 - 125000 Hz (500000 / 4) + * 21 - 166667 Hz (333333 / 2) + * 22 - 200000 Hz (400000 / 2) + * 23 - 250000 Hz (500000 / 2) + * 24 - 333333 Hz (333333 / 1) + * 25 - 400000 Hz (400000 / 1) + * 26 - 500000 Hz (500000 / 1) spreadFactor: type: integer deBits: diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index a3b8cecd6..a5914a469 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -2435,7 +2435,7 @@ margin-bottom: 20px; }, "bandwidthIndex" : { "type" : "integer", - "description" : "standard bandwidths index:\n * 0 - 2604 Hz (333333 / 128)\n * 1 - 3125 Hz (400000 / 128)\n * 2 - 3906 Hz (500000 / 128)\n * 3 - 5208 Hz (333333 / 64)\n * 4 - 6250 Hz (400000 / 64)\n * 5 - 7813 Hz (500000 / 64)\n * 6 - 10417 Hz (333333 / 32)\n * 7 - 12500 Hz (400000 / 32)\n * 8 - 15625 Hz (500000 / 32)\n * 9 - 20833 Hz (333333 / 16)\n * 10 - 25000 Hz (400000 / 16)\n * 11 - 31250 Hz (500000 / 16)\n * 12 - 41667 Hz (333333 / 8)\n * 13 - 50000 Hz (400000 / 8)\n * 14 - 62500 Hz (500000 / 8)\n * 15 - 83333 Hz (333333 / 4)\n * 16 - 100000 Hz (400000 / 4)\n * 17 - 125000 Hz (500000 / 4)\n * 18 - 166667 Hz (333333 / 2)\n * 19 - 200000 Hz (400000 / 2)\n * 20 - 250000 Hz (500000 / 2)\n * 21 - 333333 Hz (333333 / 1)\n * 22 - 400000 Hz (400000 / 1)\n * 23 - 500000 Hz (500000 / 1)\n" + "description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n" }, "spreadFactor" : { "type" : "integer" @@ -2444,9 +2444,13 @@ margin-bottom: 20px; "type" : "integer", "description" : "Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol" }, + "fftWindow" : { + "type" : "integer", + "description" : "FFT Window index (FFTWindow::Function):\n * 0 - Bartlett\n * 1 - BlackmanHarris\n * 2 - Flattop\n * 3 - Hamming\n * 4 - Hanning\n * 5 - Rectangle\n * 6 - Kaiser\n" + }, "codingScheme" : { "type" : "integer", - "description" : "message encoding scheme (LoRaModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" + "description" : "message encoding scheme (ChirpChatDemodSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" }, "decodeActive" : { "type" : "integer", @@ -2561,7 +2565,7 @@ margin-bottom: 20px; }, "bandwidthIndex" : { "type" : "integer", - "description" : "standard bandwidths index:\n * 0 - 2604 Hz (333333 / 128)\n * 1 - 3125 Hz (400000 / 128)\n * 2 - 3906 Hz (500000 / 128)\n * 3 - 5208 Hz (333333 / 64)\n * 4 - 6250 Hz (400000 / 64)\n * 5 - 7813 Hz (500000 / 64)\n * 6 - 10417 Hz (333333 / 32)\n * 7 - 12500 Hz (400000 / 32)\n * 8 - 15625 Hz (500000 / 32)\n * 9 - 20833 Hz (333333 / 16)\n * 10 - 25000 Hz (400000 / 16)\n * 11 - 31250 Hz (500000 / 16)\n * 12 - 41667 Hz (333333 / 8)\n * 13 - 50000 Hz (400000 / 8)\n * 14 - 62500 Hz (500000 / 8)\n * 15 - 83333 Hz (333333 / 4)\n * 16 - 100000 Hz (400000 / 4)\n * 17 - 125000 Hz (500000 / 4)\n * 18 - 166667 Hz (333333 / 2)\n * 19 - 200000 Hz (400000 / 2)\n * 20 - 250000 Hz (500000 / 2)\n * 21 - 333333 Hz (333333 / 1)\n * 22 - 400000 Hz (400000 / 1)\n * 23 - 500000 Hz (500000 / 1)\n" + "description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n" }, "spreadFactor" : { "type" : "integer" @@ -2588,7 +2592,7 @@ margin-bottom: 20px; }, "codingScheme" : { "type" : "integer", - "description" : "message encoding scheme (LoRaModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" + "description" : "message encoding scheme (ChirpChatModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n" }, "nbParityBits" : { "type" : "integer", @@ -2620,7 +2624,7 @@ margin-bottom: 20px; }, "messageType" : { "type" : "integer", - "description" : "type of message to send (LoRaModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n" + "description" : "type of message to send (ChirpChatModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n" }, "beaconMessage" : { "type" : "string", @@ -32618,7 +32622,7 @@ except ApiException as e:
- Generated 2020-03-03T23:14:21.625+01:00 + Generated 2020-03-07T09:49:57.763+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.cpp index 8e83be20b..9c0b7f585 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.cpp @@ -36,6 +36,8 @@ SWGChirpChatDemodSettings::SWGChirpChatDemodSettings() { m_spread_factor_isSet = false; de_bits = 0; m_de_bits_isSet = false; + fft_window = 0; + m_fft_window_isSet = false; coding_scheme = 0; m_coding_scheme_isSet = false; decode_active = 0; @@ -94,6 +96,8 @@ SWGChirpChatDemodSettings::init() { m_spread_factor_isSet = false; de_bits = 0; m_de_bits_isSet = false; + fft_window = 0; + m_fft_window_isSet = false; coding_scheme = 0; m_coding_scheme_isSet = false; decode_active = 0; @@ -155,6 +159,7 @@ SWGChirpChatDemodSettings::cleanup() { + if(udp_address != nullptr) { delete udp_address; } @@ -192,6 +197,8 @@ SWGChirpChatDemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&de_bits, pJson["deBits"], "qint32", ""); + ::SWGSDRangel::setValue(&fft_window, pJson["fftWindow"], "qint32", ""); + ::SWGSDRangel::setValue(&coding_scheme, pJson["codingScheme"], "qint32", ""); ::SWGSDRangel::setValue(&decode_active, pJson["decodeActive"], "qint32", ""); @@ -262,6 +269,9 @@ SWGChirpChatDemodSettings::asJsonObject() { if(m_de_bits_isSet){ obj->insert("deBits", QJsonValue(de_bits)); } + if(m_fft_window_isSet){ + obj->insert("fftWindow", QJsonValue(fft_window)); + } if(m_coding_scheme_isSet){ obj->insert("codingScheme", QJsonValue(coding_scheme)); } @@ -369,6 +379,16 @@ SWGChirpChatDemodSettings::setDeBits(qint32 de_bits) { this->m_de_bits_isSet = true; } +qint32 +SWGChirpChatDemodSettings::getFftWindow() { + return fft_window; +} +void +SWGChirpChatDemodSettings::setFftWindow(qint32 fft_window) { + this->fft_window = fft_window; + this->m_fft_window_isSet = true; +} + qint32 SWGChirpChatDemodSettings::getCodingScheme() { return coding_scheme; @@ -596,6 +616,9 @@ SWGChirpChatDemodSettings::isSet(){ if(m_de_bits_isSet){ isObjectUpdated = true; break; } + if(m_fft_window_isSet){ + isObjectUpdated = true; break; + } if(m_coding_scheme_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.h index 8fc74cb27..d9c3136b0 100644 --- a/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGChirpChatDemodSettings.h @@ -54,6 +54,9 @@ public: qint32 getDeBits(); void setDeBits(qint32 de_bits); + qint32 getFftWindow(); + void setFftWindow(qint32 fft_window); + qint32 getCodingScheme(); void setCodingScheme(qint32 coding_scheme); @@ -133,6 +136,9 @@ private: qint32 de_bits; bool m_de_bits_isSet; + qint32 fft_window; + bool m_fft_window_isSet; + qint32 coding_scheme; bool m_coding_scheme_isSet;