diff --git a/plugins/channeltx/modnfm/nfmmod.cpp b/plugins/channeltx/modnfm/nfmmod.cpp index 62c7b5d18..50800d4b8 100644 --- a/plugins/channeltx/modnfm/nfmmod.cpp +++ b/plugins/channeltx/modnfm/nfmmod.cpp @@ -566,6 +566,12 @@ void NFMMod::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("dcsPositive")) { settings.m_dcsPositive = response.getNfmModSettings()->getDcsPositive() != 0; } + if (channelSettingsKeys.contains("preEmphasisOn")) { + settings.m_preEmphasisOn = response.getNfmModSettings()->getPreEmphasisOn() != 0; + } + if (channelSettingsKeys.contains("bpfOn")) { + settings.m_bpfOn = response.getNfmModSettings()->getBpfOn() != 0; + } if (channelSettingsKeys.contains("streamIndex")) { settings.m_streamIndex = response.getNfmModSettings()->getStreamIndex(); } @@ -638,6 +644,8 @@ void NFMMod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respon response.getNfmModSettings()->setDcsCode(settings.m_dcsCode); response.getNfmModSettings()->setDcsOn(settings.m_dcsOn ? 1 : 0); response.getNfmModSettings()->setDcsPositive(settings.m_dcsPositive ? 1 : 0); + response.getNfmModSettings()->setPreEmphasisOn(settings.m_preEmphasisOn ? 1 : 0); + response.getNfmModSettings()->setBpfOn(settings.m_bpfOn ? 1 : 0); response.getNfmModSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getNfmModSettings()->getReverseApiAddress()) { @@ -835,6 +843,12 @@ void NFMMod::webapiFormatChannelSettings( if (channelSettingsKeys.contains("dcsPositive") || force) { swgNFMModSettings->setDcsPositive(settings.m_dcsPositive ? 1 : 0); } + if (channelSettingsKeys.contains("preEmphasisOn") || force) { + swgNFMModSettings->setPreEmphasisOn(settings.m_preEmphasisOn ? 1 : 0); + } + if (channelSettingsKeys.contains("bpfOn") || force) { + swgNFMModSettings->setBpfOn(settings.m_bpfOn ? 1 : 0); + } if (channelSettingsKeys.contains("streamIndex") || force) { swgNFMModSettings->setStreamIndex(settings.m_streamIndex); } diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 3578ff455..3efca3e1a 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -8951,6 +8951,14 @@ margin-bottom: 20px; "modAFInput" : { "type" : "integer" }, + "preEmphasisOn" : { + "type" : "integer", + "description" : "Activate pre-emphasis filter: * 0 - inactive * 1 - active\n" + }, + "bpfOn" : { + "type" : "integer", + "description" : "Activate audio highpass filter when no CTCSS nor DCS: * 0 - inactive * 1 - active\n" + }, "streamIndex" : { "type" : "integer", "description" : "MIMO channel. Not relevant when connected to SI (single Rx)." @@ -56161,7 +56169,7 @@ except ApiException as e:
- Generated 2022-05-31T23:33:55.570+02:00 + Generated 2022-06-04T08:51:44.121+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml b/sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml index 2b82f5d03..a20109dd4 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/NFMMod.yaml @@ -53,6 +53,18 @@ NFMModSettings: type: string modAFInput: type: integer + preEmphasisOn: + type: integer + description: > + Activate pre-emphasis filter: + * 0 - inactive + * 1 - active + bpfOn: + type: integer + description: > + Activate audio highpass filter when no CTCSS nor DCS: + * 0 - inactive + * 1 - active streamIndex: description: MIMO channel. Not relevant when connected to SI (single Rx). type: integer diff --git a/swagger/sdrangel/api/swagger/include/NFMMod.yaml b/swagger/sdrangel/api/swagger/include/NFMMod.yaml index 2e29f4bf5..3279ddc14 100644 --- a/swagger/sdrangel/api/swagger/include/NFMMod.yaml +++ b/swagger/sdrangel/api/swagger/include/NFMMod.yaml @@ -53,6 +53,18 @@ NFMModSettings: type: string modAFInput: type: integer + preEmphasisOn: + type: integer + description: > + Activate pre-emphasis filter: + * 0 - inactive + * 1 - active + bpfOn: + type: integer + description: > + Activate audio highpass filter when no CTCSS nor DCS: + * 0 - inactive + * 1 - active streamIndex: description: MIMO channel. Not relevant when connected to SI (single Rx). type: integer diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 3578ff455..3efca3e1a 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -8951,6 +8951,14 @@ margin-bottom: 20px; "modAFInput" : { "type" : "integer" }, + "preEmphasisOn" : { + "type" : "integer", + "description" : "Activate pre-emphasis filter: * 0 - inactive * 1 - active\n" + }, + "bpfOn" : { + "type" : "integer", + "description" : "Activate audio highpass filter when no CTCSS nor DCS: * 0 - inactive * 1 - active\n" + }, "streamIndex" : { "type" : "integer", "description" : "MIMO channel. Not relevant when connected to SI (single Rx)." @@ -56161,7 +56169,7 @@ except ApiException as e:
- Generated 2022-05-31T23:33:55.570+02:00 + Generated 2022-06-04T08:51:44.121+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp index 4b40338de..a19e96eb4 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.cpp @@ -62,6 +62,10 @@ SWGNFMModSettings::SWGNFMModSettings() { m_audio_device_name_isSet = false; mod_af_input = 0; m_mod_af_input_isSet = false; + pre_emphasis_on = 0; + m_pre_emphasis_on_isSet = false; + bpf_on = 0; + m_bpf_on_isSet = false; stream_index = 0; m_stream_index_isSet = false; use_reverse_api = 0; @@ -122,6 +126,10 @@ SWGNFMModSettings::init() { m_audio_device_name_isSet = false; mod_af_input = 0; m_mod_af_input_isSet = false; + pre_emphasis_on = 0; + m_pre_emphasis_on_isSet = false; + bpf_on = 0; + m_bpf_on_isSet = false; stream_index = 0; m_stream_index_isSet = false; use_reverse_api = 0; @@ -167,6 +175,8 @@ SWGNFMModSettings::cleanup() { + + if(reverse_api_address != nullptr) { delete reverse_api_address; } @@ -229,6 +239,10 @@ SWGNFMModSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&mod_af_input, pJson["modAFInput"], "qint32", ""); + ::SWGSDRangel::setValue(&pre_emphasis_on, pJson["preEmphasisOn"], "qint32", ""); + + ::SWGSDRangel::setValue(&bpf_on, pJson["bpfOn"], "qint32", ""); + ::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", ""); ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); @@ -314,6 +328,12 @@ SWGNFMModSettings::asJsonObject() { if(m_mod_af_input_isSet){ obj->insert("modAFInput", QJsonValue(mod_af_input)); } + if(m_pre_emphasis_on_isSet){ + obj->insert("preEmphasisOn", QJsonValue(pre_emphasis_on)); + } + if(m_bpf_on_isSet){ + obj->insert("bpfOn", QJsonValue(bpf_on)); + } if(m_stream_index_isSet){ obj->insert("streamIndex", QJsonValue(stream_index)); } @@ -515,6 +535,26 @@ SWGNFMModSettings::setModAfInput(qint32 mod_af_input) { this->m_mod_af_input_isSet = true; } +qint32 +SWGNFMModSettings::getPreEmphasisOn() { + return pre_emphasis_on; +} +void +SWGNFMModSettings::setPreEmphasisOn(qint32 pre_emphasis_on) { + this->pre_emphasis_on = pre_emphasis_on; + this->m_pre_emphasis_on_isSet = true; +} + +qint32 +SWGNFMModSettings::getBpfOn() { + return bpf_on; +} +void +SWGNFMModSettings::setBpfOn(qint32 bpf_on) { + this->bpf_on = bpf_on; + this->m_bpf_on_isSet = true; +} + qint32 SWGNFMModSettings::getStreamIndex() { return stream_index; @@ -661,6 +701,12 @@ SWGNFMModSettings::isSet(){ if(m_mod_af_input_isSet){ isObjectUpdated = true; break; } + if(m_pre_emphasis_on_isSet){ + isObjectUpdated = true; break; + } + if(m_bpf_on_isSet){ + isObjectUpdated = true; break; + } if(m_stream_index_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h index 508e68023..6864ab9e5 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGNFMModSettings.h @@ -96,6 +96,12 @@ public: qint32 getModAfInput(); void setModAfInput(qint32 mod_af_input); + qint32 getPreEmphasisOn(); + void setPreEmphasisOn(qint32 pre_emphasis_on); + + qint32 getBpfOn(); + void setBpfOn(qint32 bpf_on); + qint32 getStreamIndex(); void setStreamIndex(qint32 stream_index); @@ -178,6 +184,12 @@ private: qint32 mod_af_input; bool m_mod_af_input_isSet; + qint32 pre_emphasis_on; + bool m_pre_emphasis_on_isSet; + + qint32 bpf_on; + bool m_bpf_on_isSet; + qint32 stream_index; bool m_stream_index_isSet;