diff --git a/plugins/samplemimo/metismiso/metismiso.cpp b/plugins/samplemimo/metismiso/metismiso.cpp index 4126705df..cd87ab033 100644 --- a/plugins/samplemimo/metismiso/metismiso.cpp +++ b/plugins/samplemimo/metismiso/metismiso.cpp @@ -312,6 +312,8 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, bool force) << " m_dcBlock:" << settings.m_dcBlock << " m_iqCorrection:" << settings.m_iqCorrection << " m_txDrive:" << settings.m_txDrive + << " m_streamIndex:" << m_settings.m_streamIndex + << " m_spectrumStreamIndex:" << m_settings.m_spectrumStreamIndex << " m_useReverseAPI: " << settings.m_useReverseAPI << " m_reverseAPIAddress: " << settings.m_reverseAPIAddress << " m_reverseAPIPort: " << settings.m_reverseAPIPort @@ -442,6 +444,21 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, bool force) m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineTxNotif); } + if ((m_settings.m_streamIndex != settings.m_streamIndex) || force) { + reverseAPIKeys.append("streamIndex"); + } + + if ((m_settings.m_spectrumStreamIndex != settings.m_spectrumStreamIndex) || force) + { + reverseAPIKeys.append("spectrumStreamIndex"); + + if (settings.m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { + m_deviceAPI->setSpectrumSinkInput(true, m_settings.m_spectrumStreamIndex); + } else { + m_deviceAPI->setSpectrumSinkInput(false, 0); + } + } + if (propagateSettings) { m_udpHandler.applySettings(settings); } @@ -647,6 +664,12 @@ void MetisMISO::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("txDrive")) { settings.m_txDrive = response.getMetisMisoSettings()->getTxDrive(); } + if (deviceSettingsKeys.contains("spectrumStreamIndex")) { + settings.m_spectrumStreamIndex = response.getMetisMisoSettings()->getSpectrumStreamIndex(); + } + if (deviceSettingsKeys.contains("streamIndex")) { + settings.m_streamIndex = response.getMetisMisoSettings()->getStreamIndex(); + } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getMetisMisoSettings()->getUseReverseApi() != 0; } @@ -700,6 +723,8 @@ void MetisMISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& respo response.getMetisMisoSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getMetisMisoSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); response.getMetisMisoSettings()->setTxDrive(settings.m_txDrive); + response.getMetisMisoSettings()->setSpectrumStreamIndex(settings.m_spectrumStreamIndex); + response.getMetisMisoSettings()->setStreamIndex(settings.m_streamIndex); response.getMetisMisoSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getMetisMisoSettings()->getReverseApiAddress()) { @@ -826,6 +851,12 @@ void MetisMISO::webapiReverseSendSettings(const QList& deviceSettingsKe if (deviceSettingsKeys.contains("txDrive") || force) { swgMetisMISOSettings->setTxDrive(settings.m_txDrive); } + if (deviceSettingsKeys.contains("spectrumStreamIndex") || force) { + swgMetisMISOSettings->setSpectrumStreamIndex(settings.m_spectrumStreamIndex); + } + if (deviceSettingsKeys.contains("streamIndex") || force) { + swgMetisMISOSettings->setStreamIndex(settings.m_streamIndex); + } QString channelSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplemimo/metismiso/metismisogui.cpp b/plugins/samplemimo/metismiso/metismisogui.cpp index bfda504f5..8f7af2dfb 100644 --- a/plugins/samplemimo/metismiso/metismisogui.cpp +++ b/plugins/samplemimo/metismiso/metismisogui.cpp @@ -53,8 +53,6 @@ MetisMISOGui::MetisMISOGui(DeviceUISet *deviceUISet, QWidget* parent) : { qDebug("MetisMISOGui::MetisMISOGui"); m_sampleMIMO = m_deviceUISet->m_deviceAPI->getSampleMIMO(); - m_streamIndex = 0; - m_spectrumStreamIndex = 0; m_rxSampleRate = 48000; m_txSampleRate = 48000; @@ -94,9 +92,9 @@ void MetisMISOGui::resetToDefaults() void MetisMISOGui::setCenterFrequency(qint64 centerFrequency) { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) { - m_settings.m_rxCenterFrequencies[m_streamIndex] = centerFrequency; - } else if (m_streamIndex == MetisMISOSettings::m_maxReceivers) { + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { + m_settings.m_rxCenterFrequencies[m_settings.m_streamIndex] = centerFrequency; + } else if (m_settings.m_streamIndex == MetisMISOSettings::m_maxReceivers) { m_settings.m_txCenterFrequency = centerFrequency; } @@ -135,18 +133,16 @@ void MetisMISOGui::on_streamIndex_currentIndexChanged(int index) { if (ui->streamLock->isChecked()) { - m_spectrumStreamIndex = index; + m_settings.m_spectrumStreamIndex = index; - if (m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) + if (m_settings.m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { m_deviceUISet->m_spectrum->setDisplayedStream(true, index); - m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(true, m_spectrumStreamIndex); m_deviceUISet->setSpectrumScalingFactor(SDR_RX_SCALEF); } else { m_deviceUISet->m_spectrum->setDisplayedStream(false, 0); - m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(false, 0); m_deviceUISet->setSpectrumScalingFactor(SDR_TX_SCALEF); } @@ -157,7 +153,8 @@ void MetisMISOGui::on_streamIndex_currentIndexChanged(int index) ui->spectrumSource->blockSignals(false); } - m_streamIndex = index; + m_settings.m_streamIndex = index; + sendSettings(); updateSubsamplingIndex(); displayFrequency(); @@ -166,18 +163,16 @@ void MetisMISOGui::on_streamIndex_currentIndexChanged(int index) void MetisMISOGui::on_spectrumSource_currentIndexChanged(int index) { - m_spectrumStreamIndex = index; + m_settings.m_spectrumStreamIndex = index; - if (m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) + if (m_settings.m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { m_deviceUISet->m_spectrum->setDisplayedStream(true, index); - m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(true, m_spectrumStreamIndex); m_deviceUISet->setSpectrumScalingFactor(SDR_RX_SCALEF); } else { m_deviceUISet->m_spectrum->setDisplayedStream(false, 0); - m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(false, 0); m_deviceUISet->setSpectrumScalingFactor(SDR_TX_SCALEF); } @@ -188,11 +183,13 @@ void MetisMISOGui::on_spectrumSource_currentIndexChanged(int index) ui->streamIndex->blockSignals(true); ui->streamIndex->setCurrentIndex(index); ui->streamIndex->blockSignals(false); - m_streamIndex = index; + m_settings.m_streamIndex = index; updateSubsamplingIndex(); displayFrequency(); displaySampleRate(); } + + sendSettings(); } void MetisMISOGui::on_streamLock_toggled(bool checked) @@ -211,9 +208,9 @@ void MetisMISOGui::on_LOppm_valueChanged(int value) void MetisMISOGui::on_centerFrequency_changed(quint64 value) { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) { - m_settings.m_rxCenterFrequencies[m_streamIndex] = value * 1000; - } else if (m_streamIndex == MetisMISOSettings::m_maxReceivers) { + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { + m_settings.m_rxCenterFrequencies[m_settings.m_streamIndex] = value * 1000; + } else if (m_settings.m_streamIndex == MetisMISOSettings::m_maxReceivers) { m_settings.m_txCenterFrequency = value * 1000; } @@ -235,9 +232,9 @@ void MetisMISOGui::on_log2Decim_currentIndexChanged(int index) void MetisMISOGui::on_subsamplingIndex_currentIndexChanged(int index) { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) // valid for Rx only + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) // valid for Rx only { - m_settings.m_rxSubsamplingIndexes[m_streamIndex] = index; + m_settings.m_rxSubsamplingIndexes[m_settings.m_streamIndex] = index; ui->subsamplingIndex->setToolTip(tr("Subsampling band index [%1 - %2 MHz]") .arg(index*61.44).arg((index+1)*61.44)); displayFrequency(); @@ -260,7 +257,7 @@ void MetisMISOGui::on_iqCorrection_toggled(bool checked) void MetisMISOGui::on_transverter_clicked() { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { m_settings.m_rxTransverterMode = ui->transverter->getDeltaFrequencyAcive(); m_settings.m_rxTransverterDeltaFrequency = ui->transverter->getDeltaFrequency(); @@ -326,8 +323,8 @@ void MetisMISOGui::displaySettings() { blockApplySettings(true); - ui->streamIndex->setCurrentIndex(m_streamIndex); - ui->spectrumSource->setCurrentIndex(m_spectrumStreamIndex); + ui->streamIndex->setCurrentIndex(m_settings.m_streamIndex); + ui->spectrumSource->setCurrentIndex(m_settings.m_spectrumStreamIndex); ui->nbRxIndex->setCurrentIndex(m_settings.m_nbReceivers - 1); ui->samplerateIndex->setCurrentIndex(m_settings.m_sampleRateIndex); ui->LOppm->setValue(m_settings.m_LOppmTenths); @@ -405,6 +402,13 @@ bool MetisMISOGui::handleMessage(const Message& message) qDebug("MetisMISOGui::handleMessage: MsgConfigureMetisMISO"); const MetisMISO::MsgConfigureMetisMISO& cfg = (MetisMISO::MsgConfigureMetisMISO&) message; m_settings = cfg.getSettings(); + + if ((m_settings.m_spectrumStreamIndex != m_settings.m_streamIndex) && (ui->streamLock->isChecked())) + { + m_settings.m_spectrumStreamIndex = m_settings.m_streamIndex; + sendSettings(); + } + displaySettings(); return true; } @@ -479,14 +483,14 @@ void MetisMISOGui::displayFrequency() qint64 centerFrequency; qint64 fBaseLow, fBaseHigh; - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { - int subsamplingIndex = m_settings.m_rxSubsamplingIndexes[m_streamIndex]; - centerFrequency = m_settings.m_rxCenterFrequencies[m_streamIndex]; + int subsamplingIndex = m_settings.m_rxSubsamplingIndexes[m_settings.m_streamIndex]; + centerFrequency = m_settings.m_rxCenterFrequencies[m_settings.m_streamIndex]; fBaseLow = subsamplingIndex*m_absMaxFreq; fBaseHigh = (subsamplingIndex+1)*m_absMaxFreq; } - else if (m_streamIndex == MetisMISOSettings::m_maxReceivers) + else if (m_settings.m_streamIndex == MetisMISOSettings::m_maxReceivers) { centerFrequency = m_settings.m_txCenterFrequency; fBaseLow = 0; @@ -505,7 +509,7 @@ void MetisMISOGui::displayFrequency() void MetisMISOGui::displaySampleRate() { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) { + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { ui->deviceRateText->setText(tr("%1k").arg((float) m_rxSampleRate / 1000)); } else { ui->deviceRateText->setText(tr("%1k").arg((float) m_txSampleRate / 1000)); @@ -516,9 +520,9 @@ void MetisMISOGui::updateSpectrum() { qint64 centerFrequency; - if (m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { - centerFrequency = m_settings.m_rxCenterFrequencies[m_spectrumStreamIndex]; - } else if (m_spectrumStreamIndex == MetisMISOSettings::m_maxReceivers) { + if (m_settings.m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { + centerFrequency = m_settings.m_rxCenterFrequencies[m_settings.m_spectrumStreamIndex]; + } else if (m_settings.m_spectrumStreamIndex == MetisMISOSettings::m_maxReceivers) { centerFrequency = m_settings.m_txCenterFrequency; } else { centerFrequency = 0; @@ -526,7 +530,7 @@ void MetisMISOGui::updateSpectrum() m_deviceUISet->getSpectrum()->setCenterFrequency(centerFrequency); - if (m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { + if (m_settings.m_spectrumStreamIndex < MetisMISOSettings::m_maxReceivers) { m_deviceUISet->getSpectrum()->setSampleRate(m_rxSampleRate); } else { m_deviceUISet->getSpectrum()->setSampleRate(m_txSampleRate); @@ -535,10 +539,10 @@ void MetisMISOGui::updateSpectrum() void MetisMISOGui::updateSubsamplingIndex() { - if (m_streamIndex < MetisMISOSettings::m_maxReceivers) + if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { ui->subsamplingIndex->setEnabled(true); - ui->subsamplingIndex->setCurrentIndex(m_settings.m_rxSubsamplingIndexes[m_streamIndex]); + ui->subsamplingIndex->setCurrentIndex(m_settings.m_rxSubsamplingIndexes[m_settings.m_streamIndex]); } else { diff --git a/plugins/samplemimo/metismiso/metismisogui.h b/plugins/samplemimo/metismiso/metismisogui.h index 69b649dce..48cad3f44 100644 --- a/plugins/samplemimo/metismiso/metismisogui.h +++ b/plugins/samplemimo/metismiso/metismisogui.h @@ -51,8 +51,6 @@ private: DeviceUISet* m_deviceUISet; MetisMISOSettings m_settings; - int m_streamIndex; //!< Current stream index being dealt with - int m_spectrumStreamIndex; //!< Index of the stream displayed on main spectrum int m_rxSampleRate; int m_txSampleRate; QTimer m_updateTimer; diff --git a/plugins/samplemimo/metismiso/metismisosettings.cpp b/plugins/samplemimo/metismiso/metismisosettings.cpp index 170e5063c..2e3a0e45a 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.cpp +++ b/plugins/samplemimo/metismiso/metismisosettings.cpp @@ -46,6 +46,8 @@ MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other) m_dcBlock = other.m_dcBlock; m_iqCorrection = other.m_iqCorrection; m_txDrive = other.m_txDrive; + m_streamIndex = other.m_streamIndex; + m_spectrumStreamIndex = other.m_spectrumStreamIndex; m_useReverseAPI = other.m_useReverseAPI; m_reverseAPIAddress = other.m_reverseAPIAddress; m_reverseAPIPort = other.m_reverseAPIPort; @@ -74,6 +76,8 @@ void MetisMISOSettings::resetToDefaults() m_dcBlock = false; m_iqCorrection = false; m_txDrive = 15; + m_streamIndex = 0; + m_spectrumStreamIndex = 0; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -106,6 +110,8 @@ QByteArray MetisMISOSettings::serialize() const s.writeString(20, m_reverseAPIAddress); s.writeU32(21, m_reverseAPIPort); s.writeU32(22, m_reverseAPIDeviceIndex); + s.writeS32(23, m_streamIndex); + s.writeS32(24, m_spectrumStreamIndex); for (int i = 0; i < m_maxReceivers; i++) { @@ -167,6 +173,9 @@ bool MetisMISOSettings::deserialize(const QByteArray& data) d.readU32(50+i, &m_rxSubsamplingIndexes[i], 0); } + d.readS32(23, &m_streamIndex, 0); + d.readS32(24, &m_spectrumStreamIndex, 0); + return true; } else diff --git a/plugins/samplemimo/metismiso/metismisosettings.h b/plugins/samplemimo/metismiso/metismisosettings.h index a77eb8388..3fd3ee396 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.h +++ b/plugins/samplemimo/metismiso/metismisosettings.h @@ -42,6 +42,8 @@ struct MetisMISOSettings { bool m_dcBlock; bool m_iqCorrection; unsigned int m_txDrive; + int m_streamIndex; + int m_spectrumStreamIndex; //!< spectrum source bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index aac389257..c540fa76d 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -763,19 +763,60 @@ margin-bottom: 20px; "removeTimeout" : { "type" : "integer" }, - "beastEnabled" : { - "type" : "integer", - "description" : "Send data to beast server\n * 0 - Do not send data\n * 1 - Send data\n" - }, - "beastHost" : { - "type" : "string" - }, - "beastPort" : { + "feedEnabled" : { "type" : "integer" }, - "feedFormat" : { + "exportClientEnabled" : { "type" : "integer", - "description" : "Format of sent data\n * 0 - Beast binary\n * 1 - Beast index\n" + "description" : "Send data to server\n * 0 - Do not send data\n * 1 - Send data\n" + }, + "exportClientHost" : { + "type" : "string", + "description" : "Host to send data to" + }, + "exportClientPort" : { + "type" : "integer" + }, + "exportClientFormat" : { + "type" : "integer", + "description" : "Format of sent data\n * 0 - Beast binary\n * 1 - Beast hex\n" + }, + "exportServerEnabled" : { + "type" : "integer" + }, + "exportServerPort" : { + "type" : "integer" + }, + "importEnabled" : { + "type" : "integer" + }, + "importHost" : { + "type" : "string" + }, + "importUsername" : { + "type" : "string" + }, + "importPassword" : { + "type" : "string" + }, + "importParameters" : { + "type" : "string" + }, + "importPeriod" : { + "type" : "number", + "format" : "float" + }, + "importMinLatitude" : { + "type" : "string" + }, + "importMaxLatitude" : { + "type" : "string" + }, + "importMinLongitude" : { + "type" : "string" + }, + "importMaxLongitude" : { + "type" : "string" }, "logFilename" : { "type" : "string" @@ -5285,6 +5326,9 @@ margin-bottom: 20px; "GS232ControllerReport" : { "$ref" : "#/definitions/GS232ControllerReport" }, + "MapReport" : { + "$ref" : "#/definitions/MapReport" + }, "PERTesterReport" : { "$ref" : "#/definitions/PERTesterReport" }, @@ -8170,6 +8214,15 @@ margin-bottom: 20px; } }, "description" : "An item to draw on the map. Set image to an empty string to remove item from the map." +}; + defs.MapReport = { + "properties" : { + "dateTime" : { + "type" : "string", + "description" : "Current date and time being displayed by 3D map" + } + }, + "description" : "Map" }; defs.MapSettings = { "properties" : { @@ -8349,6 +8402,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "Tx drive level (0 to 15)" }, + "streamIndex" : { + "type" : "integer", + "description" : "The index of the stream currently in scope" + }, + "spectrumStreamIndex" : { + "type" : "integer", + "description" : "The index of the stream that is used as source of the main spectrum" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API * 0 - disabled * 1 - enabled\n" @@ -11272,6 +11333,81 @@ margin-bottom: 20px; } }, "description" : "List of device set settings for a satellite" +}; + defs.SatellitePass = { + "properties" : { + "aos" : { + "type" : "string", + "description" : "Date and time of AOS" + }, + "los" : { + "type" : "string", + "description" : "Date and time of LOS" + }, + "maxElevation" : { + "type" : "number", + "format" : "float", + "description" : "Maximum elevation of pass in degrees" + } + } +}; + defs.SatelliteState = { + "properties" : { + "name" : { + "type" : "string" + }, + "latitude" : { + "type" : "number", + "format" : "float", + "description" : "Latitude of satellite in degrees" + }, + "longitude" : { + "type" : "number", + "format" : "float", + "description" : "Longitude of satellite in degrees" + }, + "altitude" : { + "type" : "number", + "format" : "float", + "description" : "Altitude of satellite in km" + }, + "azimuth" : { + "type" : "number", + "format" : "float", + "description" : "Azimuth to satellite in degrees" + }, + "elevation" : { + "type" : "number", + "format" : "float", + "description" : "Elevation to satellite in degrees" + }, + "range" : { + "type" : "number", + "format" : "float", + "description" : "Satellite range in km" + }, + "rangeRate" : { + "type" : "number", + "format" : "float", + "description" : "Satellite range rate in km/s" + }, + "speed" : { + "type" : "number", + "format" : "float", + "description" : "Satellite speed in km/s" + }, + "period" : { + "type" : "number", + "format" : "float", + "description" : "Satellite period in minutes" + }, + "passes" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SatellitePass" + } + } + } }; defs.SatelliteTrackerActions = { "properties" : { @@ -11287,6 +11423,12 @@ margin-bottom: 20px; "runningState" : { "type" : "integer", "description" : "Running state\n * 0 - not started\n * 1 - idle\n * 2 - running\n * 3 - error\n" + }, + "satelliteState" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SatelliteState" + } } }, "description" : "Satellite Tracker report" @@ -52280,7 +52422,7 @@ except ApiException as e:
- Generated 2022-02-06T20:14:33.369+01:00 + Generated 2022-02-09T21:10:57.247+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ADSBDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/ADSBDemod.yaml index 2be543bc0..ac539d159 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/ADSBDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/ADSBDemod.yaml @@ -35,22 +35,50 @@ ADSBDemodSettings: description: Number of taps per phase in channel interpolator removeTimeout: type: integer - beastEnabled: + feedEnabled: + type: integer + exportClientEnabled: type: integer description: > - Send data to beast server + Send data to server * 0 - Do not send data * 1 - Send data - beastHost: + exportClientHost: + description: Host to send data to type: string - beastPort: + exportClientPort: type: integer - feedFormat: + exportClientFormat: type: integer description: > Format of sent data * 0 - Beast binary - * 1 - Beast index + * 1 - Beast hex + exportServerEnabled: + type: integer + exportServerPort: + type: integer + importEnabled: + type: integer + importHost: + type: string + importUsername: + type: string + importPassword: + type: string + importParameters: + type: string + importPeriod: + type: number + format: float + importMinLatitude: + type: string + importMaxLatitude: + type: string + importMinLongitude: + type: string + importMaxLongitude: + type: string logFilename: type: string logEnabled: diff --git a/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml b/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml index e942a876b..109b16b1f 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FeatureReport.yaml @@ -11,6 +11,8 @@ FeatureReport: $ref: "/doc/swagger/include/AFC.yaml#/AFCReport" GS232ControllerReport: $ref: "/doc/swagger/include/GS232Controller.yaml#/GS232ControllerReport" + MapReport: + $ref: "/doc/swagger/include/Map.yaml#/MapReport" PERTesterReport: $ref: "/doc/swagger/include/PERTester.yaml#/PERTesterReport" RigCtlServerReport: diff --git a/sdrbase/resources/webapi/doc/swagger/include/Map.yaml b/sdrbase/resources/webapi/doc/swagger/include/Map.yaml index 88ae29bf7..e19c25455 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Map.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Map.yaml @@ -22,6 +22,13 @@ MapSettings: rollupState: $ref: "/doc/swagger/include/RollupState.yaml#/RollupState" +MapReport: + description: Map + properties: + dateTime: + description: "Current date and time being displayed by 3D map" + type: string + MapActions: description: Map properties: diff --git a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml index 14e88b31b..49b42e5b2 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml @@ -139,6 +139,12 @@ MetisMISOSettings: txDrive: type: integer description: Tx drive level (0 to 15) + streamIndex: + type: integer + description: The index of the stream currently in scope + spectrumStreamIndex: + type: integer + description: The index of the stream that is used as source of the main spectrum useReverseAPI: type: integer description: > diff --git a/sdrbase/resources/webapi/doc/swagger/include/SatelliteTracker.yaml b/sdrbase/resources/webapi/doc/swagger/include/SatelliteTracker.yaml index 86354c9da..83f67f040 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SatelliteTracker.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SatelliteTracker.yaml @@ -179,6 +179,68 @@ SatelliteTrackerReport: * 1 - idle * 2 - running * 3 - error + satelliteState: + type: array + items: + $ref: "/doc/swagger/include/SatelliteTracker.yaml#/SatelliteState" + +SatelliteState: + properties: + name: + type: string + latitude: + description: "Latitude of satellite in degrees" + type: number + format: float + longitude: + description: "Longitude of satellite in degrees" + type: number + format: float + altitude: + description: "Altitude of satellite in km" + type: number + format: float + azimuth: + description: "Azimuth to satellite in degrees" + type: number + format: float + elevation: + description: "Elevation to satellite in degrees" + type: number + format: float + range: + description: "Satellite range in km" + type: number + format: float + rangeRate: + description: "Satellite range rate in km/s" + type: number + format: float + speed: + description: "Satellite speed in km/s" + type: number + format: float + period: + description: "Satellite period in minutes" + type: number + format: float + passes: + type: array + items: + $ref: "/doc/swagger/include/SatelliteTracker.yaml#/SatellitePass" + +SatellitePass: + properties: + aos: + description: "Date and time of AOS" + type: string + los: + description: "Date and time of LOS" + type: string + maxElevation: + description: "Maximum elevation of pass in degrees" + type: number + format: float SatelliteTrackerActions: description: "Satellite Tracker actions" diff --git a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml index 14e88b31b..49b42e5b2 100644 --- a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml +++ b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml @@ -139,6 +139,12 @@ MetisMISOSettings: txDrive: type: integer description: Tx drive level (0 to 15) + streamIndex: + type: integer + description: The index of the stream currently in scope + spectrumStreamIndex: + type: integer + description: The index of the stream that is used as source of the main spectrum useReverseAPI: type: integer description: > diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index aac389257..c540fa76d 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -763,19 +763,60 @@ margin-bottom: 20px; "removeTimeout" : { "type" : "integer" }, - "beastEnabled" : { - "type" : "integer", - "description" : "Send data to beast server\n * 0 - Do not send data\n * 1 - Send data\n" - }, - "beastHost" : { - "type" : "string" - }, - "beastPort" : { + "feedEnabled" : { "type" : "integer" }, - "feedFormat" : { + "exportClientEnabled" : { "type" : "integer", - "description" : "Format of sent data\n * 0 - Beast binary\n * 1 - Beast index\n" + "description" : "Send data to server\n * 0 - Do not send data\n * 1 - Send data\n" + }, + "exportClientHost" : { + "type" : "string", + "description" : "Host to send data to" + }, + "exportClientPort" : { + "type" : "integer" + }, + "exportClientFormat" : { + "type" : "integer", + "description" : "Format of sent data\n * 0 - Beast binary\n * 1 - Beast hex\n" + }, + "exportServerEnabled" : { + "type" : "integer" + }, + "exportServerPort" : { + "type" : "integer" + }, + "importEnabled" : { + "type" : "integer" + }, + "importHost" : { + "type" : "string" + }, + "importUsername" : { + "type" : "string" + }, + "importPassword" : { + "type" : "string" + }, + "importParameters" : { + "type" : "string" + }, + "importPeriod" : { + "type" : "number", + "format" : "float" + }, + "importMinLatitude" : { + "type" : "string" + }, + "importMaxLatitude" : { + "type" : "string" + }, + "importMinLongitude" : { + "type" : "string" + }, + "importMaxLongitude" : { + "type" : "string" }, "logFilename" : { "type" : "string" @@ -5285,6 +5326,9 @@ margin-bottom: 20px; "GS232ControllerReport" : { "$ref" : "#/definitions/GS232ControllerReport" }, + "MapReport" : { + "$ref" : "#/definitions/MapReport" + }, "PERTesterReport" : { "$ref" : "#/definitions/PERTesterReport" }, @@ -8170,6 +8214,15 @@ margin-bottom: 20px; } }, "description" : "An item to draw on the map. Set image to an empty string to remove item from the map." +}; + defs.MapReport = { + "properties" : { + "dateTime" : { + "type" : "string", + "description" : "Current date and time being displayed by 3D map" + } + }, + "description" : "Map" }; defs.MapSettings = { "properties" : { @@ -8349,6 +8402,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "Tx drive level (0 to 15)" }, + "streamIndex" : { + "type" : "integer", + "description" : "The index of the stream currently in scope" + }, + "spectrumStreamIndex" : { + "type" : "integer", + "description" : "The index of the stream that is used as source of the main spectrum" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API * 0 - disabled * 1 - enabled\n" @@ -11272,6 +11333,81 @@ margin-bottom: 20px; } }, "description" : "List of device set settings for a satellite" +}; + defs.SatellitePass = { + "properties" : { + "aos" : { + "type" : "string", + "description" : "Date and time of AOS" + }, + "los" : { + "type" : "string", + "description" : "Date and time of LOS" + }, + "maxElevation" : { + "type" : "number", + "format" : "float", + "description" : "Maximum elevation of pass in degrees" + } + } +}; + defs.SatelliteState = { + "properties" : { + "name" : { + "type" : "string" + }, + "latitude" : { + "type" : "number", + "format" : "float", + "description" : "Latitude of satellite in degrees" + }, + "longitude" : { + "type" : "number", + "format" : "float", + "description" : "Longitude of satellite in degrees" + }, + "altitude" : { + "type" : "number", + "format" : "float", + "description" : "Altitude of satellite in km" + }, + "azimuth" : { + "type" : "number", + "format" : "float", + "description" : "Azimuth to satellite in degrees" + }, + "elevation" : { + "type" : "number", + "format" : "float", + "description" : "Elevation to satellite in degrees" + }, + "range" : { + "type" : "number", + "format" : "float", + "description" : "Satellite range in km" + }, + "rangeRate" : { + "type" : "number", + "format" : "float", + "description" : "Satellite range rate in km/s" + }, + "speed" : { + "type" : "number", + "format" : "float", + "description" : "Satellite speed in km/s" + }, + "period" : { + "type" : "number", + "format" : "float", + "description" : "Satellite period in minutes" + }, + "passes" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SatellitePass" + } + } + } }; defs.SatelliteTrackerActions = { "properties" : { @@ -11287,6 +11423,12 @@ margin-bottom: 20px; "runningState" : { "type" : "integer", "description" : "Running state\n * 0 - not started\n * 1 - idle\n * 2 - running\n * 3 - error\n" + }, + "satelliteState" : { + "type" : "array", + "items" : { + "$ref" : "#/definitions/SatelliteState" + } } }, "description" : "Satellite Tracker report" @@ -52280,7 +52422,7 @@ except ApiException as e:
- Generated 2022-02-06T20:14:33.369+01:00 + Generated 2022-02-09T21:10:57.247+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp index 8a79c97db..e6b29b385 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp @@ -96,6 +96,10 @@ SWGMetisMISOSettings::SWGMetisMISOSettings() { m_iq_correction_isSet = false; tx_drive = 0; m_tx_drive_isSet = false; + stream_index = 0; + m_stream_index_isSet = false; + spectrum_stream_index = 0; + m_spectrum_stream_index_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -180,6 +184,10 @@ SWGMetisMISOSettings::init() { m_iq_correction_isSet = false; tx_drive = 0; m_tx_drive_isSet = false; + stream_index = 0; + m_stream_index_isSet = false; + spectrum_stream_index = 0; + m_spectrum_stream_index_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -224,6 +232,8 @@ SWGMetisMISOSettings::cleanup() { + + @@ -313,6 +323,10 @@ SWGMetisMISOSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&tx_drive, pJson["txDrive"], "qint32", ""); + ::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", ""); + + ::SWGSDRangel::setValue(&spectrum_stream_index, pJson["spectrumStreamIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -439,6 +453,12 @@ SWGMetisMISOSettings::asJsonObject() { if(m_tx_drive_isSet){ obj->insert("txDrive", QJsonValue(tx_drive)); } + if(m_stream_index_isSet){ + obj->insert("streamIndex", QJsonValue(stream_index)); + } + if(m_spectrum_stream_index_isSet){ + obj->insert("spectrumStreamIndex", QJsonValue(spectrum_stream_index)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -795,6 +815,26 @@ SWGMetisMISOSettings::setTxDrive(qint32 tx_drive) { this->m_tx_drive_isSet = true; } +qint32 +SWGMetisMISOSettings::getStreamIndex() { + return stream_index; +} +void +SWGMetisMISOSettings::setStreamIndex(qint32 stream_index) { + this->stream_index = stream_index; + this->m_stream_index_isSet = true; +} + +qint32 +SWGMetisMISOSettings::getSpectrumStreamIndex() { + return spectrum_stream_index; +} +void +SWGMetisMISOSettings::setSpectrumStreamIndex(qint32 spectrum_stream_index) { + this->spectrum_stream_index = spectrum_stream_index; + this->m_spectrum_stream_index_isSet = true; +} + qint32 SWGMetisMISOSettings::getUseReverseApi() { return use_reverse_api; @@ -942,6 +982,12 @@ SWGMetisMISOSettings::isSet(){ if(m_tx_drive_isSet){ isObjectUpdated = true; break; } + if(m_stream_index_isSet){ + isObjectUpdated = true; break; + } + if(m_spectrum_stream_index_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h index e78fbd88d..212cdd3d2 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h @@ -144,6 +144,12 @@ public: qint32 getTxDrive(); void setTxDrive(qint32 tx_drive); + qint32 getStreamIndex(); + void setStreamIndex(qint32 stream_index); + + qint32 getSpectrumStreamIndex(); + void setSpectrumStreamIndex(qint32 spectrum_stream_index); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -262,6 +268,12 @@ private: qint32 tx_drive; bool m_tx_drive_isSet; + qint32 stream_index; + bool m_stream_index_isSet; + + qint32 spectrum_stream_index; + bool m_spectrum_stream_index_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;