Massive UI revamping (v7): implemented device common settings from top bar and added documentation on device windows top and bottom bars

This commit is contained in:
f4exb 2022-04-17 01:31:50 +02:00
parent 103301f19a
commit 40e34bdebd
109 changed files with 1201 additions and 630 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

BIN
doc/img/DeviceWindow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
doc/img/DeviceWindow.xcf Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

View File

@ -2,6 +2,8 @@
<h2>Introduction</h2> <h2>Introduction</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
The ADS-B demodulator plugin can be used to receive and display ADS-B aircraft information. This is information about an aircraft, such as position, altitude, heading and speed, broadcast by aircraft on 1090MHz, in the 1090ES (Extended Squitter) format. 1090ES frames have a chip rate of 2Mchip/s, so the baseband sample rate should be set to be greater than 2MSa/s. The ADS-B demodulator plugin can be used to receive and display ADS-B aircraft information. This is information about an aircraft, such as position, altitude, heading and speed, broadcast by aircraft on 1090MHz, in the 1090ES (Extended Squitter) format. 1090ES frames have a chip rate of 2Mchip/s, so the baseband sample rate should be set to be greater than 2MSa/s.
As well as displaying information received via ADS-B, the plugin can also combine information from a number of databases to display more information about the aircraft and flight. As well as displaying information received via ADS-B, the plugin can also combine information from a number of databases to display more information about the aircraft and flight.

View File

@ -29,7 +29,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -100,8 +99,7 @@ BladeRF2MIMOGui::BladeRF2MIMOGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue); m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStopRx); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
sendSettings(); sendSettings();
makeUIConnections(); makeUIConnections();
@ -794,21 +792,26 @@ void BladeRF2MIMOGui::updateStatus()
void BladeRF2MIMOGui::openDeviceSettingsDialog(const QPoint& p) void BladeRF2MIMOGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
float BladeRF2MIMOGui::getGainDB(int gainValue, int gainMin, int gainMax, int gainStep, float gainScale) float BladeRF2MIMOGui::getGainDB(int gainValue, int gainMin, int gainMax, int gainStep, float gainScale)

View File

@ -19,6 +19,8 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![BladeRF2 MIMO plugin GUI](../../../doc/img/BladeRF2MIMO_plugin.png) ![BladeRF2 MIMO plugin GUI](../../../doc/img/BladeRF2MIMO_plugin.png)
<h3>1. Rx/Tx settings selection</h3> <h3>1. Rx/Tx settings selection</h3>

View File

@ -28,7 +28,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -100,8 +99,7 @@ LimeSDRMIMOGUI::LimeSDRMIMOGUI(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_limeSDRMIMO->setMessageQueueToGUI(&m_inputMessageQueue); m_limeSDRMIMO->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStopRx); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
sendSettings(); sendSettings();
makeUIConnections(); makeUIConnections();
@ -1126,21 +1124,26 @@ void LimeSDRMIMOGUI::on_antenna_currentIndexChanged(int index)
void LimeSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p) void LimeSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void LimeSDRMIMOGUI::makeUIConnections() void LimeSDRMIMOGUI::makeUIConnections()

View File

@ -10,6 +10,8 @@ This MIMO plugin sends and receives its samples to/from a [LimeSDR device](https
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![LimeSDR MIMO plugin GUI](../../../doc/img/LimeSDRMIMO_plugin.png) ![LimeSDR MIMO plugin GUI](../../../doc/img/LimeSDRMIMO_plugin.png)
<h3>1. Rx/Tx settings selection</h3> <h3>1. Rx/Tx settings selection</h3>

View File

@ -28,7 +28,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -73,8 +72,7 @@ MetisMISOGui::MetisMISOGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue); m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
makeUIConnections(); makeUIConnections();
} }
@ -564,21 +562,26 @@ void MetisMISOGui::updateSubsamplingIndex()
void MetisMISOGui::openDeviceSettingsDialog(const QPoint& p) void MetisMISOGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void MetisMISOGui::makeUIConnections() void MetisMISOGui::makeUIConnections()

View File

@ -17,6 +17,8 @@ The plugin is present in the core of the software and thus is always present in
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Metis MISO plugin GUI](../../../doc/img/MetisMISO_plugin.png) ![Metis MISO plugin GUI](../../../doc/img/MetisMISO_plugin.png)
<h3>1: Active stream selection</h3> <h3>1: Active stream selection</h3>

View File

@ -27,7 +27,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -93,8 +92,7 @@ PlutoSDRMIMOGUI::PlutoSDRMIMOGUI(DeviceUISet *deviceUISet, QWidget* parent) :
ui->swDecimLabel->setText(QString::fromUtf8("S\u2193")); ui->swDecimLabel->setText(QString::fromUtf8("S\u2193"));
ui->lpFIRDecimationLabel->setText(QString::fromUtf8("\u2193")); ui->lpFIRDecimationLabel->setText(QString::fromUtf8("\u2193"));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStopRx); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
blockApplySettings(true); blockApplySettings(true);
displaySettings(); displaySettings();
@ -881,21 +879,26 @@ void PlutoSDRMIMOGUI::on_sampleRateMode_toggled(bool checked)
void PlutoSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p) void PlutoSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void PlutoSDRMIMOGUI::makeUIConnections() void PlutoSDRMIMOGUI::makeUIConnections()

View File

@ -36,6 +36,8 @@ Then add the following defines on `cmake` command line when compiling SDRangel:
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![PlutoSDR MIMO plugin GUI](../../../doc/img/PlutoSDRMIMO_plugin.png) ![PlutoSDR MIMO plugin GUI](../../../doc/img/PlutoSDRMIMO_plugin.png)
<h3>1. Rx/Tx settings selection</h3> <h3>1. Rx/Tx settings selection</h3>

View File

@ -10,6 +10,8 @@ The plugin is present in the core of the software and thus is always present in
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Test source input plugin GUI](../../../doc/img/TestSourceInput_plugin.png) ![Test source input plugin GUI](../../../doc/img/TestSourceInput_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -28,7 +28,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -85,8 +84,7 @@ TestMIGui::TestMIGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue); m_sampleMIMO->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
makeUIConnections(); makeUIConnections();
} }
@ -551,21 +549,26 @@ void TestMIGui::updateSampleRateAndFrequency()
void TestMIGui::openDeviceSettingsDialog(const QPoint& p) void TestMIGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void TestMIGui::makeUIConnections() void TestMIGui::makeUIConnections()

View File

