mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-10 02:37:47 -04:00
Web API: /sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}/settings PUT, PATCH for NFM demod and mod. Fixes (2)
This commit is contained in:
parent
44346267fc
commit
0436848490
@ -489,6 +489,7 @@ int NFMMod::webapiSettingsGet(
|
|||||||
response.getNfmModSettings()->setCtcssOn(m_settings.m_ctcssOn ? 1 : 0);
|
response.getNfmModSettings()->setCtcssOn(m_settings.m_ctcssOn ? 1 : 0);
|
||||||
response.getNfmModSettings()->setFmDeviation(m_settings.m_fmDeviation);
|
response.getNfmModSettings()->setFmDeviation(m_settings.m_fmDeviation);
|
||||||
response.getNfmModSettings()->setInputFrequencyOffset(m_settings.m_inputFrequencyOffset);
|
response.getNfmModSettings()->setInputFrequencyOffset(m_settings.m_inputFrequencyOffset);
|
||||||
|
response.getNfmModSettings()->setModAfInput((int) m_settings.m_modAFInput);
|
||||||
response.getNfmModSettings()->setOutputSampleRate(m_settings.m_outputSampleRate);
|
response.getNfmModSettings()->setOutputSampleRate(m_settings.m_outputSampleRate);
|
||||||
response.getNfmModSettings()->setPlayLoop(m_settings.m_playLoop ? 1 : 0);
|
response.getNfmModSettings()->setPlayLoop(m_settings.m_playLoop ? 1 : 0);
|
||||||
response.getNfmModSettings()->setRfBandwidth(m_settings.m_rfBandwidth);
|
response.getNfmModSettings()->setRfBandwidth(m_settings.m_rfBandwidth);
|
||||||
@ -520,6 +521,7 @@ int NFMMod::webapiSettingsPutPatch(
|
|||||||
settings.m_ctcssOn = response.getNfmModSettings()->getCtcssOn() != 0;
|
settings.m_ctcssOn = response.getNfmModSettings()->getCtcssOn() != 0;
|
||||||
settings.m_fmDeviation = response.getNfmModSettings()->getFmDeviation();
|
settings.m_fmDeviation = response.getNfmModSettings()->getFmDeviation();
|
||||||
settings.m_inputFrequencyOffset = response.getNfmModSettings()->getInputFrequencyOffset();
|
settings.m_inputFrequencyOffset = response.getNfmModSettings()->getInputFrequencyOffset();
|
||||||
|
settings.m_modAFInput = (NFMModSettings::NFMModInputAF) response.getNfmModSettings()->getModAfInput();
|
||||||
settings.m_outputSampleRate = response.getNfmModSettings()->getOutputSampleRate();
|
settings.m_outputSampleRate = response.getNfmModSettings()->getOutputSampleRate();
|
||||||
settings.m_playLoop = response.getNfmModSettings()->getPlayLoop() != 0;
|
settings.m_playLoop = response.getNfmModSettings()->getPlayLoop() != 0;
|
||||||
settings.m_rfBandwidth = response.getNfmModSettings()->getRfBandwidth();
|
settings.m_rfBandwidth = response.getNfmModSettings()->getRfBandwidth();
|
||||||
|
@ -461,7 +461,7 @@ void NFMModGUI::tick()
|
|||||||
m_channelPowerDbAvg.feed(powDb);
|
m_channelPowerDbAvg.feed(powDb);
|
||||||
ui->channelPower->setText(tr("%1 dB").arg(m_channelPowerDbAvg.average(), 0, 'f', 1));
|
ui->channelPower->setText(tr("%1 dB").arg(m_channelPowerDbAvg.average(), 0, 'f', 1));
|
||||||
|
|
||||||
if (((++m_tickCount & 0xf) == 0) && (m_settings.m_modAFInput == NFMMod::NFMModInputFile))
|
if (((++m_tickCount & 0xf) == 0) && (m_settings.m_modAFInput == NFMModSettings::NFMModInputFile))
|
||||||
{
|
{
|
||||||
NFMMod::MsgConfigureFileSourceStreamTiming* message = NFMMod::MsgConfigureFileSourceStreamTiming::create();
|
NFMMod::MsgConfigureFileSourceStreamTiming* message = NFMMod::MsgConfigureFileSourceStreamTiming::create();
|
||||||
m_nfmMod->getInputMessageQueue()->push(message);
|
m_nfmMod->getInputMessageQueue()->push(message);
|
||||||
|
@ -1324,6 +1324,9 @@ margin-bottom: 20px;
|
|||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
},
|
},
|
||||||
|
"modAFInput" : {
|
||||||
|
"type" : "integer"
|
||||||
|
},
|
||||||
"cwKeyer" : {
|
"cwKeyer" : {
|
||||||
"$ref" : "#/definitions/CWKeyerSettings"
|
"$ref" : "#/definitions/CWKeyerSettings"
|
||||||
}
|
}
|
||||||
@ -13764,7 +13767,7 @@ except ApiException as e:
|
|||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2017-12-10T18:03:56.008+01:00
|
Generated 2017-12-12T23:11:28.100+01:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1175,6 +1175,10 @@ bool WebAPIRequestMapper::validateChannelSettings(SWGSDRangel::SWGChannelSetting
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebAPIRequestMapper::resetDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings)
|
void WebAPIRequestMapper::resetDeviceSettings(SWGSDRangel::SWGDeviceSettings& deviceSettings)
|
||||||
|
@ -36,6 +36,8 @@ NFMModSettings:
|
|||||||
type: integer
|
type: integer
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
|
modAFInput:
|
||||||
|
type: integer
|
||||||
cwKeyer:
|
cwKeyer:
|
||||||
$ref: "http://localhost:8081/CWKeyer.yaml#/CWKeyerSettings"
|
$ref: "http://localhost:8081/CWKeyer.yaml#/CWKeyerSettings"
|
||||||
|
|
@ -1324,6 +1324,9 @@ margin-bottom: 20px;
|
|||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
},
|
},
|
||||||
|
"modAFInput" : {
|
||||||
|
"type" : "integer"
|
||||||
|
},
|
||||||
"cwKeyer" : {
|
"cwKeyer" : {
|
||||||
"$ref" : "#/definitions/CWKeyerSettings"
|
"$ref" : "#/definitions/CWKeyerSettings"
|
||||||
}
|
}
|
||||||
@ -13764,7 +13767,7 @@ except ApiException as e:
|
|||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2017-12-10T18:03:56.008+01:00
|
Generated 2017-12-12T23:11:28.100+01:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -52,6 +52,7 @@ SWGNFMModSettings::init() {
|
|||||||
ctcss_index = 0;
|
ctcss_index = 0;
|
||||||
rgb_color = 0;
|
rgb_color = 0;
|
||||||
title = new QString("");
|
title = new QString("");
|
||||||
|
mod_af_input = 0;
|
||||||
cw_keyer = new SWGCWKeyerSettings();
|
cw_keyer = new SWGCWKeyerSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,6 +77,7 @@ SWGNFMModSettings::cleanup() {
|
|||||||
delete title;
|
delete title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(cw_keyer != nullptr) {
|
if(cw_keyer != nullptr) {
|
||||||
delete cw_keyer;
|
delete cw_keyer;
|
||||||
}
|
}
|
||||||
@ -107,6 +109,7 @@ SWGNFMModSettings::fromJsonObject(QJsonObject &pJson) {
|
|||||||
::SWGSDRangel::setValue(&ctcss_index, pJson["ctcssIndex"], "qint32", "");
|
::SWGSDRangel::setValue(&ctcss_index, pJson["ctcssIndex"], "qint32", "");
|
||||||
::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", "");
|
::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", "");
|
||||||
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
||||||
|
::SWGSDRangel::setValue(&mod_af_input, pJson["modAFInput"], "qint32", "");
|
||||||
::SWGSDRangel::setValue(&cw_keyer, pJson["cwKeyer"], "SWGCWKeyerSettings", "SWGCWKeyerSettings");
|
::SWGSDRangel::setValue(&cw_keyer, pJson["cwKeyer"], "SWGCWKeyerSettings", "SWGCWKeyerSettings");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,6 +157,8 @@ SWGNFMModSettings::asJsonObject() {
|
|||||||
|
|
||||||
toJsonValue(QString("title"), title, obj, QString("QString"));
|
toJsonValue(QString("title"), title, obj, QString("QString"));
|
||||||
|
|
||||||
|
obj->insert("modAFInput", QJsonValue(mod_af_input));
|
||||||
|
|
||||||
toJsonValue(QString("cwKeyer"), cw_keyer, obj, QString("SWGCWKeyerSettings"));
|
toJsonValue(QString("cwKeyer"), cw_keyer, obj, QString("SWGCWKeyerSettings"));
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
@ -294,6 +299,15 @@ SWGNFMModSettings::setTitle(QString* title) {
|
|||||||
this->title = title;
|
this->title = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qint32
|
||||||
|
SWGNFMModSettings::getModAfInput() {
|
||||||
|
return mod_af_input;
|
||||||
|
}
|
||||||
|
void
|
||||||
|
SWGNFMModSettings::setModAfInput(qint32 mod_af_input) {
|
||||||
|
this->mod_af_input = mod_af_input;
|
||||||
|
}
|
||||||
|
|
||||||
SWGCWKeyerSettings*
|
SWGCWKeyerSettings*
|
||||||
SWGNFMModSettings::getCwKeyer() {
|
SWGNFMModSettings::getCwKeyer() {
|
||||||
return cw_keyer;
|
return cw_keyer;
|
||||||
|
@ -88,6 +88,9 @@ public:
|
|||||||
QString* getTitle();
|
QString* getTitle();
|
||||||
void setTitle(QString* title);
|
void setTitle(QString* title);
|
||||||
|
|
||||||
|
qint32 getModAfInput();
|
||||||
|
void setModAfInput(qint32 mod_af_input);
|
||||||
|
|
||||||
SWGCWKeyerSettings* getCwKeyer();
|
SWGCWKeyerSettings* getCwKeyer();
|
||||||
void setCwKeyer(SWGCWKeyerSettings* cw_keyer);
|
void setCwKeyer(SWGCWKeyerSettings* cw_keyer);
|
||||||
|
|
||||||
@ -108,6 +111,7 @@ private:
|
|||||||
qint32 ctcss_index;
|
qint32 ctcss_index;
|
||||||
qint32 rgb_color;
|
qint32 rgb_color;
|
||||||
QString* title;
|
QString* title;
|
||||||
|
qint32 mod_af_input;
|
||||||
SWGCWKeyerSettings* cw_keyer;
|
SWGCWKeyerSettings* cw_keyer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -80,6 +80,7 @@ def main():
|
|||||||
settings["NFMModSettings"]["cwKeyer"]["text"] = "VVV DE F4EXB "
|
settings["NFMModSettings"]["cwKeyer"]["text"] = "VVV DE F4EXB "
|
||||||
settings["NFMModSettings"]["cwKeyer"]["loop"] = 1
|
settings["NFMModSettings"]["cwKeyer"]["loop"] = 1
|
||||||
settings["NFMModSettings"]["cwKeyer"]["mode"] = 1 # text
|
settings["NFMModSettings"]["cwKeyer"]["mode"] = 1 # text
|
||||||
|
settings["NFMModSettings"]["modAFInput"] = 4
|
||||||
|
|
||||||
r = callAPI("/deviceset/1/channel/0/settings", "PATCH", None, settings, "Change NFM mod")
|
r = callAPI("/deviceset/1/channel/0/settings", "PATCH", None, settings, "Change NFM mod")
|
||||||
if r is None:
|
if r is None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user