mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-21 23:55:13 -05:00
BladerRF2 input support (1)
This commit is contained in:
parent
57ef3a0567
commit
d808f049f6
@ -10,8 +10,6 @@
|
||||
|
||||
SDRangel is a near real time application that is demanding on CPU power and clock speeds for low latency. Recent (2015 or later) Core i7 class CPU is recommended preferably with 4 HT CPU cores (8 logical CPUs or more) with nominal clock over 2 GHz and at least 8 GB RAM. Modern Intel processors will include a GPU suitable for proper OpenGL support. On the other hand SDRangel is not as demanding as recent computer games for graphics and CPU integrated graphics are perfectly fine. USB-3 ports are also preferable for high speed, low latency USB communication.
|
||||
|
||||
⚠ The "server mode version" sdrangelsrv will not run on any ARM machine in particular the Raspberry Pi. It will work only on x86_64 architecture and you will need a server based on Intel Xeon E5 series or better.
|
||||
|
||||
<h1>Source code</h1>
|
||||
|
||||
<h2>Repository branches</h2>
|
||||
|
@ -27,7 +27,7 @@ endif (BUILD_DEBIAN)
|
||||
#add_definitions(-DQT_SHARED)
|
||||
|
||||
add_library(bladerf2device SHARED
|
||||
${bladerf1device_SOURCES}
|
||||
${bladerf2device_SOURCES}
|
||||
)
|
||||
|
||||
if (BUILD_DEBIAN)
|
||||
|
@ -14,34 +14,47 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "devicebladerf2.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
|
||||
bool DeviceBladeRF2::open_bladerf(struct bladerf **dev, const char *serial)
|
||||
#include <QtGlobal>
|
||||
|
||||
#include "devicebladerf2.h"
|
||||
|
||||
DeviceBladeRF2::DeviceBladeRF2() :
|
||||
m_dev(0)
|
||||
{}
|
||||
|
||||
DeviceBladeRF2::~DeviceBladeRF2()
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
bladerf_close(m_dev);
|
||||
m_dev = 0;
|
||||
}
|
||||
}
|
||||
|
||||
bool DeviceBladeRF2::open(const char *serial)
|
||||
{
|
||||
int fpga_loaded;
|
||||
|
||||
if ((*dev = open_bladerf_from_serial(serial)) == 0)
|
||||
if ((m_dev = open_bladerf_from_serial(serial)) == 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::open_bladerf: could not open BladeRF");
|
||||
qCritical("DeviceBladeRF2::open: could not open BladeRF");
|
||||
return false;
|
||||
}
|
||||
|
||||
fpga_loaded = bladerf_is_fpga_configured(*dev);
|
||||
fpga_loaded = bladerf_is_fpga_configured(m_dev);
|
||||
|
||||
if (fpga_loaded < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::open_bladerf: failed to check FPGA state: %s",
|
||||
qCritical("DeviceBladeRF2::open: failed to check FPGA state: %s",
|
||||
bladerf_strerror(fpga_loaded));
|
||||
return false;
|
||||
}
|
||||
else if (fpga_loaded == 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::start: the device's FPGA is not loaded.");
|
||||
qCritical("DeviceBladeRF2::open: the device's FPGA is not loaded.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -87,4 +100,187 @@ struct bladerf *DeviceBladeRF2::open_bladerf_from_serial(const char *serial)
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getFrequencyRangeRx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_frequency_range(m_dev, BLADERF_CHANNEL_RX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getFrequencyRangeRx: Failed to get Rx frequency range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getFrequencyRangeTx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_frequency_range(m_dev, BLADERF_CHANNEL_TX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getFrequencyRangeTx: Failed to get Tx frequency range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getSampleRateRangeRx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_sample_rate_range(m_dev, BLADERF_CHANNEL_RX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getSampleRateRangeRx: Failed to get Rx sample rate range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getSampleRateRangeTx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_sample_rate_range(m_dev, BLADERF_CHANNEL_TX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getSampleRateRangeTx: Failed to get Tx sample rate range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getBandwidthRangeRx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_bandwidth_range(m_dev, BLADERF_CHANNEL_RX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getBandwidthRangeRx: Failed to get Rx bandwidth range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getBandwidthRangeTx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_bandwidth_range(m_dev, BLADERF_CHANNEL_TX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getBandwidthRangeTx: Failed to get Tx bandwidth range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getGlobalGainRangeRx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_gain_range(m_dev, BLADERF_CHANNEL_RX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getGlobalGainRangeRx: Failed to get Rx global gain range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBladeRF2::getGlobalGainRangeTx(int& min, int& max, int& step)
|
||||
{
|
||||
if (m_dev)
|
||||
{
|
||||
const struct bladerf_range *range;
|
||||
int status;
|
||||
|
||||
status = bladerf_get_gain_range(m_dev, BLADERF_CHANNEL_TX(0), &range);
|
||||
|
||||
if (status < 0)
|
||||
{
|
||||
qCritical("DeviceBladeRF2::getGlobalGainRangeTx: Failed to get Tx global gain range: %s",
|
||||
bladerf_strerror(status));
|
||||
}
|
||||
else
|
||||
{
|
||||
min = range->min;
|
||||
max = range->max;
|
||||
step = range->step;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
#ifndef DEVICES_BLADERF2_DEVICEBLADERF2_H_
|
||||
#define DEVICES_BLADERF2_DEVICEBLADERF2_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <libbladeRF.h>
|
||||
|
||||
#include "export.h"
|
||||
@ -24,9 +25,23 @@
|
||||
class DEVICES_API DeviceBladeRF2
|
||||
{
|
||||
public:
|
||||
static bool open_bladerf(struct bladerf **dev, const char *serial);
|
||||
DeviceBladeRF2();
|
||||
~DeviceBladeRF2();
|
||||
|
||||
bool open(const char *serial);
|
||||
void close();
|
||||
|
||||
void getFrequencyRangeRx(int& min, int& max, int& step);
|
||||
void getFrequencyRangeTx(int& min, int& max, int& step);
|
||||
void getSampleRateRangeRx(int& min, int& max, int& step);
|
||||
void getSampleRateRangeTx(int& min, int& max, int& step);
|
||||
void getBandwidthRangeRx(int& min, int& max, int& step);
|
||||
void getBandwidthRangeTx(int& min, int& max, int& step);
|
||||
void getGlobalGainRangeRx(int& min, int& max, int& step);
|
||||
void getGlobalGainRangeTx(int& min, int& max, int& step);
|
||||
|
||||
private:
|
||||
bladerf *m_dev;
|
||||
static struct bladerf *open_bladerf_from_serial(const char *serial);
|
||||
};
|
||||
|
||||
|
152
plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp
Normal file
152
plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp
Normal file
@ -0,0 +1,152 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "bladerf2inputplugin.h"
|
||||
|
||||
#include <QtPlugin>
|
||||
#include <libbladeRF.h>
|
||||
#include "plugin/pluginapi.h"
|
||||
#include "util/simpleserializer.h"
|
||||
#include <device/devicesourceapi.h>
|
||||
|
||||
#ifdef SERVER_MODE
|
||||
#include "bladerf2input.h"
|
||||
#else
|
||||
#include "bladerf2inputgui.h"
|
||||
#endif
|
||||
|
||||
const PluginDescriptor Blderf2InputPlugin::m_pluginDescriptor = {
|
||||
QString("BladeRF2 Input"),
|
||||
QString("4.2.0"),
|
||||
QString("(c) Edouard Griffiths, F4EXB"),
|
||||
QString("https://github.com/f4exb/sdrangel"),
|
||||
true,
|
||||
QString("https://github.com/f4exb/sdrangel")
|
||||
};
|
||||
|
||||
const QString Blderf2InputPlugin::m_hardwareID = "BladeRF2";
|
||||
const QString Blderf2InputPlugin::m_deviceTypeID = BLADERF2INPUT_DEVICE_TYPE_ID;
|
||||
|
||||
Blderf2InputPlugin::Blderf2InputPlugin(QObject* parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
}
|
||||
|
||||
const PluginDescriptor& Blderf2InputPlugin::getPluginDescriptor() const
|
||||
{
|
||||
return m_pluginDescriptor;
|
||||
}
|
||||
|
||||
void Blderf2InputPlugin::initPlugin(PluginAPI* pluginAPI)
|
||||
{
|
||||
pluginAPI->registerSampleSource(m_deviceTypeID, this);
|
||||
}
|
||||
|
||||
PluginInterface::SamplingDevices Blderf2InputPlugin::enumSampleSources()
|
||||
{
|
||||
SamplingDevices result;
|
||||
struct bladerf_devinfo *devinfo = 0;
|
||||
|
||||
int count = bladerf_get_device_list(&devinfo);
|
||||
|
||||
if (devinfo)
|
||||
{
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
struct bladerf *dev;
|
||||
|
||||
int status = bladerf_open_with_devinfo(&dev, &devinfo[i]);
|
||||
|
||||
if (status == BLADERF_ERR_NODEV)
|
||||
{
|
||||
qCritical("Blderf2InputPlugin::enumSampleSources: No device at index %d", i);
|
||||
continue;
|
||||
}
|
||||
else if (status != 0)
|
||||
{
|
||||
qCritical("Blderf2InputPlugin::enumSampleSources: Failed to open device at index %d", i);
|
||||
continue;
|
||||
}
|
||||
|
||||
const char *boardName = bladerf_get_board_name(dev);
|
||||
|
||||
if (strcmp(boardName, "bladerf2") == 0)
|
||||
{
|
||||
QString displayedName(QString("BladeRF2[%1] %2").arg(devinfo[i].instance).arg(devinfo[i].serial));
|
||||
|
||||
result.append(SamplingDevice(displayedName,
|
||||
m_hardwareID,
|
||||
m_deviceTypeID,
|
||||
QString(devinfo[i].serial),
|
||||
i,
|
||||
PluginInterface::SamplingDevice::PhysicalDevice,
|
||||
true,
|
||||
1,
|
||||
0));
|
||||
}
|
||||
|
||||
bladerf_close(dev);
|
||||
}
|
||||
|
||||
bladerf_free_device_list(devinfo); // Valgrind memcheck
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef SERVER_MODE
|
||||
PluginInstanceGUI* Blderf2InputPlugin::createSampleSourcePluginInstanceGUI(
|
||||
const QString& sourceId __attribute__((unused)),
|
||||
QWidget **widget __attribute__((unused)),
|
||||
DeviceUISet *deviceUISet __attribute__((unused)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
PluginInstanceGUI* Blderf2InputPlugin::createSampleSourcePluginInstanceGUI(
|
||||
const QString& sourceId,
|
||||
QWidget **widget,
|
||||
DeviceUISet *deviceUISet)
|
||||
{
|
||||
if(sourceId == m_deviceTypeID)
|
||||
{
|
||||
Bladerf2InputGui* gui = new Bladerf2InputGui(deviceUISet);
|
||||
*widget = gui;
|
||||
return gui;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
DeviceSampleSource *Blderf2InputPlugin::createSampleSourcePluginInstanceInput(const QString& sourceId, DeviceSourceAPI *deviceAPI)
|
||||
{
|
||||
if (sourceId == m_deviceTypeID)
|
||||
{
|
||||
Bladerf2Input *input = new Bladerf2Input(deviceAPI);
|
||||
return input;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
57
plugins/samplesource/bladerf2input/bladerf2inputplugin.h
Normal file
57
plugins/samplesource/bladerf2input/bladerf2inputplugin.h
Normal file
@ -0,0 +1,57 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTPLUGIN_H_
|
||||
#define PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTPLUGIN_H_
|
||||
|
||||
#include <QObject>
|
||||
#include "plugin/plugininterface.h"
|
||||
|
||||
class PluginAPI;
|
||||
class DeviceSourceAPI;
|
||||
class DeviceUISet;
|
||||
|
||||
#define BLADERF2INPUT_DEVICE_TYPE_ID "sdrangel.samplesource.bladerf2input"
|
||||
|
||||
class Blderf2InputPlugin : public QObject, public PluginInterface {
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(PluginInterface)
|
||||
Q_PLUGIN_METADATA(IID BLADERF2INPUT_DEVICE_TYPE_ID)
|
||||
|
||||
public:
|
||||
explicit Blderf2InputPlugin(QObject* parent = 0);
|
||||
|
||||
const PluginDescriptor& getPluginDescriptor() const;
|
||||
void initPlugin(PluginAPI* pluginAPI);
|
||||
|
||||
virtual SamplingDevices enumSampleSources();
|
||||
virtual PluginInstanceGUI* createSampleSourcePluginInstanceGUI(
|
||||
const QString& sourceId,
|
||||
QWidget **widget,
|
||||
DeviceUISet *deviceUISet);
|
||||
virtual DeviceSampleSource* createSampleSourcePluginInstanceInput(const QString& sourceId, DeviceSourceAPI *deviceAPI);
|
||||
|
||||
static const QString m_hardwareID;
|
||||
static const QString m_deviceTypeID;
|
||||
|
||||
private:
|
||||
static const PluginDescriptor m_pluginDescriptor;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTPLUGIN_H_ */
|
92
plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp
Normal file
92
plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp
Normal file
@ -0,0 +1,92 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "bladerf2inputsettings.h"
|
||||
|
||||
#include "util/simpleserializer.h"
|
||||
|
||||
BladeRF2InputSettings::BladeRF2InputSettings()
|
||||
{
|
||||
resetToDefaults();
|
||||
}
|
||||
|
||||
void BladeRF2InputSettings::resetToDefaults()
|
||||
{
|
||||
m_centerFrequency = 435000*1000;
|
||||
m_devSampleRate = 3072000;
|
||||
m_bandwidth = 1500000;
|
||||
m_gainMode = 0;
|
||||
m_globalGain = 0;
|
||||
m_biasTee = false;
|
||||
m_log2Decim = 0;
|
||||
m_fcPos = FC_POS_INFRA;
|
||||
m_dcBlock = false;
|
||||
m_iqCorrection = false;
|
||||
m_fileRecordName = "";
|
||||
}
|
||||
|
||||
QByteArray BladeRF2InputSettings::serialize() const
|
||||
{
|
||||
SimpleSerializer s(1);
|
||||
|
||||
s.writeS32(1, m_devSampleRate);
|
||||
s.writeS32(2, m_bandwidth);
|
||||
s.writeS32(3, m_gainMode);
|
||||
s.writeS32(4, m_globalGain);
|
||||
s.writeBool(5, m_biasTee);
|
||||
s.writeU32(6, m_log2Decim);
|
||||
s.writeS32(7, (int) m_fcPos);
|
||||
s.writeBool(8, m_dcBlock);
|
||||
s.writeBool(9, m_iqCorrection);
|
||||
|
||||
return s.final();
|
||||
}
|
||||
|
||||
bool BladeRF2InputSettings::deserialize(const QByteArray& data)
|
||||
{
|
||||
SimpleDeserializer d(data);
|
||||
|
||||
if (!d.isValid())
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (d.getVersion() == 1)
|
||||
{
|
||||
int intval;
|
||||
|
||||
d.readS32(1, &m_devSampleRate, 3072000);
|
||||
d.readS32(2, &m_bandwidth);
|
||||
d.readS32(3, &m_gainMode);
|
||||
d.readS32(4, &m_globalGain);
|
||||
d.readBool(5, &m_biasTee);
|
||||
d.readU32(6, &m_log2Decim);
|
||||
d.readS32(7, &intval);
|
||||
m_fcPos = (fcPos_t) intval;
|
||||
d.readBool(8, &m_dcBlock);
|
||||
d.readBool(9, &m_iqCorrection);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
resetToDefaults();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
52
plugins/samplesource/bladerf2input/bladerf2inputsettings.h
Normal file
52
plugins/samplesource/bladerf2input/bladerf2inputsettings.h
Normal file
@ -0,0 +1,52 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTSETTINGS_H_
|
||||
#define PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTSETTINGS_H_
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QString>
|
||||
#include <libbladeRF.h>
|
||||
|
||||
struct BladeRF2InputSettings {
|
||||
typedef enum {
|
||||
FC_POS_INFRA = 0,
|
||||
FC_POS_SUPRA,
|
||||
FC_POS_CENTER
|
||||
} fcPos_t;
|
||||
|
||||
quint64 m_centerFrequency;
|
||||
qint32 m_devSampleRate;
|
||||
qint32 m_bandwidth;
|
||||
int m_gainMode;
|
||||
int m_globalGain;
|
||||
bool m_biasTee;
|
||||
quint32 m_log2Decim;
|
||||
fcPos_t m_fcPos;
|
||||
bool m_dcBlock;
|
||||
bool m_iqCorrection;
|
||||
QString m_fileRecordName;
|
||||
|
||||
BladeRF2InputSettings();
|
||||
void resetToDefaults();
|
||||
QByteArray serialize() const;
|
||||
bool deserialize(const QByteArray& data);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTSETTINGS_H_ */
|
@ -27,7 +27,6 @@
|
||||
|
||||
class DeviceSourceAPI;
|
||||
class LimeSDRInputThread;
|
||||
struct DeviceLimeSDRParams;
|
||||
class FileRecord;
|
||||
|
||||
class LimeSDRInput : public DeviceSampleSource
|
||||
|
@ -9,6 +9,7 @@
|
||||
<file>webapi/doc/swagger/include/ATVMod.yaml</file>
|
||||
<file>webapi/doc/swagger/include/BFMDemod.yaml</file>
|
||||
<file>webapi/doc/swagger/include/BladeRF1.yaml</file>
|
||||
<file>webapi/doc/swagger/include/BladeRF2.yaml</file>
|
||||
<file>webapi/doc/swagger/include/CWKeyer.yaml</file>
|
||||
<file>webapi/doc/swagger/include/DSDDemod.yaml</file>
|
||||
<file>webapi/doc/swagger/include/FCDPro.yaml</file>
|
||||
|
@ -1267,7 +1267,7 @@ margin-bottom: 20px;
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF"
|
||||
"description" : "BladeRF1"
|
||||
};
|
||||
defs.BladeRF1OutputSettings = {
|
||||
"properties" : {
|
||||
@ -1300,7 +1300,63 @@ margin-bottom: 20px;
|
||||
"type" : "integer"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF"
|
||||
"description" : "BladeRF1"
|
||||
};
|
||||
defs.BladeRF2InputReport = {
|
||||
"properties" : {
|
||||
"frequencyRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"sampleRateRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"bandwidthRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"globalGainRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF2"
|
||||
};
|
||||
defs.BladeRF2InputSettings = {
|
||||
"properties" : {
|
||||
"centerFrequency" : {
|
||||
"type" : "integer",
|
||||
"format" : "int64"
|
||||
},
|
||||
"devSampleRate" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"bandwidth" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"gainMode" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"globalGain" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"biasTee" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"log2Decim" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"fcPos" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"dcBlock" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"iqCorrection" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"fileRecordName" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF2"
|
||||
};
|
||||
defs.CWKeyerSettings = {
|
||||
"properties" : {
|
||||
@ -1838,6 +1894,9 @@ margin-bottom: 20px;
|
||||
"airspyHFReport" : {
|
||||
"$ref" : "#/definitions/AirspyHFReport"
|
||||
},
|
||||
"bladeRF2InputReport" : {
|
||||
"$ref" : "#/definitions/BladeRF2InputReport"
|
||||
},
|
||||
"fileSourceReport" : {
|
||||
"$ref" : "#/definitions/FileSourceReport"
|
||||
},
|
||||
@ -1932,6 +1991,9 @@ margin-bottom: 20px;
|
||||
"bladeRF1InputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF1InputSettings"
|
||||
},
|
||||
"bladeRF2InputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF2InputSettings"
|
||||
},
|
||||
"bladeRF1OutputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF1OutputSettings"
|
||||
},
|
||||
@ -3147,6 +3209,20 @@ margin-bottom: 20px;
|
||||
"format" : "float"
|
||||
}
|
||||
}
|
||||
};
|
||||
defs.Range = {
|
||||
"properties" : {
|
||||
"min" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"max" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"step" : {
|
||||
"type" : "integer"
|
||||
}
|
||||
},
|
||||
"description" : "An arbitrary range of values"
|
||||
};
|
||||
defs.RtlSdrReport = {
|
||||
"properties" : {
|
||||
@ -23066,7 +23142,7 @@ except ApiException as e:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2018-09-19T05:34:44.404+02:00
|
||||
Generated 2018-09-22T10:27:51.856+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
BladeRF1InputSettings:
|
||||
description: BladeRF
|
||||
description: BladeRF1
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
@ -32,7 +32,7 @@ BladeRF1InputSettings:
|
||||
type: string
|
||||
|
||||
BladeRF1OutputSettings:
|
||||
description: BladeRF
|
||||
description: BladeRF1
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
|
39
sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml
Normal file
39
sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
BladeRF2InputSettings:
|
||||
description: BladeRF2
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
devSampleRate:
|
||||
type: integer
|
||||
bandwidth:
|
||||
type: integer
|
||||
gainMode:
|
||||
type: integer
|
||||
globalGain:
|
||||
type: integer
|
||||
biasTee:
|
||||
type: integer
|
||||
log2Decim:
|
||||
type: integer
|
||||
fcPos:
|
||||
type: integer
|
||||
dcBlock:
|
||||
type: integer
|
||||
iqCorrection:
|
||||
type: integer
|
||||
fileRecordName:
|
||||
type: string
|
||||
|
||||
BladeRF2InputReport:
|
||||
description: BladeRF2
|
||||
properties:
|
||||
frequencyRange:
|
||||
$ref: "/doc/swagger/include/Structs.yaml#/Range"
|
||||
sampleRateRange:
|
||||
$ref: "/doc/swagger/include/Structs.yaml#/Range"
|
||||
bandwidthRange:
|
||||
$ref: "/doc/swagger/include/Structs.yaml#/Range"
|
||||
globalGainRange:
|
||||
$ref: "/doc/swagger/include/Structs.yaml#/Range"
|
||||
|
@ -31,4 +31,13 @@ Gain:
|
||||
properties:
|
||||
gainCB:
|
||||
type: integer
|
||||
|
||||
|
||||
Range:
|
||||
description: An arbitrary range of values
|
||||
properties:
|
||||
min:
|
||||
type: integer
|
||||
max:
|
||||
type: integer
|
||||
step:
|
||||
type: integer
|
@ -1765,6 +1765,8 @@ definitions:
|
||||
$ref: "/doc/swagger/include/AirspyHF.yaml#/AirspyHFSettings"
|
||||
bladeRF1InputSettings:
|
||||
$ref: "/doc/swagger/include/BladeRF1.yaml#/BladeRF1InputSettings"
|
||||
bladeRF2InputSettings:
|
||||
$ref: "/doc/swagger/include/BladeRF2.yaml#/BladeRF2InputSettings"
|
||||
bladeRF1OutputSettings:
|
||||
$ref: "/doc/swagger/include/BladeRF1.yaml#/BladeRF1OutputSettings"
|
||||
fcdProSettings:
|
||||
@ -1816,6 +1818,8 @@ definitions:
|
||||
$ref: "/doc/swagger/include/Airspy.yaml#/AirspyReport"
|
||||
airspyHFReport:
|
||||
$ref: "/doc/swagger/include/AirspyHF.yaml#/AirspyHFReport"
|
||||
bladeRF2InputReport:
|
||||
$ref: "/doc/swagger/include/BladeRF2.yaml#/BladeRF2InputReport"
|
||||
fileSourceReport:
|
||||
$ref: "/doc/swagger/include/FileSource.yaml#/FileSourceReport"
|
||||
limeSdrInputReport:
|
||||
|
@ -1,5 +1,5 @@
|
||||
BladeRF1InputSettings:
|
||||
description: BladeRF
|
||||
description: BladeRF1
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
@ -32,7 +32,7 @@ BladeRF1InputSettings:
|
||||
type: string
|
||||
|
||||
BladeRF1OutputSettings:
|
||||
description: BladeRF
|
||||
description: BladeRF1
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
|
39
swagger/sdrangel/api/swagger/include/BladeRF2.yaml
Normal file
39
swagger/sdrangel/api/swagger/include/BladeRF2.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
BladeRF2InputSettings:
|
||||
description: BladeRF2
|
||||
properties:
|
||||
centerFrequency:
|
||||
type: integer
|
||||
format: int64
|
||||
devSampleRate:
|
||||
type: integer
|
||||
bandwidth:
|
||||
type: integer
|
||||
gainMode:
|
||||
type: integer
|
||||
globalGain:
|
||||
type: integer
|
||||
biasTee:
|
||||
type: integer
|
||||
log2Decim:
|
||||
type: integer
|
||||
fcPos:
|
||||
type: integer
|
||||
dcBlock:
|
||||
type: integer
|
||||
iqCorrection:
|
||||
type: integer
|
||||
fileRecordName:
|
||||
type: string
|
||||
|
||||
BladeRF2InputReport:
|
||||
description: BladeRF2
|
||||
properties:
|
||||
frequencyRange:
|
||||
$ref: "http://localhost:8081/api/swagger/include/Structs.yaml#/Range"
|
||||
sampleRateRange:
|
||||
$ref: "http://localhost:8081/api/swagger/include/Structs.yaml#/Range"
|
||||
bandwidthRange:
|
||||
$ref: "http://localhost:8081/api/swagger/include/Structs.yaml#/Range"
|
||||
globalGainRange:
|
||||
$ref: "http://localhost:8081/api/swagger/include/Structs.yaml#/Range"
|
||||
|
@ -31,4 +31,13 @@ Gain:
|
||||
properties:
|
||||
gainCB:
|
||||
type: integer
|
||||
|
||||
|
||||
Range:
|
||||
description: An arbitrary range of values
|
||||
properties:
|
||||
min:
|
||||
type: integer
|
||||
max:
|
||||
type: integer
|
||||
step:
|
||||
type: integer
|
@ -1765,6 +1765,8 @@ definitions:
|
||||
$ref: "http://localhost:8081/api/swagger/include/AirspyHF.yaml#/AirspyHFSettings"
|
||||
bladeRF1InputSettings:
|
||||
$ref: "http://localhost:8081/api/swagger/include/BladeRF1.yaml#/BladeRF1InputSettings"
|
||||
bladeRF2InputSettings:
|
||||
$ref: "http://localhost:8081/api/swagger/include/BladeRF2.yaml#/BladeRF2InputSettings"
|
||||
bladeRF1OutputSettings:
|
||||
$ref: "http://localhost:8081/api/swagger/include/BladeRF1.yaml#/BladeRF1OutputSettings"
|
||||
fcdProSettings:
|
||||
@ -1816,6 +1818,8 @@ definitions:
|
||||
$ref: "http://localhost:8081/api/swagger/include/Airspy.yaml#/AirspyReport"
|
||||
airspyHFReport:
|
||||
$ref: "http://localhost:8081/api/swagger/include/AirspyHF.yaml#/AirspyHFReport"
|
||||
bladeRF2InputReport:
|
||||
$ref: "http://localhost:8081/api/swagger/include/BladeRF2.yaml#/BladeRF2InputReport"
|
||||
fileSourceReport:
|
||||
$ref: "http://localhost:8081/api/swagger/include/FileSource.yaml#/FileSourceReport"
|
||||
limeSdrInputReport:
|
||||
|
@ -1267,7 +1267,7 @@ margin-bottom: 20px;
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF"
|
||||
"description" : "BladeRF1"
|
||||
};
|
||||
defs.BladeRF1OutputSettings = {
|
||||
"properties" : {
|
||||
@ -1300,7 +1300,63 @@ margin-bottom: 20px;
|
||||
"type" : "integer"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF"
|
||||
"description" : "BladeRF1"
|
||||
};
|
||||
defs.BladeRF2InputReport = {
|
||||
"properties" : {
|
||||
"frequencyRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"sampleRateRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"bandwidthRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
},
|
||||
"globalGainRange" : {
|
||||
"$ref" : "#/definitions/Range"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF2"
|
||||
};
|
||||
defs.BladeRF2InputSettings = {
|
||||
"properties" : {
|
||||
"centerFrequency" : {
|
||||
"type" : "integer",
|
||||
"format" : "int64"
|
||||
},
|
||||
"devSampleRate" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"bandwidth" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"gainMode" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"globalGain" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"biasTee" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"log2Decim" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"fcPos" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"dcBlock" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"iqCorrection" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"fileRecordName" : {
|
||||
"type" : "string"
|
||||
}
|
||||
},
|
||||
"description" : "BladeRF2"
|
||||
};
|
||||
defs.CWKeyerSettings = {
|
||||
"properties" : {
|
||||
@ -1838,6 +1894,9 @@ margin-bottom: 20px;
|
||||
"airspyHFReport" : {
|
||||
"$ref" : "#/definitions/AirspyHFReport"
|
||||
},
|
||||
"bladeRF2InputReport" : {
|
||||
"$ref" : "#/definitions/BladeRF2InputReport"
|
||||
},
|
||||
"fileSourceReport" : {
|
||||
"$ref" : "#/definitions/FileSourceReport"
|
||||
},
|
||||
@ -1932,6 +1991,9 @@ margin-bottom: 20px;
|
||||
"bladeRF1InputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF1InputSettings"
|
||||
},
|
||||
"bladeRF2InputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF2InputSettings"
|
||||
},
|
||||
"bladeRF1OutputSettings" : {
|
||||
"$ref" : "#/definitions/BladeRF1OutputSettings"
|
||||
},
|
||||
@ -3147,6 +3209,20 @@ margin-bottom: 20px;
|
||||
"format" : "float"
|
||||
}
|
||||
}
|
||||
};
|
||||
defs.Range = {
|
||||
"properties" : {
|
||||
"min" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"max" : {
|
||||
"type" : "integer"
|
||||
},
|
||||
"step" : {
|
||||
"type" : "integer"
|
||||
}
|
||||
},
|
||||
"description" : "An arbitrary range of values"
|
||||
};
|
||||
defs.RtlSdrReport = {
|
||||
"properties" : {
|
||||
@ -23066,7 +23142,7 @@ except ApiException as e:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2018-09-19T05:34:44.404+02:00
|
||||
Generated 2018-09-22T10:27:51.856+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -13,7 +13,7 @@
|
||||
/*
|
||||
* SWGBladeRF1InputSettings.h
|
||||
*
|
||||
* BladeRF
|
||||
* BladeRF1
|
||||
*/
|
||||
|
||||
#ifndef SWGBladeRF1InputSettings_H_
|
||||
|
@ -13,7 +13,7 @@
|
||||
/*
|
||||
* SWGBladeRF1OutputSettings.h
|
||||
*
|
||||
* BladeRF
|
||||
* BladeRF1
|
||||
*/
|
||||
|
||||
#ifndef SWGBladeRF1OutputSettings_H_
|
||||
|
177
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputReport.cpp
Normal file
177
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputReport.cpp
Normal file
@ -0,0 +1,177 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
#include "SWGBladeRF2InputReport.h"
|
||||
|
||||
#include "SWGHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
SWGBladeRF2InputReport::SWGBladeRF2InputReport(QString* json) {
|
||||
init();
|
||||
this->fromJson(*json);
|
||||
}
|
||||
|
||||
SWGBladeRF2InputReport::SWGBladeRF2InputReport() {
|
||||
frequency_range = nullptr;
|
||||
m_frequency_range_isSet = false;
|
||||
sample_rate_range = nullptr;
|
||||
m_sample_rate_range_isSet = false;
|
||||
bandwidth_range = nullptr;
|
||||
m_bandwidth_range_isSet = false;
|
||||
global_gain_range = nullptr;
|
||||
m_global_gain_range_isSet = false;
|
||||
}
|
||||
|
||||
SWGBladeRF2InputReport::~SWGBladeRF2InputReport() {
|
||||
this->cleanup();
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputReport::init() {
|
||||
frequency_range = new SWGRange();
|
||||
m_frequency_range_isSet = false;
|
||||
sample_rate_range = new SWGRange();
|
||||
m_sample_rate_range_isSet = false;
|
||||
bandwidth_range = new SWGRange();
|
||||
m_bandwidth_range_isSet = false;
|
||||
global_gain_range = new SWGRange();
|
||||
m_global_gain_range_isSet = false;
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputReport::cleanup() {
|
||||
if(frequency_range != nullptr) {
|
||||
delete frequency_range;
|
||||
}
|
||||
if(sample_rate_range != nullptr) {
|
||||
delete sample_rate_range;
|
||||
}
|
||||
if(bandwidth_range != nullptr) {
|
||||
delete bandwidth_range;
|
||||
}
|
||||
if(global_gain_range != nullptr) {
|
||||
delete global_gain_range;
|
||||
}
|
||||
}
|
||||
|
||||
SWGBladeRF2InputReport*
|
||||
SWGBladeRF2InputReport::fromJson(QString &json) {
|
||||
QByteArray array (json.toStdString().c_str());
|
||||
QJsonDocument doc = QJsonDocument::fromJson(array);
|
||||
QJsonObject jsonObject = doc.object();
|
||||
this->fromJsonObject(jsonObject);
|
||||
return this;
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputReport::fromJsonObject(QJsonObject &pJson) {
|
||||
::SWGSDRangel::setValue(&frequency_range, pJson["frequencyRange"], "SWGRange", "SWGRange");
|
||||
|
||||
::SWGSDRangel::setValue(&sample_rate_range, pJson["sampleRateRange"], "SWGRange", "SWGRange");
|
||||
|
||||
::SWGSDRangel::setValue(&bandwidth_range, pJson["bandwidthRange"], "SWGRange", "SWGRange");
|
||||
|
||||
::SWGSDRangel::setValue(&global_gain_range, pJson["globalGainRange"], "SWGRange", "SWGRange");
|
||||
|
||||
}
|
||||
|
||||
QString
|
||||
SWGBladeRF2InputReport::asJson ()
|
||||
{
|
||||
QJsonObject* obj = this->asJsonObject();
|
||||
|
||||
QJsonDocument doc(*obj);
|
||||
QByteArray bytes = doc.toJson();
|
||||
delete obj;
|
||||
return QString(bytes);
|
||||
}
|
||||
|
||||
QJsonObject*
|
||||
SWGBladeRF2InputReport::asJsonObject() {
|
||||
QJsonObject* obj = new QJsonObject();
|
||||
if((frequency_range != nullptr) && (frequency_range->isSet())){
|
||||
toJsonValue(QString("frequencyRange"), frequency_range, obj, QString("SWGRange"));
|
||||
}
|
||||
if((sample_rate_range != nullptr) && (sample_rate_range->isSet())){
|
||||
toJsonValue(QString("sampleRateRange"), sample_rate_range, obj, QString("SWGRange"));
|
||||
}
|
||||
if((bandwidth_range != nullptr) && (bandwidth_range->isSet())){
|
||||
toJsonValue(QString("bandwidthRange"), bandwidth_range, obj, QString("SWGRange"));
|
||||
}
|
||||
if((global_gain_range != nullptr) && (global_gain_range->isSet())){
|
||||
toJsonValue(QString("globalGainRange"), global_gain_range, obj, QString("SWGRange"));
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
SWGRange*
|
||||
SWGBladeRF2InputReport::getFrequencyRange() {
|
||||
return frequency_range;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputReport::setFrequencyRange(SWGRange* frequency_range) {
|
||||
this->frequency_range = frequency_range;
|
||||
this->m_frequency_range_isSet = true;
|
||||
}
|
||||
|
||||
SWGRange*
|
||||
SWGBladeRF2InputReport::getSampleRateRange() {
|
||||
return sample_rate_range;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputReport::setSampleRateRange(SWGRange* sample_rate_range) {
|
||||
this->sample_rate_range = sample_rate_range;
|
||||
this->m_sample_rate_range_isSet = true;
|
||||
}
|
||||
|
||||
SWGRange*
|
||||
SWGBladeRF2InputReport::getBandwidthRange() {
|
||||
return bandwidth_range;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputReport::setBandwidthRange(SWGRange* bandwidth_range) {
|
||||
this->bandwidth_range = bandwidth_range;
|
||||
this->m_bandwidth_range_isSet = true;
|
||||
}
|
||||
|
||||
SWGRange*
|
||||
SWGBladeRF2InputReport::getGlobalGainRange() {
|
||||
return global_gain_range;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputReport::setGlobalGainRange(SWGRange* global_gain_range) {
|
||||
this->global_gain_range = global_gain_range;
|
||||
this->m_global_gain_range_isSet = true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
SWGBladeRF2InputReport::isSet(){
|
||||
bool isObjectUpdated = false;
|
||||
do{
|
||||
if(frequency_range != nullptr && frequency_range->isSet()){ isObjectUpdated = true; break;}
|
||||
if(sample_rate_range != nullptr && sample_rate_range->isSet()){ isObjectUpdated = true; break;}
|
||||
if(bandwidth_range != nullptr && bandwidth_range->isSet()){ isObjectUpdated = true; break;}
|
||||
if(global_gain_range != nullptr && global_gain_range->isSet()){ isObjectUpdated = true; break;}
|
||||
}while(false);
|
||||
return isObjectUpdated;
|
||||
}
|
||||
}
|
||||
|
77
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputReport.h
Normal file
77
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputReport.h
Normal file
@ -0,0 +1,77 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SWGBladeRF2InputReport.h
|
||||
*
|
||||
* BladeRF2
|
||||
*/
|
||||
|
||||
#ifndef SWGBladeRF2InputReport_H_
|
||||
#define SWGBladeRF2InputReport_H_
|
||||
|
||||
#include <QJsonObject>
|
||||
|
||||
|
||||
#include "SWGRange.h"
|
||||
|
||||
#include "SWGObject.h"
|
||||
#include "export.h"
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
class SWG_API SWGBladeRF2InputReport: public SWGObject {
|
||||
public:
|
||||
SWGBladeRF2InputReport();
|
||||
SWGBladeRF2InputReport(QString* json);
|
||||
virtual ~SWGBladeRF2InputReport();
|
||||
void init();
|
||||
void cleanup();
|
||||
|
||||
virtual QString asJson () override;
|
||||
virtual QJsonObject* asJsonObject() override;
|
||||
virtual void fromJsonObject(QJsonObject &json) override;
|
||||
virtual SWGBladeRF2InputReport* fromJson(QString &jsonString) override;
|
||||
|
||||
SWGRange* getFrequencyRange();
|
||||
void setFrequencyRange(SWGRange* frequency_range);
|
||||
|
||||
SWGRange* getSampleRateRange();
|
||||
void setSampleRateRange(SWGRange* sample_rate_range);
|
||||
|
||||
SWGRange* getBandwidthRange();
|
||||
void setBandwidthRange(SWGRange* bandwidth_range);
|
||||
|
||||
SWGRange* getGlobalGainRange();
|
||||
void setGlobalGainRange(SWGRange* global_gain_range);
|
||||
|
||||
|
||||
virtual bool isSet() override;
|
||||
|
||||
private:
|
||||
SWGRange* frequency_range;
|
||||
bool m_frequency_range_isSet;
|
||||
|
||||
SWGRange* sample_rate_range;
|
||||
bool m_sample_rate_range_isSet;
|
||||
|
||||
SWGRange* bandwidth_range;
|
||||
bool m_bandwidth_range_isSet;
|
||||
|
||||
SWGRange* global_gain_range;
|
||||
bool m_global_gain_range_isSet;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* SWGBladeRF2InputReport_H_ */
|
318
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp
Normal file
318
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.cpp
Normal file
@ -0,0 +1,318 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
#include "SWGBladeRF2InputSettings.h"
|
||||
|
||||
#include "SWGHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
SWGBladeRF2InputSettings::SWGBladeRF2InputSettings(QString* json) {
|
||||
init();
|
||||
this->fromJson(*json);
|
||||
}
|
||||
|
||||
SWGBladeRF2InputSettings::SWGBladeRF2InputSettings() {
|
||||
center_frequency = 0L;
|
||||
m_center_frequency_isSet = false;
|
||||
dev_sample_rate = 0;
|
||||
m_dev_sample_rate_isSet = false;
|
||||
bandwidth = 0;
|
||||
m_bandwidth_isSet = false;
|
||||
gain_mode = 0;
|
||||
m_gain_mode_isSet = false;
|
||||
global_gain = 0;
|
||||
m_global_gain_isSet = false;
|
||||
bias_tee = 0;
|
||||
m_bias_tee_isSet = false;
|
||||
log2_decim = 0;
|
||||
m_log2_decim_isSet = false;
|
||||
fc_pos = 0;
|
||||
m_fc_pos_isSet = false;
|
||||
dc_block = 0;
|
||||
m_dc_block_isSet = false;
|
||||
iq_correction = 0;
|
||||
m_iq_correction_isSet = false;
|
||||
file_record_name = nullptr;
|
||||
m_file_record_name_isSet = false;
|
||||
}
|
||||
|
||||
SWGBladeRF2InputSettings::~SWGBladeRF2InputSettings() {
|
||||
this->cleanup();
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputSettings::init() {
|
||||
center_frequency = 0L;
|
||||
m_center_frequency_isSet = false;
|
||||
dev_sample_rate = 0;
|
||||
m_dev_sample_rate_isSet = false;
|
||||
bandwidth = 0;
|
||||
m_bandwidth_isSet = false;
|
||||
gain_mode = 0;
|
||||
m_gain_mode_isSet = false;
|
||||
global_gain = 0;
|
||||
m_global_gain_isSet = false;
|
||||
bias_tee = 0;
|
||||
m_bias_tee_isSet = false;
|
||||
log2_decim = 0;
|
||||
m_log2_decim_isSet = false;
|
||||
fc_pos = 0;
|
||||
m_fc_pos_isSet = false;
|
||||
dc_block = 0;
|
||||
m_dc_block_isSet = false;
|
||||
iq_correction = 0;
|
||||
m_iq_correction_isSet = false;
|
||||
file_record_name = new QString("");
|
||||
m_file_record_name_isSet = false;
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputSettings::cleanup() {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if(file_record_name != nullptr) {
|
||||
delete file_record_name;
|
||||
}
|
||||
}
|
||||
|
||||
SWGBladeRF2InputSettings*
|
||||
SWGBladeRF2InputSettings::fromJson(QString &json) {
|
||||
QByteArray array (json.toStdString().c_str());
|
||||
QJsonDocument doc = QJsonDocument::fromJson(array);
|
||||
QJsonObject jsonObject = doc.object();
|
||||
this->fromJsonObject(jsonObject);
|
||||
return this;
|
||||
}
|
||||
|
||||
void
|
||||
SWGBladeRF2InputSettings::fromJsonObject(QJsonObject &pJson) {
|
||||
::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint64", "");
|
||||
|
||||
::SWGSDRangel::setValue(&dev_sample_rate, pJson["devSampleRate"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&bandwidth, pJson["bandwidth"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&gain_mode, pJson["gainMode"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&global_gain, pJson["globalGain"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&bias_tee, pJson["biasTee"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&log2_decim, pJson["log2Decim"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&fc_pos, pJson["fcPos"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&dc_block, pJson["dcBlock"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&iq_correction, pJson["iqCorrection"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&file_record_name, pJson["fileRecordName"], "QString", "QString");
|
||||
|
||||
}
|
||||
|
||||
QString
|
||||
SWGBladeRF2InputSettings::asJson ()
|
||||
{
|
||||
QJsonObject* obj = this->asJsonObject();
|
||||
|
||||
QJsonDocument doc(*obj);
|
||||
QByteArray bytes = doc.toJson();
|
||||
delete obj;
|
||||
return QString(bytes);
|
||||
}
|
||||
|
||||
QJsonObject*
|
||||
SWGBladeRF2InputSettings::asJsonObject() {
|
||||
QJsonObject* obj = new QJsonObject();
|
||||
if(m_center_frequency_isSet){
|
||||
obj->insert("centerFrequency", QJsonValue(center_frequency));
|
||||
}
|
||||
if(m_dev_sample_rate_isSet){
|
||||
obj->insert("devSampleRate", QJsonValue(dev_sample_rate));
|
||||
}
|
||||
if(m_bandwidth_isSet){
|
||||
obj->insert("bandwidth", QJsonValue(bandwidth));
|
||||
}
|
||||
if(m_gain_mode_isSet){
|
||||
obj->insert("gainMode", QJsonValue(gain_mode));
|
||||
}
|
||||
if(m_global_gain_isSet){
|
||||
obj->insert("globalGain", QJsonValue(global_gain));
|
||||
}
|
||||
if(m_bias_tee_isSet){
|
||||
obj->insert("biasTee", QJsonValue(bias_tee));
|
||||
}
|
||||
if(m_log2_decim_isSet){
|
||||
obj->insert("log2Decim", QJsonValue(log2_decim));
|
||||
}
|
||||
if(m_fc_pos_isSet){
|
||||
obj->insert("fcPos", QJsonValue(fc_pos));
|
||||
}
|
||||
if(m_dc_block_isSet){
|
||||
obj->insert("dcBlock", QJsonValue(dc_block));
|
||||
}
|
||||
if(m_iq_correction_isSet){
|
||||
obj->insert("iqCorrection", QJsonValue(iq_correction));
|
||||
}
|
||||
if(file_record_name != nullptr && *file_record_name != QString("")){
|
||||
toJsonValue(QString("fileRecordName"), file_record_name, obj, QString("QString"));
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
qint64
|
||||
SWGBladeRF2InputSettings::getCenterFrequency() {
|
||||
return center_frequency;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setCenterFrequency(qint64 center_frequency) {
|
||||
this->center_frequency = center_frequency;
|
||||
this->m_center_frequency_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getDevSampleRate() {
|
||||
return dev_sample_rate;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setDevSampleRate(qint32 dev_sample_rate) {
|
||||
this->dev_sample_rate = dev_sample_rate;
|
||||
this->m_dev_sample_rate_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getBandwidth() {
|
||||
return bandwidth;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setBandwidth(qint32 bandwidth) {
|
||||
this->bandwidth = bandwidth;
|
||||
this->m_bandwidth_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getGainMode() {
|
||||
return gain_mode;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setGainMode(qint32 gain_mode) {
|
||||
this->gain_mode = gain_mode;
|
||||
this->m_gain_mode_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getGlobalGain() {
|
||||
return global_gain;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setGlobalGain(qint32 global_gain) {
|
||||
this->global_gain = global_gain;
|
||||
this->m_global_gain_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getBiasTee() {
|
||||
return bias_tee;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setBiasTee(qint32 bias_tee) {
|
||||
this->bias_tee = bias_tee;
|
||||
this->m_bias_tee_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getLog2Decim() {
|
||||
return log2_decim;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setLog2Decim(qint32 log2_decim) {
|
||||
this->log2_decim = log2_decim;
|
||||
this->m_log2_decim_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getFcPos() {
|
||||
return fc_pos;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setFcPos(qint32 fc_pos) {
|
||||
this->fc_pos = fc_pos;
|
||||
this->m_fc_pos_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getDcBlock() {
|
||||
return dc_block;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setDcBlock(qint32 dc_block) {
|
||||
this->dc_block = dc_block;
|
||||
this->m_dc_block_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGBladeRF2InputSettings::getIqCorrection() {
|
||||
return iq_correction;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setIqCorrection(qint32 iq_correction) {
|
||||
this->iq_correction = iq_correction;
|
||||
this->m_iq_correction_isSet = true;
|
||||
}
|
||||
|
||||
QString*
|
||||
SWGBladeRF2InputSettings::getFileRecordName() {
|
||||
return file_record_name;
|
||||
}
|
||||
void
|
||||
SWGBladeRF2InputSettings::setFileRecordName(QString* file_record_name) {
|
||||
this->file_record_name = file_record_name;
|
||||
this->m_file_record_name_isSet = true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
SWGBladeRF2InputSettings::isSet(){
|
||||
bool isObjectUpdated = false;
|
||||
do{
|
||||
if(m_center_frequency_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_dev_sample_rate_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_bandwidth_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_gain_mode_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_global_gain_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_bias_tee_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_log2_decim_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_fc_pos_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_dc_block_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_iq_correction_isSet){ isObjectUpdated = true; break;}
|
||||
if(file_record_name != nullptr && *file_record_name != QString("")){ isObjectUpdated = true; break;}
|
||||
}while(false);
|
||||
return isObjectUpdated;
|
||||
}
|
||||
}
|
||||
|
119
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h
Normal file
119
swagger/sdrangel/code/qt5/client/SWGBladeRF2InputSettings.h
Normal file
@ -0,0 +1,119 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SWGBladeRF2InputSettings.h
|
||||
*
|
||||
* BladeRF2
|
||||
*/
|
||||
|
||||
#ifndef SWGBladeRF2InputSettings_H_
|
||||
#define SWGBladeRF2InputSettings_H_
|
||||
|
||||
#include <QJsonObject>
|
||||
|
||||
|
||||
#include <QString>
|
||||
|
||||
#include "SWGObject.h"
|
||||
#include "export.h"
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
class SWG_API SWGBladeRF2InputSettings: public SWGObject {
|
||||
public:
|
||||
SWGBladeRF2InputSettings();
|
||||
SWGBladeRF2InputSettings(QString* json);
|
||||
virtual ~SWGBladeRF2InputSettings();
|
||||
void init();
|
||||
void cleanup();
|
||||
|
||||
virtual QString asJson () override;
|
||||
virtual QJsonObject* asJsonObject() override;
|
||||
virtual void fromJsonObject(QJsonObject &json) override;
|
||||
virtual SWGBladeRF2InputSettings* fromJson(QString &jsonString) override;
|
||||
|
||||
qint64 getCenterFrequency();
|
||||
void setCenterFrequency(qint64 center_frequency);
|
||||
|
||||
qint32 getDevSampleRate();
|
||||
void setDevSampleRate(qint32 dev_sample_rate);
|
||||
|
||||
qint32 getBandwidth();
|
||||
void setBandwidth(qint32 bandwidth);
|
||||
|
||||
qint32 getGainMode();
|
||||
void setGainMode(qint32 gain_mode);
|
||||
|
||||
qint32 getGlobalGain();
|
||||
void setGlobalGain(qint32 global_gain);
|
||||
|
||||
qint32 getBiasTee();
|
||||
void setBiasTee(qint32 bias_tee);
|
||||
|
||||
qint32 getLog2Decim();
|
||||
void setLog2Decim(qint32 log2_decim);
|
||||
|
||||
qint32 getFcPos();
|
||||
void setFcPos(qint32 fc_pos);
|
||||
|
||||
qint32 getDcBlock();
|
||||
void setDcBlock(qint32 dc_block);
|
||||
|
||||
qint32 getIqCorrection();
|
||||
void setIqCorrection(qint32 iq_correction);
|
||||
|
||||
QString* getFileRecordName();
|
||||
void setFileRecordName(QString* file_record_name);
|
||||
|
||||
|
||||
virtual bool isSet() override;
|
||||
|
||||
private:
|
||||
qint64 center_frequency;
|
||||
bool m_center_frequency_isSet;
|
||||
|
||||
qint32 dev_sample_rate;
|
||||
bool m_dev_sample_rate_isSet;
|
||||
|
||||
qint32 bandwidth;
|
||||
bool m_bandwidth_isSet;
|
||||
|
||||
qint32 gain_mode;
|
||||
bool m_gain_mode_isSet;
|
||||
|
||||
qint32 global_gain;
|
||||
bool m_global_gain_isSet;
|
||||
|
||||
qint32 bias_tee;
|
||||
bool m_bias_tee_isSet;
|
||||
|
||||
qint32 log2_decim;
|
||||
bool m_log2_decim_isSet;
|
||||
|
||||
qint32 fc_pos;
|
||||
bool m_fc_pos_isSet;
|
||||
|
||||
qint32 dc_block;
|
||||
bool m_dc_block_isSet;
|
||||
|
||||
qint32 iq_correction;
|
||||
bool m_iq_correction_isSet;
|
||||
|
||||
QString* file_record_name;
|
||||
bool m_file_record_name_isSet;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* SWGBladeRF2InputSettings_H_ */
|
@ -36,6 +36,8 @@ SWGDeviceReport::SWGDeviceReport() {
|
||||
m_airspy_report_isSet = false;
|
||||
airspy_hf_report = nullptr;
|
||||
m_airspy_hf_report_isSet = false;
|
||||
blade_rf2_input_report = nullptr;
|
||||
m_blade_rf2_input_report_isSet = false;
|
||||
file_source_report = nullptr;
|
||||
m_file_source_report_isSet = false;
|
||||
lime_sdr_input_report = nullptr;
|
||||
@ -72,6 +74,8 @@ SWGDeviceReport::init() {
|
||||
m_airspy_report_isSet = false;
|
||||
airspy_hf_report = new SWGAirspyHFReport();
|
||||
m_airspy_hf_report_isSet = false;
|
||||
blade_rf2_input_report = new SWGBladeRF2InputReport();
|
||||
m_blade_rf2_input_report_isSet = false;
|
||||
file_source_report = new SWGFileSourceReport();
|
||||
m_file_source_report_isSet = false;
|
||||
lime_sdr_input_report = new SWGLimeSdrInputReport();
|
||||
@ -106,6 +110,9 @@ SWGDeviceReport::cleanup() {
|
||||
if(airspy_hf_report != nullptr) {
|
||||
delete airspy_hf_report;
|
||||
}
|
||||
if(blade_rf2_input_report != nullptr) {
|
||||
delete blade_rf2_input_report;
|
||||
}
|
||||
if(file_source_report != nullptr) {
|
||||
delete file_source_report;
|
||||
}
|
||||
@ -157,6 +164,8 @@ SWGDeviceReport::fromJsonObject(QJsonObject &pJson) {
|
||||
|
||||
::SWGSDRangel::setValue(&airspy_hf_report, pJson["airspyHFReport"], "SWGAirspyHFReport", "SWGAirspyHFReport");
|
||||
|
||||
::SWGSDRangel::setValue(&blade_rf2_input_report, pJson["bladeRF2InputReport"], "SWGBladeRF2InputReport", "SWGBladeRF2InputReport");
|
||||
|
||||
::SWGSDRangel::setValue(&file_source_report, pJson["fileSourceReport"], "SWGFileSourceReport", "SWGFileSourceReport");
|
||||
|
||||
::SWGSDRangel::setValue(&lime_sdr_input_report, pJson["limeSdrInputReport"], "SWGLimeSdrInputReport", "SWGLimeSdrInputReport");
|
||||
@ -205,6 +214,9 @@ SWGDeviceReport::asJsonObject() {
|
||||
if((airspy_hf_report != nullptr) && (airspy_hf_report->isSet())){
|
||||
toJsonValue(QString("airspyHFReport"), airspy_hf_report, obj, QString("SWGAirspyHFReport"));
|
||||
}
|
||||
if((blade_rf2_input_report != nullptr) && (blade_rf2_input_report->isSet())){
|
||||
toJsonValue(QString("bladeRF2InputReport"), blade_rf2_input_report, obj, QString("SWGBladeRF2InputReport"));
|
||||
}
|
||||
if((file_source_report != nullptr) && (file_source_report->isSet())){
|
||||
toJsonValue(QString("fileSourceReport"), file_source_report, obj, QString("SWGFileSourceReport"));
|
||||
}
|
||||
@ -279,6 +291,16 @@ SWGDeviceReport::setAirspyHfReport(SWGAirspyHFReport* airspy_hf_report) {
|
||||
this->m_airspy_hf_report_isSet = true;
|
||||
}
|
||||
|
||||
SWGBladeRF2InputReport*
|
||||
SWGDeviceReport::getBladeRf2InputReport() {
|
||||
return blade_rf2_input_report;
|
||||
}
|
||||
void
|
||||
SWGDeviceReport::setBladeRf2InputReport(SWGBladeRF2InputReport* blade_rf2_input_report) {
|
||||
this->blade_rf2_input_report = blade_rf2_input_report;
|
||||
this->m_blade_rf2_input_report_isSet = true;
|
||||
}
|
||||
|
||||
SWGFileSourceReport*
|
||||
SWGDeviceReport::getFileSourceReport() {
|
||||
return file_source_report;
|
||||
@ -388,6 +410,7 @@ SWGDeviceReport::isSet(){
|
||||
if(m_tx_isSet){ isObjectUpdated = true; break;}
|
||||
if(airspy_report != nullptr && airspy_report->isSet()){ isObjectUpdated = true; break;}
|
||||
if(airspy_hf_report != nullptr && airspy_hf_report->isSet()){ isObjectUpdated = true; break;}
|
||||
if(blade_rf2_input_report != nullptr && blade_rf2_input_report->isSet()){ isObjectUpdated = true; break;}
|
||||
if(file_source_report != nullptr && file_source_report->isSet()){ isObjectUpdated = true; break;}
|
||||
if(lime_sdr_input_report != nullptr && lime_sdr_input_report->isSet()){ isObjectUpdated = true; break;}
|
||||
if(lime_sdr_output_report != nullptr && lime_sdr_output_report->isSet()){ isObjectUpdated = true; break;}
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include "SWGAirspyHFReport.h"
|
||||
#include "SWGAirspyReport.h"
|
||||
#include "SWGBladeRF2InputReport.h"
|
||||
#include "SWGFileSourceReport.h"
|
||||
#include "SWGLimeSdrInputReport.h"
|
||||
#include "SWGLimeSdrOutputReport.h"
|
||||
@ -66,6 +67,9 @@ public:
|
||||
SWGAirspyHFReport* getAirspyHfReport();
|
||||
void setAirspyHfReport(SWGAirspyHFReport* airspy_hf_report);
|
||||
|
||||
SWGBladeRF2InputReport* getBladeRf2InputReport();
|
||||
void setBladeRf2InputReport(SWGBladeRF2InputReport* blade_rf2_input_report);
|
||||
|
||||
SWGFileSourceReport* getFileSourceReport();
|
||||
void setFileSourceReport(SWGFileSourceReport* file_source_report);
|
||||
|
||||
@ -112,6 +116,9 @@ private:
|
||||
SWGAirspyHFReport* airspy_hf_report;
|
||||
bool m_airspy_hf_report_isSet;
|
||||
|
||||
SWGBladeRF2InputReport* blade_rf2_input_report;
|
||||
bool m_blade_rf2_input_report_isSet;
|
||||
|
||||
SWGFileSourceReport* file_source_report;
|
||||
bool m_file_source_report_isSet;
|
||||
|
||||
|
@ -38,6 +38,8 @@ SWGDeviceSettings::SWGDeviceSettings() {
|
||||
m_airspy_hf_settings_isSet = false;
|
||||
blade_rf1_input_settings = nullptr;
|
||||
m_blade_rf1_input_settings_isSet = false;
|
||||
blade_rf2_input_settings = nullptr;
|
||||
m_blade_rf2_input_settings_isSet = false;
|
||||
blade_rf1_output_settings = nullptr;
|
||||
m_blade_rf1_output_settings_isSet = false;
|
||||
fcd_pro_settings = nullptr;
|
||||
@ -88,6 +90,8 @@ SWGDeviceSettings::init() {
|
||||
m_airspy_hf_settings_isSet = false;
|
||||
blade_rf1_input_settings = new SWGBladeRF1InputSettings();
|
||||
m_blade_rf1_input_settings_isSet = false;
|
||||
blade_rf2_input_settings = new SWGBladeRF2InputSettings();
|
||||
m_blade_rf2_input_settings_isSet = false;
|
||||
blade_rf1_output_settings = new SWGBladeRF1OutputSettings();
|
||||
m_blade_rf1_output_settings_isSet = false;
|
||||
fcd_pro_settings = new SWGFCDProSettings();
|
||||
@ -137,6 +141,9 @@ SWGDeviceSettings::cleanup() {
|
||||
if(blade_rf1_input_settings != nullptr) {
|
||||
delete blade_rf1_input_settings;
|
||||
}
|
||||
if(blade_rf2_input_settings != nullptr) {
|
||||
delete blade_rf2_input_settings;
|
||||
}
|
||||
if(blade_rf1_output_settings != nullptr) {
|
||||
delete blade_rf1_output_settings;
|
||||
}
|
||||
@ -208,6 +215,8 @@ SWGDeviceSettings::fromJsonObject(QJsonObject &pJson) {
|
||||
|
||||
::SWGSDRangel::setValue(&blade_rf1_input_settings, pJson["bladeRF1InputSettings"], "SWGBladeRF1InputSettings", "SWGBladeRF1InputSettings");
|
||||
|
||||
::SWGSDRangel::setValue(&blade_rf2_input_settings, pJson["bladeRF2InputSettings"], "SWGBladeRF2InputSettings", "SWGBladeRF2InputSettings");
|
||||
|
||||
::SWGSDRangel::setValue(&blade_rf1_output_settings, pJson["bladeRF1OutputSettings"], "SWGBladeRF1OutputSettings", "SWGBladeRF1OutputSettings");
|
||||
|
||||
::SWGSDRangel::setValue(&fcd_pro_settings, pJson["fcdProSettings"], "SWGFCDProSettings", "SWGFCDProSettings");
|
||||
@ -271,6 +280,9 @@ SWGDeviceSettings::asJsonObject() {
|
||||
if((blade_rf1_input_settings != nullptr) && (blade_rf1_input_settings->isSet())){
|
||||
toJsonValue(QString("bladeRF1InputSettings"), blade_rf1_input_settings, obj, QString("SWGBladeRF1InputSettings"));
|
||||
}
|
||||
if((blade_rf2_input_settings != nullptr) && (blade_rf2_input_settings->isSet())){
|
||||
toJsonValue(QString("bladeRF2InputSettings"), blade_rf2_input_settings, obj, QString("SWGBladeRF2InputSettings"));
|
||||
}
|
||||
if((blade_rf1_output_settings != nullptr) && (blade_rf1_output_settings->isSet())){
|
||||
toJsonValue(QString("bladeRF1OutputSettings"), blade_rf1_output_settings, obj, QString("SWGBladeRF1OutputSettings"));
|
||||
}
|
||||
@ -373,6 +385,16 @@ SWGDeviceSettings::setBladeRf1InputSettings(SWGBladeRF1InputSettings* blade_rf1_
|
||||
this->m_blade_rf1_input_settings_isSet = true;
|
||||
}
|
||||
|
||||
SWGBladeRF2InputSettings*
|
||||
SWGDeviceSettings::getBladeRf2InputSettings() {
|
||||
return blade_rf2_input_settings;
|
||||
}
|
||||
void
|
||||
SWGDeviceSettings::setBladeRf2InputSettings(SWGBladeRF2InputSettings* blade_rf2_input_settings) {
|
||||
this->blade_rf2_input_settings = blade_rf2_input_settings;
|
||||
this->m_blade_rf2_input_settings_isSet = true;
|
||||
}
|
||||
|
||||
SWGBladeRF1OutputSettings*
|
||||
SWGDeviceSettings::getBladeRf1OutputSettings() {
|
||||
return blade_rf1_output_settings;
|
||||
@ -543,6 +565,7 @@ SWGDeviceSettings::isSet(){
|
||||
if(airspy_settings != nullptr && airspy_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(airspy_hf_settings != nullptr && airspy_hf_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(blade_rf1_input_settings != nullptr && blade_rf1_input_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(blade_rf2_input_settings != nullptr && blade_rf2_input_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(blade_rf1_output_settings != nullptr && blade_rf1_output_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(fcd_pro_settings != nullptr && fcd_pro_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
if(fcd_pro_plus_settings != nullptr && fcd_pro_plus_settings->isSet()){ isObjectUpdated = true; break;}
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "SWGAirspySettings.h"
|
||||
#include "SWGBladeRF1InputSettings.h"
|
||||
#include "SWGBladeRF1OutputSettings.h"
|
||||
#include "SWGBladeRF2InputSettings.h"
|
||||
#include "SWGFCDProPlusSettings.h"
|
||||
#include "SWGFCDProSettings.h"
|
||||
#include "SWGFileSourceSettings.h"
|
||||
@ -76,6 +77,9 @@ public:
|
||||
SWGBladeRF1InputSettings* getBladeRf1InputSettings();
|
||||
void setBladeRf1InputSettings(SWGBladeRF1InputSettings* blade_rf1_input_settings);
|
||||
|
||||
SWGBladeRF2InputSettings* getBladeRf2InputSettings();
|
||||
void setBladeRf2InputSettings(SWGBladeRF2InputSettings* blade_rf2_input_settings);
|
||||
|
||||
SWGBladeRF1OutputSettings* getBladeRf1OutputSettings();
|
||||
void setBladeRf1OutputSettings(SWGBladeRF1OutputSettings* blade_rf1_output_settings);
|
||||
|
||||
@ -143,6 +147,9 @@ private:
|
||||
SWGBladeRF1InputSettings* blade_rf1_input_settings;
|
||||
bool m_blade_rf1_input_settings_isSet;
|
||||
|
||||
SWGBladeRF2InputSettings* blade_rf2_input_settings;
|
||||
bool m_blade_rf2_input_settings_isSet;
|
||||
|
||||
SWGBladeRF1OutputSettings* blade_rf1_output_settings;
|
||||
bool m_blade_rf1_output_settings_isSet;
|
||||
|
||||
|
@ -32,6 +32,8 @@
|
||||
#include "SWGBandwidth.h"
|
||||
#include "SWGBladeRF1InputSettings.h"
|
||||
#include "SWGBladeRF1OutputSettings.h"
|
||||
#include "SWGBladeRF2InputReport.h"
|
||||
#include "SWGBladeRF2InputSettings.h"
|
||||
#include "SWGCWKeyerSettings.h"
|
||||
#include "SWGChannel.h"
|
||||
#include "SWGChannelListItem.h"
|
||||
@ -89,6 +91,7 @@
|
||||
#include "SWGPresets.h"
|
||||
#include "SWGRDSReport.h"
|
||||
#include "SWGRDSReport_altFrequencies.h"
|
||||
#include "SWGRange.h"
|
||||
#include "SWGRtlSdrReport.h"
|
||||
#include "SWGRtlSdrSettings.h"
|
||||
#include "SWGSDRPlayReport.h"
|
||||
@ -171,6 +174,12 @@ namespace SWGSDRangel {
|
||||
if(QString("SWGBladeRF1OutputSettings").compare(type) == 0) {
|
||||
return new SWGBladeRF1OutputSettings();
|
||||
}
|
||||
if(QString("SWGBladeRF2InputReport").compare(type) == 0) {
|
||||
return new SWGBladeRF2InputReport();
|
||||
}
|
||||
if(QString("SWGBladeRF2InputSettings").compare(type) == 0) {
|
||||
return new SWGBladeRF2InputSettings();
|
||||
}
|
||||
if(QString("SWGCWKeyerSettings").compare(type) == 0) {
|
||||
return new SWGCWKeyerSettings();
|
||||
}
|
||||
@ -342,6 +351,9 @@ namespace SWGSDRangel {
|
||||
if(QString("SWGRDSReport_altFrequencies").compare(type) == 0) {
|
||||
return new SWGRDSReport_altFrequencies();
|
||||
}
|
||||
if(QString("SWGRange").compare(type) == 0) {
|
||||
return new SWGRange();
|
||||
}
|
||||
if(QString("SWGRtlSdrReport").compare(type) == 0) {
|
||||
return new SWGRtlSdrReport();
|
||||
}
|
||||
|
148
swagger/sdrangel/code/qt5/client/SWGRange.cpp
Normal file
148
swagger/sdrangel/code/qt5/client/SWGRange.cpp
Normal file
@ -0,0 +1,148 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
|
||||
#include "SWGRange.h"
|
||||
|
||||
#include "SWGHelpers.h"
|
||||
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonArray>
|
||||
#include <QObject>
|
||||
#include <QDebug>
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
SWGRange::SWGRange(QString* json) {
|
||||
init();
|
||||
this->fromJson(*json);
|
||||
}
|
||||
|
||||
SWGRange::SWGRange() {
|
||||
min = 0;
|
||||
m_min_isSet = false;
|
||||
max = 0;
|
||||
m_max_isSet = false;
|
||||
step = 0;
|
||||
m_step_isSet = false;
|
||||
}
|
||||
|
||||
SWGRange::~SWGRange() {
|
||||
this->cleanup();
|
||||
}
|
||||
|
||||
void
|
||||
SWGRange::init() {
|
||||
min = 0;
|
||||
m_min_isSet = false;
|
||||
max = 0;
|
||||
m_max_isSet = false;
|
||||
step = 0;
|
||||
m_step_isSet = false;
|
||||
}
|
||||
|
||||
void
|
||||
SWGRange::cleanup() {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
SWGRange*
|
||||
SWGRange::fromJson(QString &json) {
|
||||
QByteArray array (json.toStdString().c_str());
|
||||
QJsonDocument doc = QJsonDocument::fromJson(array);
|
||||
QJsonObject jsonObject = doc.object();
|
||||
this->fromJsonObject(jsonObject);
|
||||
return this;
|
||||
}
|
||||
|
||||
void
|
||||
SWGRange::fromJsonObject(QJsonObject &pJson) {
|
||||
::SWGSDRangel::setValue(&min, pJson["min"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&max, pJson["max"], "qint32", "");
|
||||
|
||||
::SWGSDRangel::setValue(&step, pJson["step"], "qint32", "");
|
||||
|
||||
}
|
||||
|
||||
QString
|
||||
SWGRange::asJson ()
|
||||
{
|
||||
QJsonObject* obj = this->asJsonObject();
|
||||
|
||||
QJsonDocument doc(*obj);
|
||||
QByteArray bytes = doc.toJson();
|
||||
delete obj;
|
||||
return QString(bytes);
|
||||
}
|
||||
|
||||
QJsonObject*
|
||||
SWGRange::asJsonObject() {
|
||||
QJsonObject* obj = new QJsonObject();
|
||||
if(m_min_isSet){
|
||||
obj->insert("min", QJsonValue(min));
|
||||
}
|
||||
if(m_max_isSet){
|
||||
obj->insert("max", QJsonValue(max));
|
||||
}
|
||||
if(m_step_isSet){
|
||||
obj->insert("step", QJsonValue(step));
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGRange::getMin() {
|
||||
return min;
|
||||
}
|
||||
void
|
||||
SWGRange::setMin(qint32 min) {
|
||||
this->min = min;
|
||||
this->m_min_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGRange::getMax() {
|
||||
return max;
|
||||
}
|
||||
void
|
||||
SWGRange::setMax(qint32 max) {
|
||||
this->max = max;
|
||||
this->m_max_isSet = true;
|
||||
}
|
||||
|
||||
qint32
|
||||
SWGRange::getStep() {
|
||||
return step;
|
||||
}
|
||||
void
|
||||
SWGRange::setStep(qint32 step) {
|
||||
this->step = step;
|
||||
this->m_step_isSet = true;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
SWGRange::isSet(){
|
||||
bool isObjectUpdated = false;
|
||||
do{
|
||||
if(m_min_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_max_isSet){ isObjectUpdated = true; break;}
|
||||
if(m_step_isSet){ isObjectUpdated = true; break;}
|
||||
}while(false);
|
||||
return isObjectUpdated;
|
||||
}
|
||||
}
|
||||
|
70
swagger/sdrangel/code/qt5/client/SWGRange.h
Normal file
70
swagger/sdrangel/code/qt5/client/SWGRange.h
Normal file
@ -0,0 +1,70 @@
|
||||
/**
|
||||
* SDRangel
|
||||
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
|
||||
*
|
||||
* OpenAPI spec version: 4.2.0
|
||||
* Contact: f4exb06@gmail.com
|
||||
*
|
||||
* NOTE: This class is auto generated by the swagger code generator program.
|
||||
* https://github.com/swagger-api/swagger-codegen.git
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SWGRange.h
|
||||
*
|
||||
* An arbitrary range of values
|
||||
*/
|
||||
|
||||
#ifndef SWGRange_H_
|
||||
#define SWGRange_H_
|
||||
|
||||
#include <QJsonObject>
|
||||
|
||||
|
||||
|
||||
#include "SWGObject.h"
|
||||
#include "export.h"
|
||||
|
||||
namespace SWGSDRangel {
|
||||
|
||||
class SWG_API SWGRange: public SWGObject {
|
||||
public:
|
||||
SWGRange();
|
||||
SWGRange(QString* json);
|
||||
virtual ~SWGRange();
|
||||
void init();
|
||||
void cleanup();
|
||||
|
||||
virtual QString asJson () override;
|
||||
virtual QJsonObject* asJsonObject() override;
|
||||
virtual void fromJsonObject(QJsonObject &json) override;
|
||||
virtual SWGRange* fromJson(QString &jsonString) override;
|
||||
|
||||
qint32 getMin();
|
||||
void setMin(qint32 min);
|
||||
|
||||
qint32 getMax();
|
||||
void setMax(qint32 max);
|
||||
|
||||
qint32 getStep();
|
||||
void setStep(qint32 step);
|
||||
|
||||
|
||||
virtual bool isSet() override;
|
||||
|
||||
private:
|
||||
qint32 min;
|
||||
bool m_min_isSet;
|
||||
|
||||
qint32 max;
|
||||
bool m_max_isSet;
|
||||
|
||||
qint32 step;
|
||||
bool m_step_isSet;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif /* SWGRange_H_ */
|
Loading…
Reference in New Issue
Block a user