SatelliteTracker: use device set index. API: fixed doppler channels

This commit is contained in:
f4exb 2021-10-03 12:12:39 +02:00
parent 3e6fe8afef
commit 59937d9a1c
13 changed files with 174 additions and 128 deletions

View File

@ -41,15 +41,12 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
m_deviceSetWidget->setEditable(true);
m_deviceSetWidget->setToolTip("Device set to control");
formLayout->addRow("Device set", m_deviceSetWidget);
addDeviceSets();
int devSetIdx = m_deviceSetWidget->findText(devSettings->m_deviceSet);
if (devSetIdx != -1)
{
m_deviceSetWidget->setCurrentIndex(devSetIdx);
}
else
{
m_deviceSetWidget->addItem(devSettings->m_deviceSet);
if (devSettings->m_deviceSetIndex < m_deviceSetWidget->count()) {
m_deviceSetWidget->setCurrentIndex(devSettings->m_deviceSetIndex);
} else {
m_deviceSetWidget->setCurrentIndex(m_deviceSetWidget->count() - 1);
}
@ -59,19 +56,31 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
m_presetWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
m_presetWidget->setToolTip("Preset to load on AOS");
formLayout->addRow("Preset", m_presetWidget);
addPresets(devSettings->m_deviceSet);
const MainSettings& mainSettings = MainCore::instance()->getSettings();
if (!devSettings->m_deviceSet.isEmpty())
MainCore *mainCore = MainCore::instance();
const std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
if (devSettings->m_deviceSetIndex < (int) deviceSets.size())
{
DeviceSet *deviceSet = deviceSets[devSettings->m_deviceSetIndex];
if (deviceSet->m_deviceSourceEngine) {
addPresets("R");
} else if (deviceSet->m_deviceSinkEngine) {
addPresets("T");
} else if (deviceSet->m_deviceMIMOEngine) {
addPresets("M");
}
const MainSettings& mainSettings = MainCore::instance()->getSettings();
int count = mainSettings.getPresetCount();
int idx = 0;
for (int i = 0; i < count; i++)
{
const Preset *preset = mainSettings.getPreset(i);
if ( ((preset->isSourcePreset() && (devSettings->m_deviceSet[0] == "R")))
|| ((preset->isSinkPreset() && (devSettings->m_deviceSet[0] == "T")))
|| ((preset->isMIMOPreset() && (devSettings->m_deviceSet[0] == "M"))))
if (((preset->isSourcePreset() && (deviceSet->m_deviceSourceEngine)))
|| ((preset->isSinkPreset() && (deviceSet->m_deviceSinkEngine)))
|| ((preset->isMIMOPreset() && (deviceSet->m_deviceMIMOEngine))))
{
if ( (devSettings->m_presetGroup == preset->getGroup())
&& (devSettings->m_presetFrequency == preset->getCenterFrequency())
@ -96,6 +105,7 @@ SatelliteDeviceSettingsGUI::SatelliteDeviceSettingsGUI(SatelliteTrackerSettings:
for (int i = 0; i < devSettings->m_doppler.size(); i++)
{
int idx = devSettings->m_doppler[i];
if (idx < m_dopplerItems.size()) {
m_dopplerItems[idx]->setData(Qt::Checked, Qt::CheckStateRole);
} else {
@ -158,28 +168,32 @@ void SatelliteDeviceSettingsGUI::addDeviceSets()
{
DSPDeviceSourceEngine *deviceSourceEngine = (*it)->m_deviceSourceEngine;
DSPDeviceSinkEngine *deviceSinkEngine = (*it)->m_deviceSinkEngine;
DSPDeviceMIMOEngine *deviceMIMOEngine = (*it)->m_deviceMIMOEngine;
if (deviceSourceEngine) {
m_deviceSetWidget->addItem(QString("R%1").arg(deviceIndex), deviceIndex);
} else if (deviceSinkEngine) {
m_deviceSetWidget->addItem(QString("T%1").arg(deviceIndex), deviceIndex);
} else if (deviceMIMOEngine) {
m_deviceSetWidget->addItem(QString("M%1").arg(deviceIndex), deviceIndex);
}
}
}
// Add all available presets for a deviceset to the combobox
void SatelliteDeviceSettingsGUI::addPresets(const QString& deviceSet)
void SatelliteDeviceSettingsGUI::addPresets(const QString& deviceSetType)
{
m_presetWidget->clear();
const MainSettings& mainSettings = MainCore::instance()->getSettings();
int count = mainSettings.getPresetCount();
m_currentPresets = deviceSet[0];
m_currentPresetType = deviceSetType[0];
for (int i = 0; i < count; i++)
{
const Preset *preset = mainSettings.getPreset(i);
if ( ((preset->isSourcePreset() && (m_currentPresets == "R")))
|| ((preset->isSinkPreset() && (m_currentPresets == "T")))
|| ((preset->isMIMOPreset() && (m_currentPresets == "M"))))
if (((preset->isSourcePreset() && (m_currentPresetType == "R")))
|| ((preset->isSinkPreset() && (m_currentPresetType == "T")))
|| ((preset->isMIMOPreset() && (m_currentPresetType == "M"))))
{
m_presetWidget->addItem(QString("%1: %2 - %3")
.arg(preset->getGroup())
@ -198,9 +212,9 @@ const Preset* SatelliteDeviceSettingsGUI::getSelectedPreset()
for (int i = 0; i < count; i++)
{
const Preset *preset = mainSettings.getPreset(i);
if ( ((preset->isSourcePreset() && (m_currentPresets == "R")))
|| ((preset->isSinkPreset() && (m_currentPresets == "T")))
|| ((preset->isMIMOPreset() && (m_currentPresets == "M"))))
if ( ((preset->isSourcePreset() && (m_currentPresetType == "R")))
|| ((preset->isSinkPreset() && (m_currentPresetType == "T")))
|| ((preset->isMIMOPreset() && (m_currentPresetType == "M"))))
{
if (listIdx == presetIdx) {
return preset;
@ -218,13 +232,14 @@ void SatelliteDeviceSettingsGUI::addChannels()
m_dopplerItems.clear();
const PluginManager *pluginManager = MainCore::instance()->getPluginManager();
const Preset* preset = getSelectedPreset();
if (preset != nullptr)
{
int channels = preset->getChannelCount();
for (int i = 0; i < channels; i++)
{
const Preset::ChannelConfig& channelConfig = preset->getChannelConfig(i);
QStandardItem *item = new QStandardItem();
item->setText(pluginManager->uriToId(channelConfig.m_channelIdURI));
item->setFlags(Qt::ItemIsUserCheckable | Qt::ItemIsEnabled);
@ -240,9 +255,10 @@ void SatelliteDeviceSettingsGUI::on_m_deviceSetWidget_currentTextChanged(const Q
{
if (!text.isEmpty())
{
if (text[0] != m_currentPresets) {
if (text[0] != m_currentPresetType) {
addPresets(text[0]);
}
// Set name of tab to match
int currentTabIndex = m_tab->currentIndex();
m_tab->setTabText(currentTabIndex, text);
@ -259,8 +275,9 @@ void SatelliteDeviceSettingsGUI::on_m_presetWidget_currentIndexChanged(int index
// Update devSettings with current GUI values
void SatelliteDeviceSettingsGUI::accept()
{
m_devSettings->m_deviceSet = m_deviceSetWidget->currentText();
m_devSettings->m_deviceSetIndex = m_deviceSetWidget->currentIndex();
const Preset* preset = getSelectedPreset();
if (preset != nullptr)
{
m_devSettings->m_presetGroup = preset->getGroup();
@ -273,13 +290,16 @@ void SatelliteDeviceSettingsGUI::accept()
m_devSettings->m_presetFrequency = 0;
m_devSettings->m_presetDescription = "";
}
m_devSettings->m_doppler.clear();
for (int i = 0; i < m_dopplerItems.size(); i++)
{
if (m_dopplerItems[i]->checkState() == Qt::Checked) {
m_devSettings->m_doppler.append(i);
}
}
m_devSettings->m_startOnAOS = m_startOnAOSWidget->isChecked();
m_devSettings->m_stopOnLOS = m_stopOnLOSWidget->isChecked();
m_devSettings->m_startStopFileSink = m_startStopFileSinkWidget->isChecked();

View File

@ -68,7 +68,7 @@ protected:
QLineEdit *m_frequencyWidget;
QLineEdit *m_aosCommandWidget;
QLineEdit *m_losCommandWidget;
QChar m_currentPresets;
QChar m_currentPresetType;
QStandardItemModel m_dopplerModel;
QList<QStandardItem *> m_dopplerItems;

View File

@ -111,7 +111,25 @@ void SatelliteRadioControlDialog::on_satelliteSelect_currentIndexChanged(int ind
for (int i = 0; i < devSettingsList->size(); i++)
{
SatelliteDeviceSettingsGUI *devSettingsGUI = new SatelliteDeviceSettingsGUI(devSettingsList->at(i), ui->tabWidget, ui->tabWidget);
ui->tabWidget->addTab(devSettingsGUI, devSettingsList->at(i)->m_deviceSet);
QString deviceSetString;
MainCore *mainCore = MainCore::instance();
const std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
if (devSettingsList->at(i)->m_deviceSetIndex < (int) deviceSets.size())
{
const DeviceSet *deviceSet = deviceSets[devSettingsList->at(i)->m_deviceSetIndex];
if (deviceSet->m_deviceSourceEngine != nullptr) {
deviceSetString = tr("R%1").arg(devSettingsList->at(i)->m_deviceSetIndex);
} else if (deviceSet->m_deviceSinkEngine != nullptr) {
deviceSetString = tr("T%1").arg(devSettingsList->at(i)->m_deviceSetIndex);
} else if (deviceSet->m_deviceMIMOEngine != nullptr) {
deviceSetString = tr("M%1").arg(devSettingsList->at(i)->m_deviceSetIndex);
}
ui->tabWidget->addTab(devSettingsGUI, deviceSetString);
}
m_devSettingsGUIs.append(devSettingsGUI);
}

View File

@ -407,15 +407,14 @@ QList<SWGSDRangel::SWGSatelliteDeviceSettingsList*>* SatelliteTracker::getSWGSat
for (int j = 0; j < l->size(); j++)
{
SWGSDRangel::SWGSatelliteDeviceSettings* deviceSettings = new SWGSDRangel::SWGSatelliteDeviceSettings();
deviceSettings->setDeviceSet(new QString(l->at(j)->m_deviceSet));
deviceSettings->setDeviceSetIndex(l->at(j)->m_deviceSetIndex);
deviceSettings->setPresetGroup(new QString(l->at(j)->m_presetGroup));
deviceSettings->setPresetDescription(new QString(l->at(j)->m_presetDescription));
deviceSettings->setPresetFrequency(l->at(j)->m_presetFrequency);
QList<qint32>* doppler = new QList<qint32>();
deviceSettings->setDoppler(new QList<QString*>());
for (int k = 0; k < l->at(j)->m_doppler.size(); k++) {
doppler->append(l->at(j)->m_doppler[k]);
deviceSettings->getDoppler()->append(new QString(QString::number(l->at(j)->m_doppler[k])));
}
deviceSettings->setDoppler(doppler);
deviceSettings->setStartOnAos((int)l->at(j)->m_startOnAOS ? 1 : 0);
deviceSettings->setStopOnLos((int)l->at(j)->m_stopOnLOS ? 1 : 0);
deviceSettings->setStartStopFileSinks((int)l->at(j)->m_startStopFileSink ? 1 : 0);
@ -459,12 +458,16 @@ QHash<QString, QList<SatelliteTrackerSettings::SatelliteDeviceSettings *> *> Sat
for (int j = 0; j < swgDeviceSettingsList->size(); j++)
{
SatelliteTrackerSettings::SatelliteDeviceSettings *deviceSettings = new SatelliteTrackerSettings::SatelliteDeviceSettings();
deviceSettings->m_deviceSet = getString(swgDeviceSettingsList->at(j)->getDeviceSet());
deviceSettings->m_deviceSetIndex = swgDeviceSettingsList->at(j)->getDeviceSetIndex();
deviceSettings->m_presetGroup = getString(swgDeviceSettingsList->at(j)->getPresetGroup());
deviceSettings->m_presetFrequency = swgDeviceSettingsList->at(j)->getPresetFrequency();
deviceSettings->m_presetDescription = getString(swgDeviceSettingsList->at(j)->getPresetDescription());
if (swgDeviceSettingsList->at(j)->getDoppler()) {
deviceSettings->m_doppler = *swgDeviceSettingsList->at(j)->getDoppler();
deviceSettings->m_doppler.clear();
if (swgDeviceSettingsList->at(j)->getDoppler())
{
for (auto dopplerStr : *swgDeviceSettingsList->at(j)->getDoppler()) {
deviceSettings->m_doppler.append(dopplerStr->toInt());
}
}
deviceSettings->m_startOnAOS = swgDeviceSettingsList->at(j)->getStartOnAos();
deviceSettings->m_stopOnLOS = swgDeviceSettingsList->at(j)->getStopOnLos();

View File

@ -243,7 +243,7 @@ QDataStream& operator>>(QDataStream& in, QList<SatelliteTrackerSettings::Satelli
QDataStream& operator<<(QDataStream& out, const SatelliteTrackerSettings::SatelliteDeviceSettings* settings)
{
out << settings->m_deviceSet;
out << settings->m_deviceSetIndex;
out << settings->m_presetGroup;
out << settings->m_presetFrequency;
out << settings->m_presetDescription;
@ -260,7 +260,7 @@ QDataStream& operator<<(QDataStream& out, const SatelliteTrackerSettings::Satell
QDataStream& operator>>(QDataStream& in, SatelliteTrackerSettings::SatelliteDeviceSettings*& settings)
{
settings = new SatelliteTrackerSettings::SatelliteDeviceSettings();
in >> settings->m_deviceSet;
in >> settings->m_deviceSetIndex;
in >> settings->m_presetGroup;
in >> settings->m_presetFrequency;
in >> settings->m_presetDescription;
@ -292,7 +292,7 @@ void SatelliteTrackerSettings::deserializeDeviceSettings(const QByteArray& data,
SatelliteTrackerSettings::SatelliteDeviceSettings::SatelliteDeviceSettings()
{
m_deviceSet = "R0";
m_deviceSetIndex = 0;
m_presetFrequency = 0;
m_startOnAOS = true;
m_stopOnLOS = true;

View File

@ -33,7 +33,7 @@ struct SatelliteTrackerSettings
{
struct SatelliteDeviceSettings
{
QString m_deviceSet; //!< R0, T1...
int m_deviceSetIndex; //!< Device set index in the list of device sets of the SDRangel instance
QString m_presetGroup; //!< Preset to load to device set
quint64 m_presetFrequency;
QString m_presetDescription;

View File

@ -544,27 +544,40 @@ void SatelliteTrackerWorker::applyDeviceAOSSettings(const QString& name)
for (int i = 0; i < m_deviceSettingsList->size(); i++)
{
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
if (!devSettings->m_presetGroup.isEmpty() && !devSettings->m_deviceSet.isEmpty())
if (!devSettings->m_presetGroup.isEmpty())
{
const MainSettings& mainSettings = mainCore->getSettings();
const std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
QString presetType = QString(devSettings->m_deviceSet[0]);
const Preset* preset = mainSettings.getPreset(devSettings->m_presetGroup, devSettings->m_presetFrequency, devSettings->m_presetDescription, presetType);
if (preset != nullptr)
if (devSettings->m_deviceSetIndex < deviceSets.size())
{
qDebug() << "SatelliteTrackerWorker::aos: Loading preset " << preset->getDescription() << " to " << devSettings->m_deviceSet[0];
unsigned int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
std::vector<DeviceSet*>& deviceSets = mainCore->getDeviceSets();
if (deviceSetIndex < deviceSets.size())
const DeviceSet *deviceSet = deviceSets[devSettings->m_deviceSetIndex];
QString presetType;
if (deviceSet->m_deviceSourceEngine != nullptr) {
presetType = "R";
} else if (deviceSet->m_deviceSinkEngine != nullptr) {
presetType = "T";
} else if (deviceSet->m_deviceMIMOEngine != nullptr) {
presetType = "M";
}
const Preset* preset = mainSettings.getPreset(devSettings->m_presetGroup, devSettings->m_presetFrequency, devSettings->m_presetDescription, presetType);
if (preset != nullptr)
{
MainCore::MsgLoadPreset *msg = MainCore::MsgLoadPreset::create(preset, deviceSetIndex);
qDebug() << "SatelliteTrackerWorker::aos: Loading preset " << preset->getDescription() << " to device set at " << devSettings->m_deviceSetIndex;
MainCore::MsgLoadPreset *msg = MainCore::MsgLoadPreset::create(preset, devSettings->m_deviceSetIndex);
mainCore->getMainMessageQueue()->push(msg);
}
else
qWarning() << "SatelliteTrackerWorker::aos: device set " << devSettings->m_deviceSet << " does not exist";
{
qWarning() << "SatelliteTrackerWorker::aos: Unable to get preset: " << devSettings->m_presetGroup << " " << devSettings->m_presetFrequency << " " << devSettings->m_presetDescription;
}
}
else
qWarning() << "SatelliteTrackerWorker::aos: Unable to get preset: " << devSettings->m_presetGroup << " " << devSettings->m_presetFrequency << " " << devSettings->m_presetDescription;
{
qWarning() << "SatelliteTrackerWorker::aos: device set at " << devSettings->m_deviceSetIndex << " does not exist";
}
}
}
@ -580,8 +593,7 @@ void SatelliteTrackerWorker::applyDeviceAOSSettings(const QString& name)
if (devSettings->m_frequency != 0)
{
qDebug() << "SatelliteTrackerWorker::aos: setting frequency to: " << devSettings->m_frequency;
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
ChannelWebAPIUtils::setCenterFrequency(deviceSetIndex, devSettings->m_frequency);
ChannelWebAPIUtils::setCenterFrequency(devSettings->m_deviceSetIndex, devSettings->m_frequency);
}
// Execute per satellite program/script
@ -600,8 +612,7 @@ void SatelliteTrackerWorker::applyDeviceAOSSettings(const QString& name)
if (devSettings->m_startOnAOS)
{
qDebug() << "SatelliteTrackerWorker::aos: starting acqusition";
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
ChannelWebAPIUtils::run(deviceSetIndex);
ChannelWebAPIUtils::run(devSettings->m_deviceSetIndex);
}
}
@ -622,8 +633,8 @@ void SatelliteTrackerWorker::applyDeviceAOSSettings(const QString& name)
for (int j = 0; j < devSettings->m_doppler.size(); j++)
{
int offset;
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
if (ChannelWebAPIUtils::getFrequencyOffset(deviceSetIndex, devSettings->m_doppler[j], offset))
if (ChannelWebAPIUtils::getFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
{
satWorkerState->m_initFrequencyOffset.append(offset);
qDebug() << "SatelliteTrackerWorker::applyDeviceAOSSettings: Initial frequency offset: " << offset;
@ -655,8 +666,7 @@ void SatelliteTrackerWorker::applyDeviceAOSSettings(const QString& name)
if (devSettings->m_startStopFileSink)
{
qDebug() << "SatelliteTrackerWorker::aos: starting file sinks";
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
ChannelWebAPIUtils::startStopFileSinks(deviceSetIndex, true);
ChannelWebAPIUtils::startStopFileSinks(devSettings->m_deviceSetIndex, true);
}
}
});
@ -686,9 +696,9 @@ void SatelliteTrackerWorker::doppler(SatWorkerState *satWorkerState)
if (devSettings->m_doppler.size() > 0)
{
// Get center frequency for this device
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
double centerFrequency;
if (ChannelWebAPIUtils::getCenterFrequency(deviceSetIndex, centerFrequency))
if (ChannelWebAPIUtils::getCenterFrequency(devSettings->m_deviceSetIndex, centerFrequency))
{
// Calculate frequency delta due to Doppler
double c = 299792458.0;
@ -697,18 +707,14 @@ void SatelliteTrackerWorker::doppler(SatWorkerState *satWorkerState)
for (int j = 0; j < devSettings->m_doppler.size(); j++)
{
// For receive, we subtract, transmit we add
int offset;
if (devSettings->m_deviceSet[0] == "R")
offset = satWorkerState->m_initFrequencyOffset[i] - (int)round(deltaF);
else
offset = satWorkerState->m_initFrequencyOffset[i] + (int)round(deltaF);
int offset = satWorkerState->m_initFrequencyOffset[i] - (int)round(deltaF);
if (!ChannelWebAPIUtils::setFrequencyOffset(deviceSetIndex, devSettings->m_doppler[j], offset))
if (!ChannelWebAPIUtils::setFrequencyOffset(devSettings->m_deviceSetIndex, devSettings->m_doppler[j], offset))
qDebug() << "SatelliteTrackerWorker::doppler: Failed to set frequency offset";
}
}
else
qDebug() << "SatelliteTrackerWorker::doppler: couldn't get centre frequency for " << devSettings->m_deviceSet;
qDebug() << "SatelliteTrackerWorker::doppler: couldn't get centre frequency for device at " << devSettings->m_deviceSetIndex;
}
}
}
@ -746,8 +752,7 @@ void SatelliteTrackerWorker::los(SatWorkerState *satWorkerState)
if (devSettings->m_startStopFileSink)
{
qDebug() << "SatelliteTrackerWorker::los: stopping file sinks";
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
ChannelWebAPIUtils::startStopFileSinks(deviceSetIndex, false);
ChannelWebAPIUtils::startStopFileSinks(devSettings->m_deviceSetIndex, false);
}
}
@ -759,10 +764,9 @@ void SatelliteTrackerWorker::los(SatWorkerState *satWorkerState)
for (int i = 0; i < m_deviceSettingsList->size(); i++)
{
SatelliteTrackerSettings::SatelliteDeviceSettings *devSettings = m_deviceSettingsList->at(i);
if (devSettings->m_stopOnLOS)
{
int deviceSetIndex = devSettings->m_deviceSet.mid(1).toInt();
ChannelWebAPIUtils::stop(deviceSetIndex);
if (devSettings->m_stopOnLOS) {
ChannelWebAPIUtils::stop(devSettings->m_deviceSetIndex);
}
}

View File

@ -9976,9 +9976,9 @@ margin-bottom: 20px;
};
defs.SatelliteDeviceSettings = {
"properties" : {
"deviceSet" : {
"type" : "string",
"description" : "Name of the device set (E.g. R0)"
"deviceSetIndex" : {
"type" : "integer",
"description" : "Index of the device set (E.g. 0)"
},
"presetGroup" : {
"type" : "string",
@ -9995,9 +9995,9 @@ margin-bottom: 20px;
},
"doppler" : {
"type" : "array",
"description" : "Whether to apply doppler correction to each channel (1 for yes, 0 for no)",
"description" : "Channel which to apply doppler correction (index as string)",
"items" : {
"type" : "integer"
"type" : "string"
}
},
"startOnAOS" : {
@ -50580,7 +50580,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2021-09-17T00:27:04.059+02:00
Generated 2021-10-03T09:59:26.222+02:00
</div>
</div>
</div>

View File

@ -128,9 +128,9 @@ SatelliteDeviceSettingsList:
SatelliteDeviceSettings:
description: "Device set settings"
properties:
deviceSet:
description: "Name of the device set (E.g. R0)"
type: string
deviceSetIndex:
description: "Index of the device set (E.g. 0)"
type: integer
presetGroup:
description: "Group for preset to load on AOS"
type: string
@ -142,10 +142,10 @@ SatelliteDeviceSettings:
description: "Description of preset to load on AOS"
type: string
doppler:
description: "Whether to apply doppler correction to each channel (1 for yes, 0 for no)"
description: "Channel which to apply doppler correction (index as string)"
type: array
items:
type: integer
type: string
startOnAOS:
description: "Start acquisition on AOS (1 for yes, 0 for no)"
type: integer

View File

@ -128,9 +128,9 @@ SatelliteDeviceSettingsList:
SatelliteDeviceSettings:
description: "Device set settings"
properties:
deviceSet:
description: "Name of the device set (E.g. R0)"
type: string
deviceSetIndex:
description: "Index of the device set (E.g. 0)"
type: integer
presetGroup:
description: "Group for preset to load on AOS"
type: string
@ -142,10 +142,10 @@ SatelliteDeviceSettings:
description: "Description of preset to load on AOS"
type: string
doppler:
description: "Whether to apply doppler correction to each channel (1 for yes, 0 for no)"
description: "Channel which to apply doppler correction (index as string)"
type: array
items:
type: integer
type: string
startOnAOS:
description: "Start acquisition on AOS (1 for yes, 0 for no)"
type: integer

View File

@ -9976,9 +9976,9 @@ margin-bottom: 20px;
};
defs.SatelliteDeviceSettings = {
"properties" : {
"deviceSet" : {
"type" : "string",
"description" : "Name of the device set (E.g. R0)"
"deviceSetIndex" : {
"type" : "integer",
"description" : "Index of the device set (E.g. 0)"
},
"presetGroup" : {
"type" : "string",
@ -9995,9 +9995,9 @@ margin-bottom: 20px;
},
"doppler" : {
"type" : "array",
"description" : "Whether to apply doppler correction to each channel (1 for yes, 0 for no)",
"description" : "Channel which to apply doppler correction (index as string)",
"items" : {
"type" : "integer"
"type" : "string"
}
},
"startOnAOS" : {
@ -50580,7 +50580,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2021-09-17T00:27:04.059+02:00
Generated 2021-10-03T09:59:26.222+02:00
</div>
</div>
</div>

View File

@ -28,15 +28,15 @@ SWGSatelliteDeviceSettings::SWGSatelliteDeviceSettings(QString* json) {
}
SWGSatelliteDeviceSettings::SWGSatelliteDeviceSettings() {
device_set = nullptr;
m_device_set_isSet = false;
device_set_index = 0;
m_device_set_index_isSet = false;
preset_group = nullptr;
m_preset_group_isSet = false;
preset_frequency = 0L;
m_preset_frequency_isSet = false;
preset_description = nullptr;
m_preset_description_isSet = false;
doppler = new QList<qint32>();
doppler = nullptr;
m_doppler_isSet = false;
start_on_aos = 0;
m_start_on_aos_isSet = false;
@ -58,15 +58,15 @@ SWGSatelliteDeviceSettings::~SWGSatelliteDeviceSettings() {
void
SWGSatelliteDeviceSettings::init() {
device_set = new QString("");
m_device_set_isSet = false;
device_set_index = 0;
m_device_set_index_isSet = false;
preset_group = new QString("");
m_preset_group_isSet = false;
preset_frequency = 0L;
m_preset_frequency_isSet = false;
preset_description = new QString("");
m_preset_description_isSet = false;
doppler = new QList<qint32>();
doppler = new QList<QString*>();
m_doppler_isSet = false;
start_on_aos = 0;
m_start_on_aos_isSet = false;
@ -84,9 +84,7 @@ SWGSatelliteDeviceSettings::init() {
void
SWGSatelliteDeviceSettings::cleanup() {
if(device_set != nullptr) {
delete device_set;
}
if(preset_group != nullptr) {
delete preset_group;
}
@ -94,7 +92,13 @@ SWGSatelliteDeviceSettings::cleanup() {
if(preset_description != nullptr) {
delete preset_description;
}
if(doppler != nullptr) {
auto arr = doppler;
for(auto o: *arr) {
delete o;
}
delete doppler;
}
@ -118,7 +122,7 @@ SWGSatelliteDeviceSettings::fromJson(QString &json) {
void
SWGSatelliteDeviceSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&device_set, pJson["deviceSet"], "QString", "QString");
::SWGSDRangel::setValue(&device_set_index, pJson["deviceSetIndex"], "qint32", "");
::SWGSDRangel::setValue(&preset_group, pJson["presetGroup"], "QString", "QString");
@ -127,7 +131,7 @@ SWGSatelliteDeviceSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&preset_description, pJson["presetDescription"], "QString", "QString");
::SWGSDRangel::setValue(&doppler, pJson["doppler"], "QList", "qint32");
::SWGSDRangel::setValue(&doppler, pJson["doppler"], "QList", "QString");
::SWGSDRangel::setValue(&start_on_aos, pJson["startOnAOS"], "qint32", "");
::SWGSDRangel::setValue(&stop_on_los, pJson["stopOnLOS"], "qint32", "");
@ -156,8 +160,8 @@ SWGSatelliteDeviceSettings::asJson ()
QJsonObject*
SWGSatelliteDeviceSettings::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(device_set != nullptr && *device_set != QString("")){
toJsonValue(QString("deviceSet"), device_set, obj, QString("QString"));
if(m_device_set_index_isSet){
obj->insert("deviceSetIndex", QJsonValue(device_set_index));
}
if(preset_group != nullptr && *preset_group != QString("")){
toJsonValue(QString("presetGroup"), preset_group, obj, QString("QString"));
@ -169,7 +173,7 @@ SWGSatelliteDeviceSettings::asJsonObject() {
toJsonValue(QString("presetDescription"), preset_description, obj, QString("QString"));
}
if(doppler && doppler->size() > 0){
toJsonArray((QList<void*>*)doppler, obj, "doppler", "");
toJsonArray((QList<void*>*)doppler, obj, "doppler", "QString");
}
if(m_start_on_aos_isSet){
obj->insert("startOnAOS", QJsonValue(start_on_aos));
@ -193,14 +197,14 @@ SWGSatelliteDeviceSettings::asJsonObject() {
return obj;
}
QString*
SWGSatelliteDeviceSettings::getDeviceSet() {
return device_set;
qint32
SWGSatelliteDeviceSettings::getDeviceSetIndex() {
return device_set_index;
}
void
SWGSatelliteDeviceSettings::setDeviceSet(QString* device_set) {
this->device_set = device_set;
this->m_device_set_isSet = true;
SWGSatelliteDeviceSettings::setDeviceSetIndex(qint32 device_set_index) {
this->device_set_index = device_set_index;
this->m_device_set_index_isSet = true;
}
QString*
@ -233,12 +237,12 @@ SWGSatelliteDeviceSettings::setPresetDescription(QString* preset_description) {
this->m_preset_description_isSet = true;
}
QList<qint32>*
QList<QString*>*
SWGSatelliteDeviceSettings::getDoppler() {
return doppler;
}
void
SWGSatelliteDeviceSettings::setDoppler(QList<qint32>* doppler) {
SWGSatelliteDeviceSettings::setDoppler(QList<QString*>* doppler) {
this->doppler = doppler;
this->m_doppler_isSet = true;
}
@ -308,7 +312,7 @@ bool
SWGSatelliteDeviceSettings::isSet(){
bool isObjectUpdated = false;
do{
if(device_set && *device_set != QString("")){
if(m_device_set_index_isSet){
isObjectUpdated = true; break;
}
if(preset_group && *preset_group != QString("")){
@ -320,9 +324,6 @@ SWGSatelliteDeviceSettings::isSet(){
if(preset_description && *preset_description != QString("")){
isObjectUpdated = true; break;
}
if(m_doppler_isSet){
isObjectUpdated = true; break;
}
if(doppler && (doppler->size() > 0)){
isObjectUpdated = true; break;
}

View File

@ -43,8 +43,8 @@ public:
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGSatelliteDeviceSettings* fromJson(QString &jsonString) override;
QString* getDeviceSet();
void setDeviceSet(QString* device_set);
qint32 getDeviceSetIndex();
void setDeviceSetIndex(qint32 device_set_index);
QString* getPresetGroup();
void setPresetGroup(QString* preset_group);
@ -55,8 +55,8 @@ public:
QString* getPresetDescription();
void setPresetDescription(QString* preset_description);
QList<qint32>* getDoppler();
void setDoppler(QList<qint32>* doppler);
QList<QString*>* getDoppler();
void setDoppler(QList<QString*>* doppler);
qint32 getStartOnAos();
void setStartOnAos(qint32 start_on_aos);
@ -80,8 +80,8 @@ public:
virtual bool isSet() override;
private:
QString* device_set;
bool m_device_set_isSet;
qint32 device_set_index;
bool m_device_set_index_isSet;
QString* preset_group;
bool m_preset_group_isSet;
@ -92,7 +92,7 @@ private:
QString* preset_description;
bool m_preset_description_isSet;
QList<qint32>* doppler;
QList<QString*>* doppler;
bool m_doppler_isSet;
qint32 start_on_aos;