diff --git a/plugins/channelrx/wdsprx/wdsprx.cpp b/plugins/channelrx/wdsprx/wdsprx.cpp
index a9c42a4d9..12f5f4670 100644
--- a/plugins/channelrx/wdsprx/wdsprx.cpp
+++ b/plugins/channelrx/wdsprx/wdsprx.cpp
@@ -632,6 +632,12 @@ void WDSPRx::webapiUpdateChannelSettings(
}
}
+ if (channelSettingsKeys.contains("rit")) {
+ settings.m_rit = response.getWdspRxSettings()->getRit() != 0;
+ }
+ if (channelSettingsKeys.contains("ritFrequency")) {
+ settings.m_ritFrequency = response.getWdspRxSettings()->getRitFrequency();
+ }
if (channelSettingsKeys.contains("spanLog2")) {
settings.m_profiles[settings.m_profileIndex].m_spanLog2 = response.getWdspRxSettings()->getSpanLog2();
}
@@ -763,6 +769,8 @@ void WDSPRx::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respon
response.getWdspRxSettings()->getEqG()->push_back(settings.m_eqG[i]);
}
+ response.getWdspRxSettings()->setRit(settings.m_rit ? 1 : 0);
+ response.getWdspRxSettings()->setRitFrequency(settings.m_ritFrequency);
response.getWdspRxSettings()->setSpanLog2(settings.m_profiles[settings.m_profileIndex].m_spanLog2);
response.getWdspRxSettings()->setRfBandwidth(settings.m_profiles[settings.m_profileIndex].m_highCutoff);
response.getWdspRxSettings()->setLowCutoff(settings.m_profiles[settings.m_profileIndex].m_lowCutoff);
@@ -1089,6 +1097,12 @@ void WDSPRx::webapiFormatChannelSettings(
}
}
+ if (channelSettingsKeys.contains("rit")) {
+ swgWDSPRxSettings->setRit(settings.m_rit ? 1 : 0);
+ }
+ if (channelSettingsKeys.contains("ritFrequency")) {
+ swgWDSPRxSettings->setRit(settings.m_ritFrequency);
+ }
if (channelSettingsKeys.contains("spanLog2") || force) {
swgWDSPRxSettings->setSpanLog2(settings.m_profiles[settings.m_profileIndex].m_spanLog2);
}
diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html
index b042a1bdb..2a7aefd0d 100644
--- a/sdrbase/resources/webapi/doc/html2/index.html
+++ b/sdrbase/resources/webapi/doc/html2/index.html
@@ -17281,7 +17281,7 @@ margin-bottom: 20px;
},
"fmAFLimiter" : {
"type" : "integer",
- "description" : "FM Audio level limiter (audio AGC)\n"
+ "description" : "FM Audio level limiter (audio AGC)\n * 0 - Off\n * 1 - On\n"
},
"fmAFLimiterGain" : {
"type" : "number",
@@ -17344,6 +17344,15 @@ margin-bottom: 20px;
"format" : "float"
}
},
+ "rit" : {
+ "type" : "integer",
+ "description" : "RIT:\n * 0 - Off\n * 1 - On\n"
+ },
+ "ritFrequency" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "RIT shift frequency (Hz)"
+ },
"spanLog2" : {
"type" : "integer"
},
@@ -59432,7 +59441,7 @@ except ApiException as e:
- Generated 2024-07-10T22:13:04.144+02:00
+ Generated 2024-07-13T13:44:10.416+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/WDSPRx.yaml b/sdrbase/resources/webapi/doc/swagger/include/WDSPRx.yaml
index 5cd613245..d4ec64791 100644
--- a/sdrbase/resources/webapi/doc/swagger/include/WDSPRx.yaml
+++ b/sdrbase/resources/webapi/doc/swagger/include/WDSPRx.yaml
@@ -175,6 +175,8 @@ WDSPRxSettings:
type: integer
description: >
FM Audio level limiter (audio AGC)
+ * 0 - Off
+ * 1 - On
fmAFLimiterGain:
type: number
format: float
@@ -237,6 +239,16 @@ WDSPRxSettings:
items:
type: number
format: float
+ rit:
+ type: integer
+ description: >
+ RIT:
+ * 0 - Off
+ * 1 - On
+ ritFrequency:
+ type: number
+ format: float
+ description: RIT shift frequency (Hz)
spanLog2:
type: integer
rfBandwidth:
diff --git a/swagger/sdrangel/api/swagger/include/WDSPRx.yaml b/swagger/sdrangel/api/swagger/include/WDSPRx.yaml
index 1921a5404..1f1452669 100644
--- a/swagger/sdrangel/api/swagger/include/WDSPRx.yaml
+++ b/swagger/sdrangel/api/swagger/include/WDSPRx.yaml
@@ -239,6 +239,16 @@ WDSPRxSettings:
items:
type: number
format: float
+ rit:
+ type: integer
+ description: >
+ RIT:
+ * 0 - Off
+ * 1 - On
+ ritFrequency:
+ type: number
+ format: float
+ description: RIT shift frequency (Hz)
spanLog2:
type: integer
rfBandwidth:
diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html
index b042a1bdb..2a7aefd0d 100644
--- a/swagger/sdrangel/code/html2/index.html
+++ b/swagger/sdrangel/code/html2/index.html
@@ -17281,7 +17281,7 @@ margin-bottom: 20px;
},
"fmAFLimiter" : {
"type" : "integer",
- "description" : "FM Audio level limiter (audio AGC)\n"
+ "description" : "FM Audio level limiter (audio AGC)\n * 0 - Off\n * 1 - On\n"
},
"fmAFLimiterGain" : {
"type" : "number",
@@ -17344,6 +17344,15 @@ margin-bottom: 20px;
"format" : "float"
}
},
+ "rit" : {
+ "type" : "integer",
+ "description" : "RIT:\n * 0 - Off\n * 1 - On\n"
+ },
+ "ritFrequency" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "RIT shift frequency (Hz)"
+ },
"spanLog2" : {
"type" : "integer"
},
@@ -59432,7 +59441,7 @@ except ApiException as e:
- Generated 2024-07-10T22:13:04.144+02:00
+ Generated 2024-07-13T13:44:10.416+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.cpp
index 0839aff5d..f5ee64999 100644
--- a/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.cpp
+++ b/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.cpp
@@ -126,6 +126,10 @@ SWGWDSPRxSettings::SWGWDSPRxSettings() {
m_eq_f_isSet = false;
eq_g = new QList();
m_eq_g_isSet = false;
+ rit = 0;
+ m_rit_isSet = false;
+ rit_frequency = 0.0f;
+ m_rit_frequency_isSet = false;
span_log2 = 0;
m_span_log2_isSet = false;
rf_bandwidth = 0.0f;
@@ -264,6 +268,10 @@ SWGWDSPRxSettings::init() {
m_eq_f_isSet = false;
eq_g = new QList();
m_eq_g_isSet = false;
+ rit = 0;
+ m_rit_isSet = false;
+ rit_frequency = 0.0f;
+ m_rit_frequency_isSet = false;
span_log2 = 0;
m_span_log2_isSet = false;
rf_bandwidth = 0.0f;
@@ -351,6 +359,8 @@ SWGWDSPRxSettings::cleanup() {
+
+
@@ -488,6 +498,10 @@ SWGWDSPRxSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&eq_f, pJson["eqF"], "QList", "float");
::SWGSDRangel::setValue(&eq_g, pJson["eqG"], "QList", "float");
+ ::SWGSDRangel::setValue(&rit, pJson["rit"], "qint32", "");
+
+ ::SWGSDRangel::setValue(&rit_frequency, pJson["ritFrequency"], "float", "");
+
::SWGSDRangel::setValue(&span_log2, pJson["spanLog2"], "qint32", "");
::SWGSDRangel::setValue(&rf_bandwidth, pJson["rfBandwidth"], "float", "");
@@ -683,6 +697,12 @@ SWGWDSPRxSettings::asJsonObject() {
if(eq_g && eq_g->size() > 0){
toJsonArray((QList*)eq_g, obj, "eqG", "");
}
+ if(m_rit_isSet){
+ obj->insert("rit", QJsonValue(rit));
+ }
+ if(m_rit_frequency_isSet){
+ obj->insert("ritFrequency", QJsonValue(rit_frequency));
+ }
if(m_span_log2_isSet){
obj->insert("spanLog2", QJsonValue(span_log2));
}
@@ -1225,6 +1245,26 @@ SWGWDSPRxSettings::setEqG(QList* eq_g) {
this->m_eq_g_isSet = true;
}
+qint32
+SWGWDSPRxSettings::getRit() {
+ return rit;
+}
+void
+SWGWDSPRxSettings::setRit(qint32 rit) {
+ this->rit = rit;
+ this->m_rit_isSet = true;
+}
+
+float
+SWGWDSPRxSettings::getRitFrequency() {
+ return rit_frequency;
+}
+void
+SWGWDSPRxSettings::setRitFrequency(float rit_frequency) {
+ this->rit_frequency = rit_frequency;
+ this->m_rit_frequency_isSet = true;
+}
+
qint32
SWGWDSPRxSettings::getSpanLog2() {
return span_log2;
@@ -1543,6 +1583,12 @@ SWGWDSPRxSettings::isSet(){
if(eq_g && (eq_g->size() > 0)){
isObjectUpdated = true; break;
}
+ if(m_rit_isSet){
+ isObjectUpdated = true; break;
+ }
+ if(m_rit_frequency_isSet){
+ isObjectUpdated = true; break;
+ }
if(m_span_log2_isSet){
isObjectUpdated = true; break;
}
diff --git a/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.h b/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.h
index 8e5b8a601..a311c3ace 100644
--- a/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.h
+++ b/swagger/sdrangel/code/qt5/client/SWGWDSPRxSettings.h
@@ -193,6 +193,12 @@ public:
QList* getEqG();
void setEqG(QList* eq_g);
+ qint32 getRit();
+ void setRit(qint32 rit);
+
+ float getRitFrequency();
+ void setRitFrequency(float rit_frequency);
+
qint32 getSpanLog2();
void setSpanLog2(qint32 span_log2);
@@ -392,6 +398,12 @@ private:
QList* eq_g;
bool m_eq_g_isSet;
+ qint32 rit;
+ bool m_rit_isSet;
+
+ float rit_frequency;
+ bool m_rit_frequency_isSet;
+
qint32 span_log2;
bool m_span_log2_isSet;