@ -65,7 +65,8 @@ struct TestMIStreamSettings {
void resetToDefaults(); void resetToDefaults();
}; };
struct TestMISettings { struct TestMISettings
{
bool m_useReverseAPI; bool m_useReverseAPI;
QString m_reverseAPIAddress; QString m_reverseAPIAddress;
uint16_t m_reverseAPIPort; uint16_t m_reverseAPIPort;

View File

@ -10,6 +10,8 @@ The plugin is always built.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Test MO sync plugin GUI](../../../doc/img/TestMOSync_plugin.png) ![Test MO sync plugin GUI](../../../doc/img/TestMOSync_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -24,6 +24,7 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "dsp/spectrumvis.h" #include "dsp/spectrumvis.h"
@ -83,6 +84,7 @@ TestMOSyncGui::TestMOSyncGui(DeviceUISet *deviceUISet, QWidget* parent) :
m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(false, 0); m_deviceUISet->m_deviceAPI->setSpectrumSinkInput(false, 0);
m_deviceUISet->setSpectrumScalingFactor(SDR_TX_SCALEF); m_deviceUISet->setSpectrumScalingFactor(SDR_TX_SCALEF);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
TestMOSyncGui::~TestMOSyncGui() TestMOSyncGui::~TestMOSyncGui()
@ -289,6 +291,30 @@ void TestMOSyncGui::tick()
{ {
} }
void TestMOSyncGui::openDeviceSettingsDialog(const QPoint& p)
{
if (m_contextMenuType == ContextMenuDeviceSettings)
{
BasicDeviceSettingsDialog dialog(this);
dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings();
}
resetContextMenuType();
}
void TestMOSyncGui::makeUIConnections() void TestMOSyncGui::makeUIConnections()
{ {
QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &TestMOSyncGui::on_centerFrequency_changed); QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &TestMOSyncGui::on_centerFrequency_changed);

View File

@ -85,6 +85,7 @@ private slots:
void on_startStop_toggled(bool checked); void on_startStop_toggled(bool checked);
void on_interp_currentIndexChanged(int index); void on_interp_currentIndexChanged(int index);
void on_spectrumIndex_currentIndexChanged(int index); void on_spectrumIndex_currentIndexChanged(int index);
void openDeviceSettingsDialog(const QPoint& p);
void updateHardware(); void updateHardware();
void updateStatus(); void updateStatus();
void tick(); void tick();

View File

@ -32,6 +32,10 @@ void TestMOSyncSettings::resetToDefaults()
m_log2Interp = 0; m_log2Interp = 0;
m_fcPosTx = FC_POS_CENTER; m_fcPosTx = FC_POS_CENTER;
m_workspaceIndex = 0; m_workspaceIndex = 0;
m_useReverseAPI = false;
m_reverseAPIAddress = "127.0.0.1";
m_reverseAPIPort = 8888;
m_reverseAPIDeviceIndex = 0;
} }
QByteArray TestMOSyncSettings::serialize() const QByteArray TestMOSyncSettings::serialize() const
@ -43,6 +47,10 @@ QByteArray TestMOSyncSettings::serialize() const
s.writeS32(3, (int) m_fcPosTx); s.writeS32(3, (int) m_fcPosTx);
s.writeS32(4, m_workspaceIndex); s.writeS32(4, m_workspaceIndex);
s.writeBlob(5, m_geometryBytes); s.writeBlob(5, m_geometryBytes);
s.writeBool(6, m_useReverseAPI);
s.writeString(7, m_reverseAPIAddress);
s.writeU32(8, m_reverseAPIPort);
s.writeU32(9, m_reverseAPIDeviceIndex);
return s.final(); return s.final();
} }
@ -60,6 +68,7 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data)
if (d.getVersion() == 1) if (d.getVersion() == 1)
{ {
int intval; int intval;
uint32_t utmp;
d.readU64(1, &m_sampleRate, 48000); d.readU64(1, &m_sampleRate, 48000);
d.readU32(2, &m_log2Interp, 0); d.readU32(2, &m_log2Interp, 0);
@ -67,6 +76,18 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data)
m_fcPosTx = (fcPos_t) intval; m_fcPosTx = (fcPos_t) intval;
d.readS32(4, &m_workspaceIndex, 0); d.readS32(4, &m_workspaceIndex, 0);
d.readBlob(5, &m_geometryBytes); d.readBlob(5, &m_geometryBytes);
d.readBool(1, &m_useReverseAPI, false);
d.readString(2, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(3, &utmp, 0);
if ((utmp > 1023) && (utmp < 65535)) {
m_reverseAPIPort = utmp;
} else {
m_reverseAPIPort = 8888;
}
d.readU32(4, &utmp, 0);
m_reverseAPIDeviceIndex = utmp > 99 ? 99 : utmp;
return true; return true;
} }

View File

@ -31,6 +31,10 @@ struct TestMOSyncSettings {
quint64 m_sampleRate; quint64 m_sampleRate;
quint32 m_log2Interp; quint32 m_log2Interp;
fcPos_t m_fcPosTx; fcPos_t m_fcPosTx;
bool m_useReverseAPI;
QString m_reverseAPIAddress;
uint16_t m_reverseAPIPort;
uint16_t m_reverseAPIDeviceIndex;
int m_workspaceIndex; int m_workspaceIndex;
QByteArray m_geometryBytes; QByteArray m_geometryBytes;

View File

@ -40,6 +40,8 @@ For a group the syntax is the same but the group name is prefixed with `@` like:
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![XTRX MIMO plugin GUI](../../../doc/img/XTRXMIMO_plugin.png) ![XTRX MIMO plugin GUI](../../../doc/img/XTRXMIMO_plugin.png)
<h3>1. Rx/Tx settings selection</h3> <h3>1. Rx/Tx settings selection</h3>

View File

@ -26,7 +26,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspdevicemimoengine.h" #include "dsp/dspdevicemimoengine.h"
@ -97,8 +96,7 @@ XTRXMIMOGUI::XTRXMIMOGUI(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_xtrxMIMO->setMessageQueueToGUI(&m_inputMessageQueue); m_xtrxMIMO->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStopRx); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
sendSettings(); sendSettings();
makeUIConnections(); makeUIConnections();
@ -1002,21 +1000,26 @@ void XTRXMIMOGUI::on_antenna_currentIndexChanged(int index)
void XTRXMIMOGUI::openDeviceSettingsDialog(const QPoint& p) void XTRXMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void XTRXMIMOGUI::makeUIConnections() void XTRXMIMOGUI::makeUIConnections()

View File

@ -21,7 +21,6 @@
#include "ui_audiooutputgui.h" #include "ui_audiooutputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "gui/audioselectdialog.h" #include "gui/audioselectdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
@ -49,9 +48,7 @@ AudioOutputGui::AudioOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
m_helpURL = "plugins/samplesink/audiooutput/readme.md"; m_helpURL = "plugins/samplesink/audiooutput/readme.md";
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware())); connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
m_sampleRate = m_audioOutput->getSampleRate(); m_sampleRate = m_audioOutput->getSampleRate();
m_centerFrequency = m_audioOutput->getCenterFrequency(); m_centerFrequency = m_audioOutput->getCenterFrequency();
@ -227,21 +224,26 @@ void AudioOutputGui::updateHardware()
void AudioOutputGui::openDeviceSettingsDialog(const QPoint& p) void AudioOutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void AudioOutputGui::makeUIConnections() void AudioOutputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This output plugin sends its samples to an audio device.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Audio output plugin GUI](../../../doc/img/AudioOutput_plugin.png) ![Audio output plugin GUI](../../../doc/img/AudioOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -23,7 +23,6 @@
#include "ui_bladerf1outputgui.h" #include "ui_bladerf1outputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -66,8 +65,7 @@ Bladerf1OutputGui::Bladerf1OutputGui(DeviceUISet *deviceUISet, QWidget* parent)
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -448,21 +446,26 @@ unsigned int Bladerf1OutputGui::getXb200Index(bool xb_200, bladerf_xb200_path xb
void Bladerf1OutputGui::openDeviceSettingsDialog(const QPoint& p) void Bladerf1OutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void Bladerf1OutputGui::makeUIConnections() void Bladerf1OutputGui::makeUIConnections()

View File

@ -37,6 +37,8 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![BladeRF1 output plugin GUI](../../../doc/img/BladeRF1Output_plugin.png) ![BladeRF1 output plugin GUI](../../../doc/img/BladeRF1Output_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -23,7 +23,6 @@
#include "ui_bladerf2outputgui.h" #include "ui_bladerf2outputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -80,8 +79,7 @@ BladeRF2OutputGui::BladeRF2OutputGui(DeviceUISet *deviceUISet, QWidget* parent)
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -426,21 +424,26 @@ void BladeRF2OutputGui::updateStatus()
void BladeRF2OutputGui::openDeviceSettingsDialog(const QPoint& p) void BladeRF2OutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
float BladeRF2OutputGui::getGainDB(int gainValue) float BladeRF2OutputGui::getGainDB(int gainValue)

View File

@ -14,6 +14,8 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![BladeRF2 output plugin GUI](../../../doc/img/BladeRF2Output_plugin.png) ![BladeRF2 output plugin GUI](../../../doc/img/BladeRF2Output_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -27,6 +27,7 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -76,6 +77,7 @@ FileOutputGui::FileOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
m_deviceSampleSink = (FileOutput*) m_deviceUISet->m_deviceAPI->getSampleSink(); m_deviceSampleSink = (FileOutput*) m_deviceUISet->m_deviceAPI->getSampleSink();
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
FileOutputGui::~FileOutputGui() FileOutputGui::~FileOutputGui()
@ -323,6 +325,30 @@ void FileOutputGui::tick()
} }
} }
void FileOutputGui::openDeviceSettingsDialog(const QPoint& p)
{
if (m_contextMenuType == ContextMenuDeviceSettings)
{
BasicDeviceSettingsDialog dialog(this);
dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings();
}
resetContextMenuType();
}
void FileOutputGui::makeUIConnections() void FileOutputGui::makeUIConnections()
{ {
QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &FileOutputGui::on_centerFrequency_changed); QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &FileOutputGui::on_centerFrequency_changed);

