mirror of https://github.com/f4exb/sdrangel.git
HackRF output: FcPos parameter in REST API
This commit is contained in:
parent
b9a06b2966
commit
4e24dd954e
|
@ -132,7 +132,10 @@ bool HackRFOutput::start()
|
||||||
// mutexLocker.unlock();
|
// mutexLocker.unlock();
|
||||||
|
|
||||||
applySettings(m_settings, true);
|
applySettings(m_settings, true);
|
||||||
m_hackRFThread->setLog2Interpolation(m_settings.m_log2Interp);
|
|
||||||
|
m_hackRFThread->setSamplerate(m_settings.m_devSampleRate);
|
||||||
|
m_hackRFThread->setLog2Interpolation(m_settings.m_log2Interp);
|
||||||
|
m_hackRFThread->setFcPos((int) m_settings.m_fcPos);
|
||||||
|
|
||||||
m_hackRFThread->startWork();
|
m_hackRFThread->startWork();
|
||||||
|
|
||||||
|
@ -413,6 +416,9 @@ bool HackRFOutput::applySettings(const HackRFOutputSettings& settings, bool forc
|
||||||
if ((m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force) {
|
if ((m_settings.m_LOppmTenths != settings.m_LOppmTenths) || force) {
|
||||||
reverseAPIKeys.append("LOppmTenths");
|
reverseAPIKeys.append("LOppmTenths");
|
||||||
}
|
}
|
||||||
|
if ((m_settings.m_fcPos != settings.m_fcPos) || force) {
|
||||||
|
reverseAPIKeys.append("fcPos");
|
||||||
|
}
|
||||||
|
|
||||||
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) ||
|
if ((m_settings.m_centerFrequency != settings.m_centerFrequency) ||
|
||||||
(m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
(m_settings.m_devSampleRate != settings.m_devSampleRate) ||
|
||||||
|
@ -571,6 +577,12 @@ int HackRFOutput::webapiSettingsPutPatch(
|
||||||
if (deviceSettingsKeys.contains("log2Interp")) {
|
if (deviceSettingsKeys.contains("log2Interp")) {
|
||||||
settings.m_log2Interp = response.getHackRfOutputSettings()->getLog2Interp();
|
settings.m_log2Interp = response.getHackRfOutputSettings()->getLog2Interp();
|
||||||
}
|
}
|
||||||
|
if (deviceSettingsKeys.contains("fcPos"))
|
||||||
|
{
|
||||||
|
int fcPos = response.getHackRfInputSettings()->getFcPos();
|
||||||
|
fcPos = fcPos < 0 ? 0 : fcPos > 2 ? 2 : fcPos;
|
||||||
|
settings.m_fcPos = (HackRFOutputSettings::fcPos_t) fcPos;
|
||||||
|
}
|
||||||
if (deviceSettingsKeys.contains("devSampleRate")) {
|
if (deviceSettingsKeys.contains("devSampleRate")) {
|
||||||
settings.m_devSampleRate = response.getHackRfOutputSettings()->getDevSampleRate();
|
settings.m_devSampleRate = response.getHackRfOutputSettings()->getDevSampleRate();
|
||||||
}
|
}
|
||||||
|
@ -613,6 +625,7 @@ void HackRFOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re
|
||||||
response.getHackRfOutputSettings()->setBandwidth(settings.m_bandwidth);
|
response.getHackRfOutputSettings()->setBandwidth(settings.m_bandwidth);
|
||||||
response.getHackRfOutputSettings()->setVgaGain(settings.m_vgaGain);
|
response.getHackRfOutputSettings()->setVgaGain(settings.m_vgaGain);
|
||||||
response.getHackRfOutputSettings()->setLog2Interp(settings.m_log2Interp);
|
response.getHackRfOutputSettings()->setLog2Interp(settings.m_log2Interp);
|
||||||
|
response.getHackRfOutputSettings()->setFcPos(settings.m_fcPos);
|
||||||
response.getHackRfOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
|
response.getHackRfOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
|
||||||
response.getHackRfOutputSettings()->setBiasT(settings.m_biasT ? 1 : 0);
|
response.getHackRfOutputSettings()->setBiasT(settings.m_biasT ? 1 : 0);
|
||||||
response.getHackRfOutputSettings()->setLnaExt(settings.m_lnaExt ? 1 : 0);
|
response.getHackRfOutputSettings()->setLnaExt(settings.m_lnaExt ? 1 : 0);
|
||||||
|
@ -683,6 +696,9 @@ void HackRFOutput::webapiReverseSendSettings(QList<QString>& deviceSettingsKeys,
|
||||||
if (deviceSettingsKeys.contains("log2Interp") || force) {
|
if (deviceSettingsKeys.contains("log2Interp") || force) {
|
||||||
swgHackRFOutputSettings->setLog2Interp(settings.m_log2Interp);
|
swgHackRFOutputSettings->setLog2Interp(settings.m_log2Interp);
|
||||||
}
|
}
|
||||||
|
if (deviceSettingsKeys.contains("fcPos") || force) {
|
||||||
|
swgHackRFOutputSettings->setFcPos((int) settings.m_fcPos);
|
||||||
|
}
|
||||||
if (deviceSettingsKeys.contains("devSampleRate") || force) {
|
if (deviceSettingsKeys.contains("devSampleRate") || force) {
|
||||||
swgHackRFOutputSettings->setDevSampleRate(settings.m_devSampleRate);
|
swgHackRFOutputSettings->setDevSampleRate(settings.m_devSampleRate);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2828,6 +2828,10 @@ margin-bottom: 20px;
|
||||||
"log2Interp" : {
|
"log2Interp" : {
|
||||||
"type" : "integer"
|
"type" : "integer"
|
||||||
},
|
},
|
||||||
|
"fcPos" : {
|
||||||
|
"type" : "integer",
|
||||||
|
"description" : "0=Infra 1=Supra 2=Center"
|
||||||
|
},
|
||||||
"devSampleRate" : {
|
"devSampleRate" : {
|
||||||
"type" : "integer"
|
"type" : "integer"
|
||||||
},
|
},
|
||||||
|
@ -24649,7 +24653,7 @@ except ApiException as e:
|
||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2019-03-30T20:33:10.840+01:00
|
Generated 2019-04-02T13:22:46.589+02:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -53,6 +53,9 @@ HackRFOutputSettings:
|
||||||
type: integer
|
type: integer
|
||||||
log2Interp:
|
log2Interp:
|
||||||
type: integer
|
type: integer
|
||||||
|
fcPos:
|
||||||
|
description: 0=Infra 1=Supra 2=Center
|
||||||
|
type: integer
|
||||||
devSampleRate:
|
devSampleRate:
|
||||||
type: integer
|
type: integer
|
||||||
biasT:
|
biasT:
|
||||||
|
|
|
@ -53,6 +53,9 @@ HackRFOutputSettings:
|
||||||
type: integer
|
type: integer
|
||||||
log2Interp:
|
log2Interp:
|
||||||
type: integer
|
type: integer
|
||||||
|
fcPos:
|
||||||
|
description: 0=Infra 1=Supra 2=Center
|
||||||
|
type: integer
|
||||||
devSampleRate:
|
devSampleRate:
|
||||||
type: integer
|
type: integer
|
||||||
biasT:
|
biasT:
|
||||||
|
|
|
@ -2828,6 +2828,10 @@ margin-bottom: 20px;
|
||||||
"log2Interp" : {
|
"log2Interp" : {
|
||||||
"type" : "integer"
|
"type" : "integer"
|
||||||
},
|
},
|
||||||
|
"fcPos" : {
|
||||||
|
"type" : "integer",
|
||||||
|
"description" : "0=Infra 1=Supra 2=Center"
|
||||||
|
},
|
||||||
"devSampleRate" : {
|
"devSampleRate" : {
|
||||||
"type" : "integer"
|
"type" : "integer"
|
||||||
},
|
},
|
||||||
|
@ -24649,7 +24653,7 @@ except ApiException as e:
|
||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2019-03-30T20:33:10.840+01:00
|
Generated 2019-04-02T13:22:46.589+02:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -38,6 +38,8 @@ SWGHackRFOutputSettings::SWGHackRFOutputSettings() {
|
||||||
m_vga_gain_isSet = false;
|
m_vga_gain_isSet = false;
|
||||||
log2_interp = 0;
|
log2_interp = 0;
|
||||||
m_log2_interp_isSet = false;
|
m_log2_interp_isSet = false;
|
||||||
|
fc_pos = 0;
|
||||||
|
m_fc_pos_isSet = false;
|
||||||
dev_sample_rate = 0;
|
dev_sample_rate = 0;
|
||||||
m_dev_sample_rate_isSet = false;
|
m_dev_sample_rate_isSet = false;
|
||||||
bias_t = 0;
|
bias_t = 0;
|
||||||
|
@ -70,6 +72,8 @@ SWGHackRFOutputSettings::init() {
|
||||||
m_vga_gain_isSet = false;
|
m_vga_gain_isSet = false;
|
||||||
log2_interp = 0;
|
log2_interp = 0;
|
||||||
m_log2_interp_isSet = false;
|
m_log2_interp_isSet = false;
|
||||||
|
fc_pos = 0;
|
||||||
|
m_fc_pos_isSet = false;
|
||||||
dev_sample_rate = 0;
|
dev_sample_rate = 0;
|
||||||
m_dev_sample_rate_isSet = false;
|
m_dev_sample_rate_isSet = false;
|
||||||
bias_t = 0;
|
bias_t = 0;
|
||||||
|
@ -97,6 +101,7 @@ SWGHackRFOutputSettings::cleanup() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(reverse_api_address != nullptr) {
|
if(reverse_api_address != nullptr) {
|
||||||
delete reverse_api_address;
|
delete reverse_api_address;
|
||||||
}
|
}
|
||||||
|
@ -125,6 +130,8 @@ SWGHackRFOutputSettings::fromJsonObject(QJsonObject &pJson) {
|
||||||
|
|
||||||
::SWGSDRangel::setValue(&log2_interp, pJson["log2Interp"], "qint32", "");
|
::SWGSDRangel::setValue(&log2_interp, pJson["log2Interp"], "qint32", "");
|
||||||
|
|
||||||
|
::SWGSDRangel::setValue(&fc_pos, pJson["fcPos"], "qint32", "");
|
||||||
|
|
||||||
::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", "");
|
::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", "");
|
||||||
|
|
||||||
::SWGSDRangel::setValue(&bias_t, pJson["biasT"], "qint32", "");
|
::SWGSDRangel::setValue(&bias_t, pJson["biasT"], "qint32", "");
|
||||||
|
@ -170,6 +177,9 @@ SWGHackRFOutputSettings::asJsonObject() {
|
||||||
if(m_log2_interp_isSet){
|
if(m_log2_interp_isSet){
|
||||||
obj->insert("log2Interp", QJsonValue(log2_interp));
|
obj->insert("log2Interp", QJsonValue(log2_interp));
|
||||||
}
|
}
|
||||||
|
if(m_fc_pos_isSet){
|
||||||
|
obj->insert("fcPos", QJsonValue(fc_pos));
|
||||||
|
}
|
||||||
if(m_dev_sample_rate_isSet){
|
if(m_dev_sample_rate_isSet){
|
||||||
obj->insert("devSampleRate", QJsonValue(dev_sample_rate));
|
obj->insert("devSampleRate", QJsonValue(dev_sample_rate));
|
||||||
}
|
}
|
||||||
|
@ -245,6 +255,16 @@ SWGHackRFOutputSettings::setLog2Interp(qint32 log2_interp) {
|
||||||
this->m_log2_interp_isSet = true;
|
this->m_log2_interp_isSet = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qint32
|
||||||
|
SWGHackRFOutputSettings::getFcPos() {
|
||||||
|
return fc_pos;
|
||||||
|
}
|
||||||
|
void
|
||||||
|
SWGHackRFOutputSettings::setFcPos(qint32 fc_pos) {
|
||||||
|
this->fc_pos = fc_pos;
|
||||||
|
this->m_fc_pos_isSet = true;
|
||||||
|
}
|
||||||
|
|
||||||
qint32
|
qint32
|
||||||
SWGHackRFOutputSettings::getDevSampleRate() {
|
SWGHackRFOutputSettings::getDevSampleRate() {
|
||||||
return dev_sample_rate;
|
return dev_sample_rate;
|
||||||
|
@ -325,6 +345,7 @@ SWGHackRFOutputSettings::isSet(){
|
||||||
if(m_bandwidth_isSet){ isObjectUpdated = true; break;}
|
if(m_bandwidth_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_vga_gain_isSet){ isObjectUpdated = true; break;}
|
if(m_vga_gain_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_log2_interp_isSet){ isObjectUpdated = true; break;}
|
if(m_log2_interp_isSet){ isObjectUpdated = true; break;}
|
||||||
|
if(m_fc_pos_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;}
|
if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_bias_t_isSet){ isObjectUpdated = true; break;}
|
if(m_bias_t_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_lna_ext_isSet){ isObjectUpdated = true; break;}
|
if(m_lna_ext_isSet){ isObjectUpdated = true; break;}
|
||||||
|
|
|
@ -57,6 +57,9 @@ public:
|
||||||
qint32 getLog2Interp();
|
qint32 getLog2Interp();
|
||||||
void setLog2Interp(qint32 log2_interp);
|
void setLog2Interp(qint32 log2_interp);
|
||||||
|
|
||||||
|
qint32 getFcPos();
|
||||||
|
void setFcPos(qint32 fc_pos);
|
||||||
|
|
||||||
qint32 getDevSampleRate();
|
qint32 getDevSampleRate();
|
||||||
void setDevSampleRate(qint32 dev_sample_rate);
|
void setDevSampleRate(qint32 dev_sample_rate);
|
||||||
|
|
||||||
|
@ -97,6 +100,9 @@ private:
|
||||||
qint32 log2_interp;
|
qint32 log2_interp;
|
||||||
bool m_log2_interp_isSet;
|
bool m_log2_interp_isSet;
|
||||||
|
|
||||||
|
qint32 fc_pos;
|
||||||
|
bool m_fc_pos_isSet;
|
||||||
|
|
||||||
qint32 dev_sample_rate;
|
qint32 dev_sample_rate;
|
||||||
bool m_dev_sample_rate_isSet;
|
bool m_dev_sample_rate_isSet;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue