diff --git a/plugins/channelrx/demodssb/ssbdemod.cpp b/plugins/channelrx/demodssb/ssbdemod.cpp index 4b0f4adbb..8e8ea3257 100644 --- a/plugins/channelrx/demodssb/ssbdemod.cpp +++ b/plugins/channelrx/demodssb/ssbdemod.cpp @@ -542,6 +542,21 @@ void SSBDemod::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("agcThresholdGate")) { settings.m_agcThresholdGate = response.getSsbDemodSettings()->getAgcThresholdGate(); } + if (channelSettingsKeys.contains("dnr")) { + settings.m_dnr = response.getSsbDemodSettings()->getDnr() != 0; + } + if (channelSettingsKeys.contains("dnrAboveAvgFactor")) { + settings.m_dnrAboveAvgFactor = response.getSsbDemodSettings()->getDnrAboveAvgFactor(); + } + if (channelSettingsKeys.contains("dnrSigmaFactor")) { + settings.m_dnrSigmaFactor = response.getSsbDemodSettings()->getDnrSigmaFactor(); + } + if (channelSettingsKeys.contains("dnrNbPeaks")) { + settings.m_dnrNbPeaks = response.getSsbDemodSettings()->getDnrNbPeaks(); + } + if (channelSettingsKeys.contains("dnrAlpha")) { + settings.m_dnrAlpha = response.getSsbDemodSettings()->getDnrAlpha(); + } if (channelSettingsKeys.contains("rgbColor")) { settings.m_rgbColor = response.getSsbDemodSettings()->getRgbColor(); } @@ -610,6 +625,12 @@ void SSBDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& resp response.getSsbDemodSettings()->setAgcTimeLog2(settings.m_agcTimeLog2); response.getSsbDemodSettings()->setAgcPowerThreshold(settings.m_agcPowerThreshold); response.getSsbDemodSettings()->setAgcThresholdGate(settings.m_agcThresholdGate); + response.getSsbDemodSettings()->setDnr(settings.m_dnr ? 1 : 0); + response.getSsbDemodSettings()->setDnrScheme(settings.m_dnrScheme); + response.getSsbDemodSettings()->setDnrAboveAvgFactor(settings.m_dnrAboveAvgFactor); + response.getSsbDemodSettings()->setDnrSigmaFactor(settings.m_dnrSigmaFactor); + response.getSsbDemodSettings()->setDnrNbPeaks(settings.m_dnrNbPeaks); + response.getSsbDemodSettings()->setDnrAlpha(settings.m_dnrAlpha); response.getSsbDemodSettings()->setRgbColor(settings.m_rgbColor); if (response.getSsbDemodSettings()->getTitle()) { @@ -812,6 +833,21 @@ void SSBDemod::webapiFormatChannelSettings( if (channelSettingsKeys.contains("agcThresholdGate") || force) { swgSSBDemodSettings->setAgcThresholdGate(settings.m_agcThresholdGate); } + if (channelSettingsKeys.contains("dnr")) { + swgSSBDemodSettings->setDnr(settings.m_dnr ? 1 : 0); + } + if (channelSettingsKeys.contains("dnrAboveAvgFactor")) { + swgSSBDemodSettings->setDnrAboveAvgFactor(settings.m_dnrAboveAvgFactor); + } + if (channelSettingsKeys.contains("dnrSigmaFactor")) { + swgSSBDemodSettings->setDnrSigmaFactor(settings.m_dnrSigmaFactor); + } + if (channelSettingsKeys.contains("dnrNbPeaks")) { + swgSSBDemodSettings->setDnrNbPeaks(settings.m_dnrNbPeaks); + } + if (channelSettingsKeys.contains("dnrAlpha")) { + swgSSBDemodSettings->setDnrAlpha(settings.m_dnrAlpha); + } if (channelSettingsKeys.contains("rgbColor") || force) { swgSSBDemodSettings->setRgbColor(settings.m_rgbColor); } diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 3be7af1e8..602af01fc 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -1473,6 +1473,19 @@ margin-bottom: 20px; "type" : "integer", "description" : "Synchronous AM sidebands mode (DSB, USB, LSB)" }, + "frequencyMode" : { + "type" : "integer", + "description" : "(0 for Offset, 1 for MW, 2 for 25k, 3 for 8.33k)" + }, + "frequency" : { + "type" : "integer", + "format" : "int64", + "description" : "Channel center frequency" + }, + "snap" : { + "type" : "integer", + "description" : "Snap channel marker to channel center frequencies" + }, "streamIndex" : { "type" : "integer", "description" : "MIMO channel. Not relevant when connected to SI (single Rx)." @@ -13603,6 +13616,33 @@ margin-bottom: 20px; "type" : "integer", "description" : "Audio squelch gate in ms" }, + "dnr" : { + "type" : "integer", + "description" : "Toggle noise reduction:\n * 0 - Noise reduction off\n * 1 - Noise reduction on\n" + }, + "dnrScheme" : { + "type" : "integer", + "description" : "Noise reduction scheme:\n * 0 - Average of magnitudes\n * 1 - Average and standard deviation of magnitudes\n * 2 - Magnitude maxima (peaks)\n" + }, + "dnrAboveAvgFactor" : { + "type" : "number", + "format" : "float", + "description" : "Multiplier of the average to deteermine magnitude threshold in average scheme" + }, + "dnrSigmaFactor" : { + "type" : "number", + "format" : "float", + "description" : "Standard deviation (sigma) multiplier to deteermine magnitude threshold in average and standard deviation scheme" + }, + "dnrNbPeaks" : { + "type" : "integer", + "description" : "Number of magnitude peak maxima selected in peaks scheme" + }, + "dnrAlpha" : { + "type" : "number", + "format" : "float", + "description" : "Smoothing constant (alpha) of the exponential smoothing filter. Must be between 0 and 1." + }, "rgbColor" : { "type" : "integer" }, @@ -58361,7 +58401,7 @@ except ApiException as e:
- Generated 2023-10-26T10:32:08.802+02:00 + Generated 2023-11-05T10:45:45.965+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml index ed5312cf4..981ae2a90 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml @@ -37,6 +37,16 @@ AMDemodSettings: syncAMOperation: description: Synchronous AM sidebands mode (DSB, USB, LSB) type: integer + frequencyMode: + description: (0 for Offset, 1 for MW, 2 for 25k, 3 for 8.33k) + type: integer + frequency: + description: Channel center frequency + type: integer + format: int64 + snap: + description: Snap channel marker to channel center frequencies + type: integer streamIndex: description: MIMO channel. Not relevant when connected to SI (single Rx). type: integer diff --git a/sdrbase/resources/webapi/doc/swagger/include/SSBDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/SSBDemod.yaml index f86a9f2f9..6b4b0d31a 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SSBDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SSBDemod.yaml @@ -57,6 +57,34 @@ SSBDemodSettings: agcThresholdGate: description: Audio squelch gate in ms type: integer + dnr: + type: integer + description: > + Toggle noise reduction: + * 0 - Noise reduction off + * 1 - Noise reduction on + dnrScheme: + type: integer + description: > + Noise reduction scheme: + * 0 - Average of magnitudes + * 1 - Average and standard deviation of magnitudes + * 2 - Magnitude maxima (peaks) + dnrAboveAvgFactor: + type: number + format: float + description: Multiplier of the average to deteermine magnitude threshold in average scheme + dnrSigmaFactor: + type: number + format: float + description: Standard deviation (sigma) multiplier to deteermine magnitude threshold in average and standard deviation scheme + dnrNbPeaks: + type: integer + description: Number of magnitude peak maxima selected in peaks scheme + dnrAlpha: + type: number + format: float + description: Smoothing constant (alpha) of the exponential smoothing filter. Must be between 0 and 1. rgbColor: type: integer title: diff --git a/swagger/sdrangel/api/swagger/include/SSBDemod.yaml b/swagger/sdrangel/api/swagger/include/SSBDemod.yaml index 88d68848d..9046158e5 100644 --- a/swagger/sdrangel/api/swagger/include/SSBDemod.yaml +++ b/swagger/sdrangel/api/swagger/include/SSBDemod.yaml @@ -57,6 +57,34 @@ SSBDemodSettings: agcThresholdGate: description: Audio squelch gate in ms type: integer + dnr: + type: integer + description: > + Toggle noise reduction: + * 0 - Noise reduction off + * 1 - Noise reduction on + dnrScheme: + type: integer + description: > + Noise reduction scheme: + * 0 - Average of magnitudes + * 1 - Average and standard deviation of magnitudes + * 2 - Magnitude maxima (peaks) + dnrAboveAvgFactor: + type: number + format: float + description: Multiplier of the average to deteermine magnitude threshold in average scheme + dnrSigmaFactor: + type: number + format: float + description: Standard deviation (sigma) multiplier to deteermine magnitude threshold in average and standard deviation scheme + dnrNbPeaks: + type: integer + description: Number of magnitude peak maxima selected in peaks scheme + dnrAlpha: + type: number + format: float + description: Smoothing constant (alpha) of the exponential smoothing filter. Must be between 0 and 1. rgbColor: type: integer title: diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 3be7af1e8..602af01fc 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -1473,6 +1473,19 @@ margin-bottom: 20px; "type" : "integer", "description" : "Synchronous AM sidebands mode (DSB, USB, LSB)" }, + "frequencyMode" : { + "type" : "integer", + "description" : "(0 for Offset, 1 for MW, 2 for 25k, 3 for 8.33k)" + }, + "frequency" : { + "type" : "integer", + "format" : "int64", + "description" : "Channel center frequency" + }, + "snap" : { + "type" : "integer", + "description" : "Snap channel marker to channel center frequencies" + }, "streamIndex" : { "type" : "integer", "description" : "MIMO channel. Not relevant when connected to SI (single Rx)." @@ -13603,6 +13616,33 @@ margin-bottom: 20px; "type" : "integer", "description" : "Audio squelch gate in ms" }, + "dnr" : { + "type" : "integer", + "description" : "Toggle noise reduction:\n * 0 - Noise reduction off\n * 1 - Noise reduction on\n" + }, + "dnrScheme" : { + "type" : "integer", + "description" : "Noise reduction scheme:\n * 0 - Average of magnitudes\n * 1 - Average and standard deviation of magnitudes\n * 2 - Magnitude maxima (peaks)\n" + }, + "dnrAboveAvgFactor" : { + "type" : "number", + "format" : "float", + "description" : "Multiplier of the average to deteermine magnitude threshold in average scheme" + }, + "dnrSigmaFactor" : { + "type" : "number", + "format" : "float", + "description" : "Standard deviation (sigma) multiplier to deteermine magnitude threshold in average and standard deviation scheme" + }, + "dnrNbPeaks" : { + "type" : "integer", + "description" : "Number of magnitude peak maxima selected in peaks scheme" + }, + "dnrAlpha" : { + "type" : "number", + "format" : "float", + "description" : "Smoothing constant (alpha) of the exponential smoothing filter. Must be between 0 and 1." + }, "rgbColor" : { "type" : "integer" }, @@ -58361,7 +58401,7 @@ except ApiException as e:
- Generated 2023-10-26T10:32:08.802+02:00 + Generated 2023-11-05T10:45:45.965+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp index b5ffa5b3f..127b34ee8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp @@ -1,6 +1,6 @@ /** * SDRangel - * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time --- + * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time --- * * OpenAPI spec version: 7.0.0 * Contact: f4exb06@gmail.com @@ -140,10 +140,10 @@ SWGAMDemodSettings::cleanup() { - if(title != nullptr) { + if(title != nullptr) { delete title; } - if(audio_device_name != nullptr) { + if(audio_device_name != nullptr) { delete audio_device_name; } @@ -153,16 +153,16 @@ SWGAMDemodSettings::cleanup() { - if(reverse_api_address != nullptr) { + if(reverse_api_address != nullptr) { delete reverse_api_address; } - if(channel_marker != nullptr) { + if(channel_marker != nullptr) { delete channel_marker; } - if(rollup_state != nullptr) { + if(rollup_state != nullptr) { delete rollup_state; } } @@ -179,51 +179,51 @@ SWGAMDemodSettings::fromJson(QString &json) { void SWGAMDemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", ""); - + ::SWGSDRangel::setValue(&rf_bandwidth, pJson["rfBandwidth"], "float", ""); - + ::SWGSDRangel::setValue(&af_bandwidth, pJson["afBandwidth"], "float", ""); - + ::SWGSDRangel::setValue(&squelch, pJson["squelch"], "float", ""); - + ::SWGSDRangel::setValue(&volume, pJson["volume"], "float", ""); - + ::SWGSDRangel::setValue(&audio_mute, pJson["audioMute"], "qint32", ""); - + ::SWGSDRangel::setValue(&bandpass_enable, pJson["bandpassEnable"], "qint32", ""); - + ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", ""); - + ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); - + ::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString"); - + ::SWGSDRangel::setValue(&pll, pJson["pll"], "qint32", ""); - + ::SWGSDRangel::setValue(&sync_am_operation, pJson["syncAMOperation"], "qint32", ""); - + ::SWGSDRangel::setValue(&frequency_mode, pJson["frequencyMode"], "qint32", ""); - + ::SWGSDRangel::setValue(&frequency, pJson["frequency"], "qint64", ""); - + ::SWGSDRangel::setValue(&snap, pJson["snap"], "qint32", ""); - + ::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", ""); - + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); - + ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); - + ::SWGSDRangel::setValue(&reverse_api_port, pJson["reverseAPIPort"], "qint32", ""); - + ::SWGSDRangel::setValue(&reverse_api_device_index, pJson["reverseAPIDeviceIndex"], "qint32", ""); - + ::SWGSDRangel::setValue(&reverse_api_channel_index, pJson["reverseAPIChannelIndex"], "qint32", ""); - + ::SWGSDRangel::setValue(&channel_marker, pJson["channelMarker"], "SWGChannelMarker", "SWGChannelMarker"); - + ::SWGSDRangel::setValue(&rollup_state, pJson["rollupState"], "SWGRollupState", "SWGRollupState"); - + } QString @@ -621,3 +621,4 @@ SWGAMDemodSettings::isSet(){ return isObjectUpdated; } } + diff --git a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h index b5d0becae..eb1f0078c 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h @@ -1,6 +1,6 @@ /** * SDRangel - * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time --- + * This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time --- * * OpenAPI spec version: 7.0.0 * Contact: f4exb06@gmail.com @@ -190,4 +190,4 @@ private: } -#endif /* SWGAMDemodSettings_H_ */ \ No newline at end of file +#endif /* SWGAMDemodSettings_H_ */ diff --git a/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.cpp index 1d8f4d9ab..30e810f97 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.cpp @@ -60,6 +60,18 @@ SWGSSBDemodSettings::SWGSSBDemodSettings() { m_agc_power_threshold_isSet = false; agc_threshold_gate = 0; m_agc_threshold_gate_isSet = false; + dnr = 0; + m_dnr_isSet = false; + dnr_scheme = 0; + m_dnr_scheme_isSet = false; + dnr_above_avg_factor = 0.0f; + m_dnr_above_avg_factor_isSet = false; + dnr_sigma_factor = 0.0f; + m_dnr_sigma_factor_isSet = false; + dnr_nb_peaks = 0; + m_dnr_nb_peaks_isSet = false; + dnr_alpha = 0.0f; + m_dnr_alpha_isSet = false; rgb_color = 0; m_rgb_color_isSet = false; title = nullptr; @@ -124,6 +136,18 @@ SWGSSBDemodSettings::init() { m_agc_power_threshold_isSet = false; agc_threshold_gate = 0; m_agc_threshold_gate_isSet = false; + dnr = 0; + m_dnr_isSet = false; + dnr_scheme = 0; + m_dnr_scheme_isSet = false; + dnr_above_avg_factor = 0.0f; + m_dnr_above_avg_factor_isSet = false; + dnr_sigma_factor = 0.0f; + m_dnr_sigma_factor_isSet = false; + dnr_nb_peaks = 0; + m_dnr_nb_peaks_isSet = false; + dnr_alpha = 0.0f; + m_dnr_alpha_isSet = false; rgb_color = 0; m_rgb_color_isSet = false; title = new QString(""); @@ -166,6 +190,12 @@ SWGSSBDemodSettings::cleanup() { + + + + + + @@ -237,6 +267,18 @@ SWGSSBDemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&agc_threshold_gate, pJson["agcThresholdGate"], "qint32", ""); + ::SWGSDRangel::setValue(&dnr, pJson["dnr"], "qint32", ""); + + ::SWGSDRangel::setValue(&dnr_scheme, pJson["dnrScheme"], "qint32", ""); + + ::SWGSDRangel::setValue(&dnr_above_avg_factor, pJson["dnrAboveAvgFactor"], "float", ""); + + ::SWGSDRangel::setValue(&dnr_sigma_factor, pJson["dnrSigmaFactor"], "float", ""); + + ::SWGSDRangel::setValue(&dnr_nb_peaks, pJson["dnrNbPeaks"], "qint32", ""); + + ::SWGSDRangel::setValue(&dnr_alpha, pJson["dnrAlpha"], "float", ""); + ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", ""); ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); @@ -325,6 +367,24 @@ SWGSSBDemodSettings::asJsonObject() { if(m_agc_threshold_gate_isSet){ obj->insert("agcThresholdGate", QJsonValue(agc_threshold_gate)); } + if(m_dnr_isSet){ + obj->insert("dnr", QJsonValue(dnr)); + } + if(m_dnr_scheme_isSet){ + obj->insert("dnrScheme", QJsonValue(dnr_scheme)); + } + if(m_dnr_above_avg_factor_isSet){ + obj->insert("dnrAboveAvgFactor", QJsonValue(dnr_above_avg_factor)); + } + if(m_dnr_sigma_factor_isSet){ + obj->insert("dnrSigmaFactor", QJsonValue(dnr_sigma_factor)); + } + if(m_dnr_nb_peaks_isSet){ + obj->insert("dnrNbPeaks", QJsonValue(dnr_nb_peaks)); + } + if(m_dnr_alpha_isSet){ + obj->insert("dnrAlpha", QJsonValue(dnr_alpha)); + } if(m_rgb_color_isSet){ obj->insert("rgbColor", QJsonValue(rgb_color)); } @@ -525,6 +585,66 @@ SWGSSBDemodSettings::setAgcThresholdGate(qint32 agc_threshold_gate) { this->m_agc_threshold_gate_isSet = true; } +qint32 +SWGSSBDemodSettings::getDnr() { + return dnr; +} +void +SWGSSBDemodSettings::setDnr(qint32 dnr) { + this->dnr = dnr; + this->m_dnr_isSet = true; +} + +qint32 +SWGSSBDemodSettings::getDnrScheme() { + return dnr_scheme; +} +void +SWGSSBDemodSettings::setDnrScheme(qint32 dnr_scheme) { + this->dnr_scheme = dnr_scheme; + this->m_dnr_scheme_isSet = true; +} + +float +SWGSSBDemodSettings::getDnrAboveAvgFactor() { + return dnr_above_avg_factor; +} +void +SWGSSBDemodSettings::setDnrAboveAvgFactor(float dnr_above_avg_factor) { + this->dnr_above_avg_factor = dnr_above_avg_factor; + this->m_dnr_above_avg_factor_isSet = true; +} + +float +SWGSSBDemodSettings::getDnrSigmaFactor() { + return dnr_sigma_factor; +} +void +SWGSSBDemodSettings::setDnrSigmaFactor(float dnr_sigma_factor) { + this->dnr_sigma_factor = dnr_sigma_factor; + this->m_dnr_sigma_factor_isSet = true; +} + +qint32 +SWGSSBDemodSettings::getDnrNbPeaks() { + return dnr_nb_peaks; +} +void +SWGSSBDemodSettings::setDnrNbPeaks(qint32 dnr_nb_peaks) { + this->dnr_nb_peaks = dnr_nb_peaks; + this->m_dnr_nb_peaks_isSet = true; +} + +float +SWGSSBDemodSettings::getDnrAlpha() { + return dnr_alpha; +} +void +SWGSSBDemodSettings::setDnrAlpha(float dnr_alpha) { + this->dnr_alpha = dnr_alpha; + this->m_dnr_alpha_isSet = true; +} + qint32 SWGSSBDemodSettings::getRgbColor() { return rgb_color; @@ -698,6 +818,24 @@ SWGSSBDemodSettings::isSet(){ if(m_agc_threshold_gate_isSet){ isObjectUpdated = true; break; } + if(m_dnr_isSet){ + isObjectUpdated = true; break; + } + if(m_dnr_scheme_isSet){ + isObjectUpdated = true; break; + } + if(m_dnr_above_avg_factor_isSet){ + isObjectUpdated = true; break; + } + if(m_dnr_sigma_factor_isSet){ + isObjectUpdated = true; break; + } + if(m_dnr_nb_peaks_isSet){ + isObjectUpdated = true; break; + } + if(m_dnr_alpha_isSet){ + isObjectUpdated = true; break; + } if(m_rgb_color_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.h index 2ee94390e..eae5ec343 100644 --- a/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGSSBDemodSettings.h @@ -93,6 +93,24 @@ public: qint32 getAgcThresholdGate(); void setAgcThresholdGate(qint32 agc_threshold_gate); + qint32 getDnr(); + void setDnr(qint32 dnr); + + qint32 getDnrScheme(); + void setDnrScheme(qint32 dnr_scheme); + + float getDnrAboveAvgFactor(); + void setDnrAboveAvgFactor(float dnr_above_avg_factor); + + float getDnrSigmaFactor(); + void setDnrSigmaFactor(float dnr_sigma_factor); + + qint32 getDnrNbPeaks(); + void setDnrNbPeaks(qint32 dnr_nb_peaks); + + float getDnrAlpha(); + void setDnrAlpha(float dnr_alpha); + qint32 getRgbColor(); void setRgbColor(qint32 rgb_color); @@ -181,6 +199,24 @@ private: qint32 agc_threshold_gate; bool m_agc_threshold_gate_isSet; + qint32 dnr; + bool m_dnr_isSet; + + qint32 dnr_scheme; + bool m_dnr_scheme_isSet; + + float dnr_above_avg_factor; + bool m_dnr_above_avg_factor_isSet; + + float dnr_sigma_factor; + bool m_dnr_sigma_factor_isSet; + + qint32 dnr_nb_peaks; + bool m_dnr_nb_peaks_isSet; + + float dnr_alpha; + bool m_dnr_alpha_isSet; + qint32 rgb_color; bool m_rgb_color_isSet;