View File

@ -89,6 +89,7 @@ private slots:
void on_startStop_toggled(bool checked); void on_startStop_toggled(bool checked);
void on_showFileDialog_clicked(bool checked); void on_showFileDialog_clicked(bool checked);
void on_interp_currentIndexChanged(int index); void on_interp_currentIndexChanged(int index);
void openDeviceSettingsDialog(const QPoint& p);
void updateHardware(); void updateHardware();
void updateStatus(); void updateStatus();
void tick(); void tick();

View File

@ -18,6 +18,8 @@ The plugin is always built.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![File output plugin GUI](../../../doc/img/FileOutput_plugin.png) ![File output plugin GUI](../../../doc/img/FileOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -22,7 +22,6 @@
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -62,8 +61,7 @@ HackRFOutputGui::HackRFOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
displayBandwidths(); displayBandwidths();
@ -443,21 +441,26 @@ void HackRFOutputGui::updateStatus()
void HackRFOutputGui::openDeviceSettingsDialog(const QPoint& p) void HackRFOutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void HackRFOutputGui::makeUIConnections() void HackRFOutputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This output sample sink plugin sends its samples to a [HackRF device](https://gr
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![HackRF output plugin GUI](../../../doc/img/HackRFOutput_plugin.png) ![HackRF output plugin GUI](../../../doc/img/HackRFOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>
@ -111,4 +113,4 @@ When a device set for the same physical device is present the device center freq
When the center frequency position Fc (control 9) is set to center (Cen) in both Tx and Rx the actual frequency of reception and transmission are the same. When the center frequency position Fc (control 9) is set to center (Cen) in both Tx and Rx the actual frequency of reception and transmission are the same.
In other cases for both frequencies to match you have to set the same sample rate and Fc position (either Inf or Sup) in the Tx and Rx. In other cases for both frequencies to match you have to set the same sample rate and Fc position (either Inf or Sup) in the Tx and Rx.

View File

@ -21,7 +21,6 @@
#include "ui_limesdroutputgui.h" #include "ui_limesdroutputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -93,9 +92,7 @@ LimeSDROutputGUI::LimeSDROutputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceUISet->m_deviceAPI->getDeviceUID()); sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceUISet->m_deviceAPI->getDeviceUID());
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
sendSettings(); sendSettings();
makeUIConnections(); makeUIConnections();
@ -619,21 +616,26 @@ void LimeSDROutputGUI::on_sampleRateMode_toggled(bool checked)
void LimeSDROutputGUI::openDeviceSettingsDialog(const QPoint& p) void LimeSDROutputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void LimeSDROutputGUI::makeUIConnections() void LimeSDROutputGUI::makeUIConnections()

View File

@ -32,6 +32,8 @@ Then add the following defines on `cmake` command line:
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![LimeSDR output plugin GUI](../../../doc/img/LimeSDROutput_plugin.png) ![LimeSDR output plugin GUI](../../../doc/img/LimeSDROutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -32,7 +32,6 @@
#include "ui_localoutputgui.h" #include "ui_localoutputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -67,8 +66,7 @@ LocalOutputGui::LocalOutputGui(DeviceUISet *deviceUISet, QWidget* parent) :
.arg(palette().highlight().color().darker(115).name()))); .arg(palette().highlight().color().darker(115).name())));
m_helpURL = "plugins/samplesink/localoutput/readme.md"; m_helpURL = "plugins/samplesink/localoutput/readme.md";
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -282,21 +280,26 @@ void LocalOutputGui::updateStatus()
void LocalOutputGui::openDeviceSettingsDialog(const QPoint& p) void LocalOutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void LocalOutputGui::makeUIConnections() void LocalOutputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This output sample sink plugin sends its samples to a Local Source channel in an
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDR Local output plugin GUI](../../../doc/img/LocalOutput_plugin.png) ![SDR Local output plugin GUI](../../../doc/img/LocalOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -22,7 +22,6 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "device/deviceapi.h" #include "device/deviceapi.h"
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
@ -70,8 +69,7 @@ PlutoSDROutputGUI::PlutoSDROutputGUI(DeviceUISet *deviceUISet, QWidget* parent)
ui->swInterpLabel->setText(QString::fromUtf8("S\u2191")); ui->swInterpLabel->setText(QString::fromUtf8("S\u2191"));
ui->lpFIRInterpolationLabel->setText(QString::fromUtf8("\u2191")); ui->lpFIRInterpolationLabel->setText(QString::fromUtf8("\u2191"));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
blockApplySettings(true); blockApplySettings(true);
displaySettings(); displaySettings();
@ -482,21 +480,26 @@ void PlutoSDROutputGUI::updateSampleRateAndFrequency()
void PlutoSDROutputGUI::openDeviceSettingsDialog(const QPoint& p) void PlutoSDROutputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void PlutoSDROutputGUI::makeUIConnections() void PlutoSDROutputGUI::makeUIConnections()

View File

@ -27,6 +27,8 @@ Then add the following defines on `cmake` command line when compiling SDRangel:
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![PlutoSDR output plugin GUI](../../../doc/img/PlutoSDROutput_plugin.png) ![PlutoSDR output plugin GUI](../../../doc/img/PlutoSDROutput_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -16,6 +16,8 @@ The plugin will be built only if the [CM256cc library](https://github.com/f4exb/
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDR Remote output plugin GUI](../../../doc/img/RemoteOutput_plugin.png) ![SDR Remote output plugin GUI](../../../doc/img/RemoteOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -28,7 +28,6 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -87,8 +86,7 @@ RemoteOutputSinkGui::RemoteOutputSinkGui(DeviceUISet *deviceUISet, QWidget* pare
displayEventCounts(); displayEventCounts();
displayEventTimer(); displayEventTimer();
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
sendSettings(); sendSettings();
@ -529,21 +527,26 @@ void RemoteOutputSinkGui::displayRemoteFixedData(const RemoteOutput::MsgReportRe
void RemoteOutputSinkGui::openDeviceSettingsDialog(const QPoint& p) void RemoteOutputSinkGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void RemoteOutputSinkGui::makeUIConnections() void RemoteOutputSinkGui::makeUIConnections()

View File

@ -65,6 +65,8 @@ When installed the Red Pitaya SoapySDR plugin lists a Red Pitaya device even if
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SoapySDR input plugin GUI](../../../doc/img/SoapySDROutput_plugin1.png) ![SoapySDR input plugin GUI](../../../doc/img/SoapySDROutput_plugin1.png)
The top part described by number tags is common for all devices. The bottom part under the "A" tag depends on the SoapySDR device implementation. The corresponding widgets are stacked vertically inside a scrollable area as there may be many controls depending on how the device interface is implemented in SoapySDR. Move the slider on the right to see all parameters available. The top part described by number tags is common for all devices. The bottom part under the "A" tag depends on the SoapySDR device implementation. The corresponding widgets are stacked vertically inside a scrollable area as there may be many controls depending on how the device interface is implemented in SoapySDR. Move the slider on the right to see all parameters available.

View File

@ -25,7 +25,6 @@
#include "util/simpleserializer.h" #include "util/simpleserializer.h"
#include "ui_soapysdroutputgui.h" #include "ui_soapysdroutputgui.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "soapygui/discreterangegui.h" #include "soapygui/discreterangegui.h"
#include "soapygui/intervalrangegui.h" #include "soapygui/intervalrangegui.h"
@ -94,8 +93,7 @@ SoapySDROutputGui::SoapySDROutputGui(DeviceUISet *deviceUISet, QWidget* parent)
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -872,21 +870,26 @@ void SoapySDROutputGui::updateStatus()
void SoapySDROutputGui::openDeviceSettingsDialog(const QPoint& p) void SoapySDROutputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void SoapySDROutputGui::makeUIConnections() void SoapySDROutputGui::makeUIConnections()

View File

@ -10,6 +10,8 @@ The plugin is always built.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Test sink plugin GUI](../../../doc/img/TestSink.png) ![Test sink plugin GUI](../../../doc/img/TestSink.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>
@ -40,4 +42,4 @@ Use the wheels to adjust the sample rate. Left click on a digit sets the cursor
<h3>6: Spectrum display</h3> <h3>6: Spectrum display</h3>
This is the final output stream spectrum display after interpolation (4). This would be sent to the hardware device. Controls on the bottom of the panel are identical to the ones of the main spectrum display. This is the final output stream spectrum display after interpolation (4). This would be sent to the hardware device. Controls on the bottom of the panel are identical to the ones of the main spectrum display.

View File

@ -25,6 +25,7 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "dsp/spectrumvis.h" #include "dsp/spectrumvis.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -76,6 +77,7 @@ TestSinkGui::TestSinkGui(DeviceUISet *deviceUISet, QWidget* parent) :
makeUIConnections(); makeUIConnections();
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
TestSinkGui::~TestSinkGui() TestSinkGui::~TestSinkGui()
@ -263,6 +265,30 @@ void TestSinkGui::tick()
{ {
} }
void TestSinkGui::openDeviceSettingsDialog(const QPoint& p)
{
if (m_contextMenuType == ContextMenuDeviceSettings)
{
BasicDeviceSettingsDialog dialog(this);
dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings();
}
resetContextMenuType();
}
void TestSinkGui::makeUIConnections() void TestSinkGui::makeUIConnections()
{ {
QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &TestSinkGui::on_centerFrequency_changed); QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &TestSinkGui::on_centerFrequency_changed);

View File

@ -85,6 +85,7 @@ private slots:
void on_sampleRate_changed(quint64 value); void on_sampleRate_changed(quint64 value);
void on_startStop_toggled(bool checked); void on_startStop_toggled(bool checked);
void on_interp_currentIndexChanged(int index); void on_interp_currentIndexChanged(int index);
void openDeviceSettingsDialog(const QPoint& p);
void updateHardware(); void updateHardware();
void updateStatus(); void updateStatus();
void tick(); void tick();

View File

@ -31,6 +31,10 @@ void TestSinkSettings::resetToDefaults()
m_log2Interp = 0; m_log2Interp = 0;
m_spectrumGUI = nullptr; m_spectrumGUI = nullptr;
m_workspaceIndex = 0; m_workspaceIndex = 0;
m_useReverseAPI = false;
m_reverseAPIAddress = "127.0.0.1";
m_reverseAPIPort = 8888;
m_reverseAPIDeviceIndex = 0;
} }
QByteArray TestSinkSettings::serialize() const QByteArray TestSinkSettings::serialize() const
@ -47,7 +51,10 @@ QByteArray TestSinkSettings::serialize() const
s.writeS32(5, m_workspaceIndex); s.writeS32(5, m_workspaceIndex);
s.writeBlob(6, m_geometryBytes); s.writeBlob(6, m_geometryBytes);
s.writeBool(7, m_useReverseAPI);
s.writeString(8, m_reverseAPIAddress);
s.writeU32(9, m_reverseAPIPort);
s.writeU32(10, m_reverseAPIDeviceIndex);
return s.final(); return s.final();
} }
@ -64,6 +71,7 @@ bool TestSinkSettings::deserialize(const QByteArray& data)
if (d.getVersion() == 1) if (d.getVersion() == 1)
{ {
QByteArray bytetmp; QByteArray bytetmp;
uint32_t uintval;
d.readU64(1, &m_sampleRate, 435000*1000); d.readU64(1, &m_sampleRate, 435000*1000);
d.readU64(2, &m_sampleRate, 48000); d.readU64(2, &m_sampleRate, 48000);
@ -77,6 +85,18 @@ bool TestSinkSettings::deserialize(const QByteArray& data)
d.readS32(5, &m_workspaceIndex, 0); d.readS32(5, &m_workspaceIndex, 0);
d.readBlob(6, &m_geometryBytes); d.readBlob(6, &m_geometryBytes);
d.readBool(7, &m_useReverseAPI, false);
d.readString(8, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(9, &uintval, 0);
if ((uintval > 1023) && (uintval < 65535)) {
m_reverseAPIPort = uintval;
} else {
m_reverseAPIPort = 8888;
}
d.readU32(10, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
return true; return true;
} }

View File

@ -29,6 +29,10 @@ struct TestSinkSettings {
Serializable *m_spectrumGUI; Serializable *m_spectrumGUI;
int m_workspaceIndex; int m_workspaceIndex;
QByteArray m_geometryBytes; QByteArray m_geometryBytes;
bool m_useReverseAPI;
QString m_reverseAPIAddress;
uint16_t m_reverseAPIPort;
uint16_t m_reverseAPIDeviceIndex;
TestSinkSettings(); TestSinkSettings();
void resetToDefaults(); void resetToDefaults();

View File

@ -6,6 +6,8 @@ This output sample sink plugin sends its samples to a [USRP device](https://www.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![USRP output plugin GUI](../../../doc/img/USRPOutput_plugin.png) ![USRP output plugin GUI](../../../doc/img/USRPOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>
@ -18,7 +20,7 @@ Device start / stop button.
<h3>2A: Sample rate</h3> <h3>2A: Sample rate</h3>
This is the sample rate at which IQ samples are transfered from SDRangel to the device, in kS/s (k) or MS/s (M). This is the sample rate at which IQ samples are transfered from SDRangel to the device, in kS/s (k) or MS/s (M).
<h3>2B: Stream sample rate</h3> <h3>2B: Stream sample rate</h3>

View File

@ -22,7 +22,6 @@
#include "ui_usrpoutputgui.h" #include "ui_usrpoutputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -86,9 +85,7 @@ USRPOutputGUI::USRPOutputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceUISet->m_deviceAPI->getDeviceUID()); sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceUISet->m_deviceAPI->getDeviceUID());
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
sendSettings(); sendSettings();
makeUIConnections(); makeUIConnections();
@ -563,21 +560,26 @@ void USRPOutputGUI::on_sampleRateMode_toggled(bool checked)
void USRPOutputGUI::openDeviceSettingsDialog(const QPoint& p) void USRPOutputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void USRPOutputGUI::makeUIConnections() void USRPOutputGUI::makeUIConnections()

View File

@ -40,9 +40,12 @@ For a group the syntax is the same but the group name is prefixed with `@` like:
``` ```
@realtime - rtprio 99 @realtime - rtprio 99
@realtime - memlock unlimited @realtime - memlock unlimited
```
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![XTRX output plugin GUI](../../../doc/img/XTRXOutput_plugin.png) ![XTRX output plugin GUI](../../../doc/img/XTRXOutput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -23,7 +23,6 @@
#include "ui_xtrxoutputgui.h" #include "ui_xtrxoutputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -74,8 +73,7 @@ XTRXOutputGUI::XTRXOutputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -554,21 +552,26 @@ void XTRXOutputGUI::on_sampleRateMode_toggled(bool checked)
void XTRXOutputGUI::openDeviceSettingsDialog(const QPoint& p) void XTRXOutputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void XTRXOutputGUI::makeUIConnections() void XTRXOutputGUI::makeUIConnections()

View File

@ -29,7 +29,6 @@
#include "ui_airspygui.h" #include "ui_airspygui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -57,8 +56,7 @@ AirspyGui::AirspyGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -435,21 +433,26 @@ int AirspyGui::getDevSampleRateIndex(uint32_t sampeRate)
void AirspyGui::openDeviceSettingsDialog(const QPoint& p) void AirspyGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void AirspyGui::makeUIConnections() void AirspyGui::makeUIConnections()

View File

@ -27,7 +27,6 @@
#include "ui_airspyhfgui.h" #include "ui_airspyhfgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -57,8 +56,7 @@ AirspyHFGui::AirspyHFGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -455,21 +453,26 @@ int AirspyHFGui::getDevSampleRateIndex(uint32_t sampeRate)
void AirspyHFGui::openDeviceSettingsDialog(const QPoint& p) void AirspyHFGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void AirspyHFGui::makeUIConnections() void AirspyHFGui::makeUIConnections()

View File

@ -14,6 +14,8 @@ Note: if you use binary distributions this is included in the bundle.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
For controls 10 to 13 to be effective you will need a recent version (up to date in January 2019) of both libairspy and the firmware. For controls 10 to 13 to be effective you will need a recent version (up to date in January 2019) of both libairspy and the firmware.
![AirspyHF input plugin GUI](../../../doc/img/AirspyHFInput_plugin.png) ![AirspyHF input plugin GUI](../../../doc/img/AirspyHFInput_plugin.png)

View File

@ -22,7 +22,6 @@
#include "ui_audioinputgui.h" #include "ui_audioinputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -49,9 +48,7 @@ AudioInputGui::AudioInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
m_helpURL = "plugins/samplesource/audioinput/readme.md"; m_helpURL = "plugins/samplesource/audioinput/readme.md";
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware())); connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -295,21 +292,26 @@ void AudioInputGui::updateHardware()
void AudioInputGui::openDeviceSettingsDialog(const QPoint& p) void AudioInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void AudioInputGui::makeUIConnections() void AudioInputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This input sample source plugin gets its samples from an audio device.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![Audio input plugin GUI](../../../doc/img/AudioInput_plugin.png) ![Audio input plugin GUI](../../../doc/img/AudioInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -24,7 +24,6 @@
#include "ui_bladerf1inputgui.h" #include "ui_bladerf1inputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -69,8 +68,7 @@ Bladerf1InputGui::Bladerf1InputGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -514,21 +512,26 @@ unsigned int Bladerf1InputGui::getXb200Index(bool xb_200, bladerf_xb200_path xb2
void Bladerf1InputGui::openDeviceSettingsDialog(const QPoint& p) void Bladerf1InputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void Bladerf1InputGui::makeUIConnections() void Bladerf1InputGui::makeUIConnections()

View File

@ -19,6 +19,8 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![BladeRF1 input plugin GUI](../../../doc/img/BladeRF1Input_plugin.png) ![BladeRF1 input plugin GUI](../../../doc/img/BladeRF1Input_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -24,7 +24,6 @@
#include "ui_bladerf2inputgui.h" #include "ui_bladerf2inputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -91,8 +90,7 @@ BladeRF2InputGui::BladeRF2InputGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -515,21 +513,26 @@ void BladeRF2InputGui::updateStatus()
void BladeRF2InputGui::openDeviceSettingsDialog(const QPoint& p) void BladeRF2InputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
float BladeRF2InputGui::getGainDB(int gainValue) float BladeRF2InputGui::getGainDB(int gainValue)

View File

@ -14,6 +14,8 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![BladeRF2 input plugin GUI](../../../doc/img/BladeRF2Input_plugin.png) ![BladeRF2 input plugin GUI](../../../doc/img/BladeRF2Input_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -21,7 +21,6 @@
#include "ui_fcdprogui.h" #include "ui_fcdprogui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -151,8 +150,7 @@ FCDProGui::FCDProGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -539,21 +537,26 @@ void FCDProGui::updateHardware()
void FCDProGui::openDeviceSettingsDialog(const QPoint& p) void FCDProGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void FCDProGui::makeUIConnections() void FCDProGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This input sample source plugin gets its samples from a [FunCube Dongle (FCD) Pr
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![FCD Pro input plugin GUI](../../../doc/img/FCDPro_plugin.png) ![FCD Pro input plugin GUI](../../../doc/img/FCDPro_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -22,7 +22,6 @@
#include "ui_fcdproplusgui.h" #include "ui_fcdproplusgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -69,8 +68,7 @@ FCDProPlusGui::FCDProPlusGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -361,21 +359,26 @@ void FCDProPlusGui::on_transverter_clicked()
void FCDProPlusGui::openDeviceSettingsDialog(const QPoint& p) void FCDProPlusGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void FCDProPlusGui::makeUIConnections() void FCDProPlusGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This input sample source plugin gets its samples from a [FunCube Dongle (FCD) Pr
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![FCD Pro+ input plugin GUI](../../../doc/img/FCDProPlus_plugin.png) ![FCD Pro+ input plugin GUI](../../../doc/img/FCDProPlus_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>
@ -80,4 +82,4 @@ This controls the tuner filter (band) used:
<h3>11: IF filter</h2> <h3>11: IF filter</h2>
Selects the IF filter bandwidth Selects the IF filter bandwidth

View File

@ -27,7 +27,6 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -66,8 +65,7 @@ FileInputGUI::FileInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
setAccelerationCombo(); setAccelerationCombo();
displaySettings(); displaySettings();
@ -436,21 +434,26 @@ void FileInputGUI::setNumberStr(int n, QString& s)
void FileInputGUI::openDeviceSettingsDialog(const QPoint& p) void FileInputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void FileInputGUI::makeUIConnections() void FileInputGUI::makeUIConnections()

View File

@ -48,6 +48,8 @@ The header takes an integer number of 16 (4 bytes) or 24 (8 bytes) bits samples.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![File input plugin GUI](../../../doc/img/FileInput_plugin.png) ![File input plugin GUI](../../../doc/img/FileInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -25,7 +25,6 @@
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -63,8 +62,7 @@ HackRFInputGui::HackRFInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
displayBandwidths(); displayBandwidths();
@ -497,21 +495,26 @@ void HackRFInputGui::updateStatus()
void HackRFInputGui::openDeviceSettingsDialog(const QPoint& p) void HackRFInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void HackRFInputGui::makeUIConnections() void HackRFInputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This input sample source plugin gets its samples from a [HackRF device](https://
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![HackRF input plugin GUI](../../../doc/img/HackRFInput_plugin.png) ![HackRF input plugin GUI](../../../doc/img/HackRFInput_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>
@ -113,4 +115,4 @@ When a device set for the same physical device is present the device center freq
When the center frequency position Fc (control 8) is set to center (Cen) in both Rx and Tx the actual frequency of reception and transmission are the same. When the center frequency position Fc (control 8) is set to center (Cen) in both Rx and Tx the actual frequency of reception and transmission are the same.
In other cases for both frequencies to match you have to set the same sample rate and Fc position (either Inf or Sup) in the Rx and Tx. In other cases for both frequencies to match you have to set the same sample rate and Fc position (either Inf or Sup) in the Rx and Tx.

View File

@ -28,7 +28,6 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -84,8 +83,7 @@ KiwiSDRGui::KiwiSDRGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_sampleSource->setMessageQueueToGUI(&m_inputMessageQueue); m_sampleSource->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
KiwiSDRGui::~KiwiSDRGui() KiwiSDRGui::~KiwiSDRGui()
@ -302,21 +300,26 @@ void KiwiSDRGui::updateSampleRateAndFrequency()
void KiwiSDRGui::openDeviceSettingsDialog(const QPoint& p) void KiwiSDRGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void KiwiSDRGui::makeUIConnections() void KiwiSDRGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This plugin is designed to enable connection to publicly available [KiwiSDR](htt
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![KiwiSDR input plugin GUI](../../../doc/img/KiwiSDRInput_plugin.png) ![KiwiSDR input plugin GUI](../../../doc/img/KiwiSDRInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -26,7 +26,6 @@
#include "ui_limesdrinputgui.h" #include "ui_limesdrinputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -102,8 +101,7 @@ LimeSDRInputGUI::LimeSDRInputGUI(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_limeSDRInput->setMessageQueueToGUI(&m_inputMessageQueue); m_limeSDRInput->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
LimeSDRInputGUI::~LimeSDRInputGUI() LimeSDRInputGUI::~LimeSDRInputGUI()
@ -707,21 +705,26 @@ void LimeSDRInputGUI::on_sampleRateMode_toggled(bool checked)
void LimeSDRInputGUI::openDeviceSettingsDialog(const QPoint& p) void LimeSDRInputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void LimeSDRInputGUI::makeUIConnections() void LimeSDRInputGUI::makeUIConnections()

View File

@ -12,6 +12,8 @@ LimeSDR is a 2x2 MIMO device so it has two receiving channels that can run concu
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![LimeSDR input plugin GUI](../../../doc/img/LimeSDRInput_plugin.png) ![LimeSDR input plugin GUI](../../../doc/img/LimeSDRInput_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>
@ -204,4 +206,4 @@ This is the board temperature in degrees Celsius updated every ~5s. Before the f
<h3>15: GPIO pins status</h3> <h3>15: GPIO pins status</h3>
This is the hexadecimal representation of the 8 available GPIO pins of the on board LimeSDR GPIO header. This is the hexadecimal representation of the 8 available GPIO pins of the on board LimeSDR GPIO header.

View File

@ -33,7 +33,6 @@
#include "ui_localinputgui.h" #include "ui_localinputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -80,8 +79,7 @@ LocalInputGui::LocalInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
.arg(palette().highlight().color().darker(115).name()))); .arg(palette().highlight().color().darker(115).name())));
m_helpURL = "plugins/samplesource/localinput/readme.md"; m_helpURL = "plugins/samplesource/localinput/readme.md";
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -310,21 +308,26 @@ void LocalInputGui::updateStatus()
void LocalInputGui::openDeviceSettingsDialog(const QPoint& p) void LocalInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void LocalInputGui::makeUIConnections() void LocalInputGui::makeUIConnections()

View File

@ -6,6 +6,8 @@ This input sample source plugin gets its samples from a Local Sink channel in an
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDR Local input plugin GUI](../../../doc/img/LocalInput_plugin.png) ![SDR Local input plugin GUI](../../../doc/img/LocalInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -25,7 +25,6 @@
#include "ui_perseusgui.h" #include "ui_perseusgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -55,8 +54,7 @@ PerseusGui::PerseusGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -379,21 +377,26 @@ int PerseusGui::getDevSampleRateIndex(uint32_t sampeRate)
void PerseusGui::openDeviceSettingsDialog(const QPoint& p) void PerseusGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void PerseusGui::makeUIConnections() void PerseusGui::makeUIConnections()

View File

@ -17,6 +17,8 @@ If you build it from source and install it in a custom location say: `/opt/insta
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
It has a limited number of controls compared to other source interfaces. This is because a lot of things are handled automatically within the Perseus: It has a limited number of controls compared to other source interfaces. This is because a lot of things are handled automatically within the Perseus:
- gains - gains

View File

@ -23,7 +23,6 @@
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "device/deviceapi.h" #include "device/deviceapi.h"
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
@ -71,8 +70,7 @@ PlutoSDRInputGui::PlutoSDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
ui->swDecimLabel->setText(QString::fromUtf8("S\u2193")); ui->swDecimLabel->setText(QString::fromUtf8("S\u2193"));
ui->lpFIRDecimationLabel->setText(QString::fromUtf8("\u2193")); ui->lpFIRDecimationLabel->setText(QString::fromUtf8("\u2193"));
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
blockApplySettings(true); blockApplySettings(true);
displaySettings(); displaySettings();
@ -554,21 +552,26 @@ void PlutoSDRInputGui::updateSampleRateAndFrequency()
void PlutoSDRInputGui::openDeviceSettingsDialog(const QPoint& p) void PlutoSDRInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void PlutoSDRInputGui::makeUIConnections() void PlutoSDRInputGui::makeUIConnections()

View File

@ -27,6 +27,8 @@ Then add the following defines on `cmake` command line when compiling SDRangel:
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![PlutoSDR input plugin GUI](../../../doc/img/PlutoSDRInput_plugin.png) ![PlutoSDR input plugin GUI](../../../doc/img/PlutoSDRInput_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -18,6 +18,8 @@ The plugin will be built only if the [CM256cc library](https://github.com/f4exb/
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDR Remote input plugin GUI](../../../doc/img/RemoteInput_plugin.png) ![SDR Remote input plugin GUI](../../../doc/img/RemoteInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -29,7 +29,6 @@
#include "ui_remoteinputgui.h" #include "ui_remoteinputgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -80,8 +79,7 @@ RemoteInputGui::RemoteInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
ui->remoteDeviceFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold)); ui->remoteDeviceFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
ui->remoteDeviceFrequency->setValueRange(8, 0, 99999999); ui->remoteDeviceFrequency->setValueRange(8, 0, 99999999);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -673,21 +671,26 @@ void RemoteInputGui::updateStatus()
void RemoteInputGui::openDeviceSettingsDialog(const QPoint& p) void RemoteInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void RemoteInputGui::makeUIConnections() void RemoteInputGui::makeUIConnections()

View File

@ -12,6 +12,8 @@ If you want to benefit from the direct sampling you will have to compile and ins
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![RTLSDR input plugin GUI](../../../doc/img/RTLSDR_plugin.png) ![RTLSDR input plugin GUI](../../../doc/img/RTLSDR_plugin.png)
<h3>1: Common stream parameters</h3> <h3>1: Common stream parameters</h3>

View File

@ -27,7 +27,6 @@
#include "ui_rtlsdrgui.h" #include "ui_rtlsdrgui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -59,6 +58,7 @@ RTLSDRGui::RTLSDRGui(DeviceUISet *deviceUISet, QWidget* parent) :
ui->rfBW->setColorMapper(ColorMapper(ColorMapper::GrayYellow)); ui->rfBW->setColorMapper(ColorMapper(ColorMapper::GrayYellow));
ui->rfBW->setValueRange(4, 0, 10000); ui->rfBW->setValueRange(4, 0, 10000);
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware())); connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
@ -71,9 +71,6 @@ RTLSDRGui::RTLSDRGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
m_sampleSource->setMessageQueueToGUI(&m_inputMessageQueue); m_sampleSource->setMessageQueueToGUI(&m_inputMessageQueue);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
} }
RTLSDRGui::~RTLSDRGui() RTLSDRGui::~RTLSDRGui()
@ -525,21 +522,26 @@ void RTLSDRGui::on_lowSampleRate_toggled(bool checked)
void RTLSDRGui::openDeviceSettingsDialog(const QPoint& p) void RTLSDRGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void RTLSDRGui::makeUIConnections() void RTLSDRGui::makeUIConnections()

