mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
SDRPlay input: implemeted WEB API (2)
This commit is contained in:
parent
2184425311
commit
da3cb2d981
@ -650,6 +650,114 @@ int SDRPlayInput::webapiRun(
|
||||
return 200;
|
||||
}
|
||||
|
||||
int SDRPlayInput::webapiSettingsGet(
|
||||
SWGSDRangel::SWGDeviceSettings& response,
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
{
|
||||
response.setSdrPlaySettings(new SWGSDRangel::SWGSDRPlaySettings());
|
||||
response.getSdrPlaySettings()->init();
|
||||
webapiFormatDeviceSettings(response, m_settings);
|
||||
return 200;
|
||||
}
|
||||
|
||||
int SDRPlayInput::webapiSettingsPutPatch(
|
||||
bool force,
|
||||
const QStringList& deviceSettingsKeys,
|
||||
SWGSDRangel::SWGDeviceSettings& response, // query + response
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
{
|
||||
SDRPlaySettings settings = m_settings;
|
||||
|
||||
if (deviceSettingsKeys.contains("centerFrequency")) {
|
||||
settings.m_centerFrequency = response.getSdrPlaySettings()->getCenterFrequency();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("tunerGain")) {
|
||||
settings.m_tunerGain = response.getSdrPlaySettings()->getTunerGain();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("LOppmTenths")) {
|
||||
settings.m_LOppmTenths = response.getSdrPlaySettings()->getLOppmTenths();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("frequencyBandIndex")) {
|
||||
settings.m_frequencyBandIndex = response.getSdrPlaySettings()->getFrequencyBandIndex();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("ifFrequencyIndex")) {
|
||||
settings.m_ifFrequencyIndex = response.getSdrPlaySettings()->getIfFrequencyIndex();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("bandwidthIndex")) {
|
||||
settings.m_bandwidthIndex = response.getSdrPlaySettings()->getBandwidthIndex();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("devSampleRateIndex")) {
|
||||
settings.m_devSampleRateIndex = response.getSdrPlaySettings()->getDevSampleRateIndex();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("log2Decim")) {
|
||||
settings.m_log2Decim = response.getSdrPlaySettings()->getLog2Decim();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("fcPos"))
|
||||
{
|
||||
int fcPos = response.getSdrPlaySettings()->getFcPos();
|
||||
fcPos = fcPos < 0 ? 0 : fcPos > 2 ? 2 : fcPos;
|
||||
settings.m_fcPos = (SDRPlaySettings::fcPos_t) fcPos;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("dcBlock")) {
|
||||
settings.m_dcBlock = response.getSdrPlaySettings()->getDcBlock() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("iqCorrection")) {
|
||||
settings.m_iqCorrection = response.getSdrPlaySettings()->getIqCorrection() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("tunerGainMode")) {
|
||||
settings.m_tunerGainMode = response.getSdrPlaySettings()->getTunerGainMode() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("lnaOn")) {
|
||||
settings.m_lnaOn = response.getSdrPlaySettings()->getLnaOn() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("mixerAmpOn")) {
|
||||
settings.m_mixerAmpOn = response.getSdrPlaySettings()->getMixerAmpOn() != 0;
|
||||
}
|
||||
if (deviceSettingsKeys.contains("basebandGain")) {
|
||||
settings.m_basebandGain = response.getSdrPlaySettings()->getBasebandGain();
|
||||
}
|
||||
if (deviceSettingsKeys.contains("fileRecordName")) {
|
||||
settings.m_fileRecordName = *response.getRtlSdrSettings()->getFileRecordName();
|
||||
}
|
||||
|
||||
MsgConfigureSDRPlay *msg = MsgConfigureSDRPlay::create(settings, force);
|
||||
m_inputMessageQueue.push(msg);
|
||||
|
||||
if (m_guiMessageQueue) // forward to GUI if any
|
||||
{
|
||||
MsgConfigureSDRPlay *msgToGUI = MsgConfigureSDRPlay::create(settings, force);
|
||||
m_guiMessageQueue->push(msgToGUI);
|
||||
}
|
||||
|
||||
webapiFormatDeviceSettings(response, settings);
|
||||
return 200;
|
||||
}
|
||||
|
||||
void SDRPlayInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SDRPlaySettings& settings)
|
||||
{
|
||||
response.getSdrPlaySettings()->setCenterFrequency(settings.m_centerFrequency);
|
||||
response.getSdrPlaySettings()->setTunerGain(settings.m_tunerGain);
|
||||
response.getSdrPlaySettings()->setLOppmTenths(settings.m_LOppmTenths);
|
||||
response.getSdrPlaySettings()->setFrequencyBandIndex(settings.m_frequencyBandIndex);
|
||||
response.getSdrPlaySettings()->setIfFrequencyIndex(settings.m_ifFrequencyIndex);
|
||||
response.getSdrPlaySettings()->setBandwidthIndex(settings.m_bandwidthIndex);
|
||||
response.getSdrPlaySettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex);
|
||||
response.getSdrPlaySettings()->setLog2Decim(settings.m_log2Decim);
|
||||
response.getSdrPlaySettings()->setFcPos((int) settings.m_fcPos);
|
||||
response.getSdrPlaySettings()->setDcBlock(settings.m_dcBlock ? 1 : 0);
|
||||
response.getSdrPlaySettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0);
|
||||
response.getSdrPlaySettings()->setTunerGainMode((int) settings.m_tunerGainMode);
|
||||
response.getSdrPlaySettings()->setLnaOn(settings.m_lnaOn ? 1 : 0);
|
||||
response.getSdrPlaySettings()->setMixerAmpOn(settings.m_mixerAmpOn ? 1 : 0);
|
||||
response.getSdrPlaySettings()->setBasebandGain(settings.m_basebandGain);
|
||||
|
||||
if (response.getSdrPlaySettings()->getFileRecordName()) {
|
||||
*response.getSdrPlaySettings()->getFileRecordName() = settings.m_fileRecordName;
|
||||
} else {
|
||||
response.getSdrPlaySettings()->setFileRecordName(new QString(settings.m_fileRecordName));
|
||||
}
|
||||
}
|
||||
|
||||
int SDRPlayInput::webapiReportGet(
|
||||
SWGSDRangel::SWGDeviceReport& response,
|
||||
QString& errorMessage __attribute__((unused)))
|
||||
|
@ -33,8 +33,6 @@ SDRPlaySettings:
|
||||
type: integer
|
||||
basebandGain:
|
||||
type: integer
|
||||
iqCorrection:
|
||||
type: integer
|
||||
fileRecordName:
|
||||
type: string
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user