View File

@ -4,7 +4,7 @@
This plugin supports input from SDRplay RSP1 devices. SDRplay is based on the MSi001 and MSi2500 chips from Mirics. The standard API provided by Mirics is closed source moreover it could not be implemented successfully in SDRangel. An open source API libmirisdr-2 has been written by Miroslav Slugen and later amended by Leif Asbrink SM5BSZ. This API uses a new flavour called [libmirisdr-4](https://github.com/f4exb/libmirisdr-4) in this very same Github space. It contains enhancements and bug fixes. This plugin supports input from SDRplay RSP1 devices. SDRplay is based on the MSi001 and MSi2500 chips from Mirics. The standard API provided by Mirics is closed source moreover it could not be implemented successfully in SDRangel. An open source API libmirisdr-2 has been written by Miroslav Slugen and later amended by Leif Asbrink SM5BSZ. This API uses a new flavour called [libmirisdr-4](https://github.com/f4exb/libmirisdr-4) in this very same Github space. It contains enhancements and bug fixes.
<b>No Windows support</b> <b>No Windows support</b>
Driver is too unstable in Windows randomly stopping the application and causing BSOD. Driver is too unstable in Windows randomly stopping the application and causing BSOD.
@ -14,6 +14,8 @@ As mentioned already the plugin depends on libmirisdr-4. You will have to compil
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDRplay plugin GUI](../../../doc/img/SDRPlay_plugin.png) ![SDRplay plugin GUI](../../../doc/img/SDRPlay_plugin.png)
<h3>1. Common controls</h3> <h3>1. Common controls</h3>
@ -40,7 +42,7 @@ This selects a frequency range corresponding to the hardware path in the SDRplay
- 250 MHz to 380 MHz - 250 MHz to 380 MHz
- 380 MHz to 1 GHz - 380 MHz to 1 GHz
- 1 GHz to 2 GHz - 1 GHz to 2 GHz
<h3>5. IF bandwidth</h3> <h3>5. IF bandwidth</h3>
This selects the IF filter. Following bandwidths are available according to MSi001 specs: This selects the IF filter. Following bandwidths are available according to MSi001 specs:
@ -61,8 +63,8 @@ This selects the IF frequency between these values:
- 0 for zero IF - 0 for zero IF
- 450 kHz: you have to set sample rate to 1792 kHz (7) and use decimation (8) with an infradyne position (9) - 450 kHz: you have to set sample rate to 1792 kHz (7) and use decimation (8) with an infradyne position (9)
- 1620 kHz: you have to set sample rate to 6400 kHz (7) and use decimation (8) with an infradyne position (9) - 1620 kHz: you have to set sample rate to 6400 kHz (7) and use decimation (8) with an infradyne position (9)
- 2048 kHz: you have to set sample rate to 8192 kHz (7) and use decimation (8) with an infradyne position (9) - 2048 kHz: you have to set sample rate to 8192 kHz (7) and use decimation (8) with an infradyne position (9)
<h3>7. Sample rate</h3> <h3>7. Sample rate</h3>
You have the choice between various sample rates from 1536 to 8192 kHz. Some values have a special destination: You have the choice between various sample rates from 1536 to 8192 kHz. Some values have a special destination:
@ -70,7 +72,7 @@ You have the choice between various sample rates from 1536 to 8192 kHz. Some val
- 1792 kHz: for use with an IF of 450 kHz. - 1792 kHz: for use with an IF of 450 kHz.
- 6400 kHz: for use with an IF of 1620 kHz. - 6400 kHz: for use with an IF of 1620 kHz.
- 8192 kHz: for use with an IF of 2048 kHz. - 8192 kHz: for use with an IF of 2048 kHz.
<h3>8. Decimation</h3> <h3>8. Decimation</h3>
Decimation in powers of two from 1 (no decimation) to 64. Decimation in powers of two from 1 (no decimation) to 64.
@ -78,24 +80,24 @@ Decimation in powers of two from 1 (no decimation) to 64.
<h3>9: Decimated bandpass center frequency position relative the SDRplay center frequency</h3> <h3>9: Decimated bandpass center frequency position relative the SDRplay center frequency</h3>
- **Cen**: the decimation operation takes place around the SDRplay center frequency Fs - **Cen**: the decimation operation takes place around the SDRplay center frequency Fs
- **Inf**: the decimation operation takes place around Fs - Fc. - **Inf**: the decimation operation takes place around Fs - Fc.
- **Sup**: the decimation operation takes place around Fs + Fc. - **Sup**: the decimation operation takes place around Fs + Fc.
With SR as the sample rate before decimation Fc is calculated as: With SR as the sample rate before decimation Fc is calculated as:
- if decimation n is 4 or lower: Fc = SR/2^(log2(n)-1). The device center frequency is on the side of the baseband. You need a RF filter bandwidth at least twice the baseband. - if decimation n is 4 or lower: Fc = SR/2^(log2(n)-1). The device center frequency is on the side of the baseband. You need a RF filter bandwidth at least twice the baseband.
- if decimation n is 8 or higher: Fc = SR/n. The device center frequency is half the baseband away from the side of the baseband. You need a RF filter bandwidth at least 3 times the baseband. - if decimation n is 8 or higher: Fc = SR/n. The device center frequency is half the baseband away from the side of the baseband. You need a RF filter bandwidth at least 3 times the baseband.
<h3>10. Tuner gain mode</h3> <h3>10. Tuner gain mode</h3>
Use this radiobutton to select a mode where the gain of the LNA (or mixer buffer below 50 MHz), mixer and baseband amplifiers are automatically selected depending on the tuner gain index (11). This index is the gain value in dB at the nominal gain of all amplifiers. This is not the exact gain at all frequencies because the LNA gain decreases significantly at higher frequencies. Use this radiobutton to select a mode where the gain of the LNA (or mixer buffer below 50 MHz), mixer and baseband amplifiers are automatically selected depending on the tuner gain index (11). This index is the gain value in dB at the nominal gain of all amplifiers. This is not the exact gain at all frequencies because the LNA gain decreases significantly at higher frequencies.
<h3>11. Tuner gain setting</h3> <h3>11. Tuner gain setting</h3>
The tuner gain index can be set between 0 and 102 points (corresponds to dB in the nominal case). The tuner gain index can be set between 0 and 102 points (corresponds to dB in the nominal case).
<h3>12. Manual gain mode</h3> <h3>12. Manual gain mode</h3>
Use this radiobutton to select a mode where the gain of all amplifiers can be set independently Use this radiobutton to select a mode where the gain of all amplifiers can be set independently
<h3>13. LNA toggle</h3> <h3>13. LNA toggle</h3>

View File

@ -27,7 +27,6 @@
#include "ui_sdrplaygui.h" #include "ui_sdrplaygui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -78,8 +77,7 @@ SDRPlayGui::SDRPlayGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
makeUIConnections(); makeUIConnections();
@ -445,21 +443,26 @@ void SDRPlayGui::on_startStop_toggled(bool checked)
void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p) void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void SDRPlayGui::makeUIConnections() void SDRPlayGui::makeUIConnections()

View File

@ -10,6 +10,8 @@ This plugin requires the SDRplay API V3.07 to have been installed and for the se
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SDRplay v3 plugin GUI](../../../doc/img/SDRPlayV3_plugin.png) ![SDRplay v3 plugin GUI](../../../doc/img/SDRPlayV3_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -28,7 +28,6 @@
#include "ui_sdrplayv3gui.h" #include "ui_sdrplayv3gui.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -69,8 +68,7 @@ SDRPlayV3Gui::SDRPlayV3Gui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
ui->tuner->blockSignals(true); ui->tuner->blockSignals(true);
ui->antenna->blockSignals(true); ui->antenna->blockSignals(true);
@ -509,21 +507,26 @@ void SDRPlayV3Gui::on_transverter_clicked()
void SDRPlayV3Gui::openDeviceSettingsDialog(const QPoint& p) void SDRPlayV3Gui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void SDRPlayV3Gui::makeUIConnections() void SDRPlayV3Gui::makeUIConnections()

View File

@ -12,6 +12,8 @@ Note: this plugin is officially supported since version 6.
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SigMF File input plugin GUI](../../../doc/img/SigMFFileInput_plugin.png) ![SigMF File input plugin GUI](../../../doc/img/SigMFFileInput_plugin.png)
<h3>1: Start/Stop</h3> <h3>1: Start/Stop</h3>

View File

@ -27,7 +27,6 @@
#include "plugin/pluginapi.h" #include "plugin/pluginapi.h"
#include "gui/colormapper.h" #include "gui/colormapper.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspengine.h" #include "dsp/dspengine.h"
#include "dsp/dspcommands.h" #include "dsp/dspcommands.h"
@ -75,8 +74,7 @@ SigMFFileInputGUI::SigMFFileInputGUI(DeviceUISet *deviceUISet, QWidget* parent)
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
setAccelerationCombo(); setAccelerationCombo();
displaySettings(); displaySettings();
@ -668,21 +666,26 @@ void SigMFFileInputGUI::setNumberStr(int n, QString& s)
void SigMFFileInputGUI::openDeviceSettingsDialog(const QPoint& p) void SigMFFileInputGUI::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void SigMFFileInputGUI::makeUIConnections() void SigMFFileInputGUI::makeUIConnections()

View File

@ -73,6 +73,8 @@ When installed the Red Pitaya SoapySDR plugin lists a Red Pitaya device even if
<h2>Interface</h2> <h2>Interface</h2>
The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md)
![SoapySDR input plugin GUI](../../../doc/img/SoapySDRInput_plugin1.png) ![SoapySDR input plugin GUI](../../../doc/img/SoapySDRInput_plugin1.png)
The top part described by number tags is common for all devices. The bottom part under the "A" tag depends on the SoapySDR device implementation. The corresponding widgets are stacked vertically inside a scrollable area as there may be many controls depending on how the device interface is implemented in SoapySDR. Move the slider on the right to see all parameters available. The top part described by number tags is common for all devices. The bottom part under the "A" tag depends on the SoapySDR device implementation. The corresponding widgets are stacked vertically inside a scrollable area as there may be many controls depending on how the device interface is implemented in SoapySDR. Move the slider on the right to see all parameters available.

View File

@ -25,7 +25,6 @@
#include "device/deviceuiset.h" #include "device/deviceuiset.h"
#include "util/simpleserializer.h" #include "util/simpleserializer.h"
#include "gui/glspectrum.h" #include "gui/glspectrum.h"
#include "gui/crightclickenabler.h"
#include "gui/basicdevicesettingsdialog.h" #include "gui/basicdevicesettingsdialog.h"
#include "soapygui/discreterangegui.h" #include "soapygui/discreterangegui.h"
#include "soapygui/intervalrangegui.h" #include "soapygui/intervalrangegui.h"
@ -96,8 +95,7 @@ SoapySDRInputGui::SoapySDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
m_statusTimer.start(500); m_statusTimer.start(500);
CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(this, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
displaySettings(); displaySettings();
@ -913,21 +911,26 @@ void SoapySDRInputGui::updateStatus()
void SoapySDRInputGui::openDeviceSettingsDialog(const QPoint& p) void SoapySDRInputGui::openDeviceSettingsDialog(const QPoint& p)
{ {
BasicDeviceSettingsDialog dialog(this); if (m_contextMenuType == ContextMenuDeviceSettings)
dialog.setUseReverseAPI(m_settings.m_useReverseAPI); {
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress); BasicDeviceSettingsDialog dialog(this);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort); dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex); dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.move(p); dialog.move(p);
dialog.exec(); dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI(); m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress(); m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort(); m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex(); m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings(); sendSettings();
}
resetContextMenuType();
} }
void SoapySDRInputGui::makeUIConnections() void SoapySDRInputGui::makeUIConnections()

Some files were not shown because too many files have changed in this diff Show More