diff --git a/doc/img/AirspyHFInput_plugin.png b/doc/img/AirspyHFInput_plugin.png index c1029a7df..a1a0dd4e9 100644 Binary files a/doc/img/AirspyHFInput_plugin.png and b/doc/img/AirspyHFInput_plugin.png differ diff --git a/doc/img/AirspyHFInput_plugin.xcf b/doc/img/AirspyHFInput_plugin.xcf index a8aa0c97a..4ffb4b6ef 100644 Binary files a/doc/img/AirspyHFInput_plugin.xcf and b/doc/img/AirspyHFInput_plugin.xcf differ diff --git a/doc/img/BladeRF1Input_plugin.png b/doc/img/BladeRF1Input_plugin.png index 0d7d35f9d..2ca462b37 100644 Binary files a/doc/img/BladeRF1Input_plugin.png and b/doc/img/BladeRF1Input_plugin.png differ diff --git a/doc/img/BladeRF1Input_plugin.xcf b/doc/img/BladeRF1Input_plugin.xcf index 2532c4230..855b2ff84 100644 Binary files a/doc/img/BladeRF1Input_plugin.xcf and b/doc/img/BladeRF1Input_plugin.xcf differ diff --git a/doc/img/BladeRF2Input_plugin.png b/doc/img/BladeRF2Input_plugin.png index c69784a7d..6dc991898 100644 Binary files a/doc/img/BladeRF2Input_plugin.png and b/doc/img/BladeRF2Input_plugin.png differ diff --git a/doc/img/BladeRF2Input_plugin.xcf b/doc/img/BladeRF2Input_plugin.xcf index cfd300b09..230ae13fe 100644 Binary files a/doc/img/BladeRF2Input_plugin.xcf and b/doc/img/BladeRF2Input_plugin.xcf differ diff --git a/doc/img/FCDProPlus_plugin.png b/doc/img/FCDProPlus_plugin.png index 14cfd6ad6..945f74a7e 100644 Binary files a/doc/img/FCDProPlus_plugin.png and b/doc/img/FCDProPlus_plugin.png differ diff --git a/doc/img/FCDProPlus_plugin.xcf b/doc/img/FCDProPlus_plugin.xcf index 37af3e63b..466598771 100644 Binary files a/doc/img/FCDProPlus_plugin.xcf and b/doc/img/FCDProPlus_plugin.xcf differ diff --git a/doc/img/FCDPro_plugin.png b/doc/img/FCDPro_plugin.png index 6a36b415c..b2c1317cc 100644 Binary files a/doc/img/FCDPro_plugin.png and b/doc/img/FCDPro_plugin.png differ diff --git a/doc/img/FCDPro_plugin.xcf b/doc/img/FCDPro_plugin.xcf index 02e1fe690..202025e62 100644 Binary files a/doc/img/FCDPro_plugin.xcf and b/doc/img/FCDPro_plugin.xcf differ diff --git a/doc/img/HackRFInput_plugin.png b/doc/img/HackRFInput_plugin.png index 1f1c4605e..1d2297f0f 100644 Binary files a/doc/img/HackRFInput_plugin.png and b/doc/img/HackRFInput_plugin.png differ diff --git a/doc/img/HackRFInput_plugin.xcf b/doc/img/HackRFInput_plugin.xcf index 3bc026e32..fb3a0ad4f 100644 Binary files a/doc/img/HackRFInput_plugin.xcf and b/doc/img/HackRFInput_plugin.xcf differ diff --git a/doc/img/KiwiSDRInput_plugin.png b/doc/img/KiwiSDRInput_plugin.png index a8e78f517..396bf533e 100644 Binary files a/doc/img/KiwiSDRInput_plugin.png and b/doc/img/KiwiSDRInput_plugin.png differ diff --git a/doc/img/KiwiSDRInput_plugin.xcf b/doc/img/KiwiSDRInput_plugin.xcf index db052dab2..426b71f65 100644 Binary files a/doc/img/KiwiSDRInput_plugin.xcf and b/doc/img/KiwiSDRInput_plugin.xcf differ diff --git a/doc/img/LimeSDRInput_plugin.png b/doc/img/LimeSDRInput_plugin.png index 185982445..cd1c24e05 100644 Binary files a/doc/img/LimeSDRInput_plugin.png and b/doc/img/LimeSDRInput_plugin.png differ diff --git a/doc/img/LimeSDRInput_plugin.xcf b/doc/img/LimeSDRInput_plugin.xcf index 9a14411ac..39ba6b0a6 100644 Binary files a/doc/img/LimeSDRInput_plugin.xcf and b/doc/img/LimeSDRInput_plugin.xcf differ diff --git a/doc/img/LimeSDRInput_plugin_1.png b/doc/img/LimeSDRInput_plugin_1.png index 54fcf716a..313b50d23 100644 Binary files a/doc/img/LimeSDRInput_plugin_1.png and b/doc/img/LimeSDRInput_plugin_1.png differ diff --git a/doc/img/LimeSDRInput_plugin_1.xcf b/doc/img/LimeSDRInput_plugin_1.xcf index 133880fad..73d37d450 100644 Binary files a/doc/img/LimeSDRInput_plugin_1.xcf and b/doc/img/LimeSDRInput_plugin_1.xcf differ diff --git a/doc/img/LocalInput_plugin.png b/doc/img/LocalInput_plugin.png index 3585ee104..a44b5a7ce 100644 Binary files a/doc/img/LocalInput_plugin.png and b/doc/img/LocalInput_plugin.png differ diff --git a/doc/img/LocalInput_plugin.xcf b/doc/img/LocalInput_plugin.xcf index 9800b1b30..10f2ac8c6 100644 Binary files a/doc/img/LocalInput_plugin.xcf and b/doc/img/LocalInput_plugin.xcf differ diff --git a/doc/img/Perseus_plugin.png b/doc/img/Perseus_plugin.png index e775b12c6..e5f08fc71 100644 Binary files a/doc/img/Perseus_plugin.png and b/doc/img/Perseus_plugin.png differ diff --git a/doc/img/Perseus_plugin.xcf b/doc/img/Perseus_plugin.xcf index 7d309814b..6d333ac1f 100644 Binary files a/doc/img/Perseus_plugin.xcf and b/doc/img/Perseus_plugin.xcf differ diff --git a/doc/img/PlutoSDRInput_plugin.png b/doc/img/PlutoSDRInput_plugin.png index 8e74d5267..74d20d7b9 100644 Binary files a/doc/img/PlutoSDRInput_plugin.png and b/doc/img/PlutoSDRInput_plugin.png differ diff --git a/doc/img/PlutoSDRInput_plugin.xcf b/doc/img/PlutoSDRInput_plugin.xcf index c10aa524c..52213dc3c 100644 Binary files a/doc/img/PlutoSDRInput_plugin.xcf and b/doc/img/PlutoSDRInput_plugin.xcf differ diff --git a/doc/img/PlutoSDRInput_plugin_1.png b/doc/img/PlutoSDRInput_plugin_1.png index f82613663..ed3112590 100644 Binary files a/doc/img/PlutoSDRInput_plugin_1.png and b/doc/img/PlutoSDRInput_plugin_1.png differ diff --git a/doc/img/PlutoSDRInput_plugin_1.xcf b/doc/img/PlutoSDRInput_plugin_1.xcf index 61070a380..1d72a1c59 100644 Binary files a/doc/img/PlutoSDRInput_plugin_1.xcf and b/doc/img/PlutoSDRInput_plugin_1.xcf differ diff --git a/doc/img/RTLSDR_plugin.png b/doc/img/RTLSDR_plugin.png index 5ecd56cc4..d06268576 100644 Binary files a/doc/img/RTLSDR_plugin.png and b/doc/img/RTLSDR_plugin.png differ diff --git a/doc/img/RTLSDR_plugin.xcf b/doc/img/RTLSDR_plugin.xcf index 0805b73dd..d2890373f 100644 Binary files a/doc/img/RTLSDR_plugin.xcf and b/doc/img/RTLSDR_plugin.xcf differ diff --git a/doc/img/RemoteInput_plugin.png b/doc/img/RemoteInput_plugin.png index 873191493..89aa39a96 100644 Binary files a/doc/img/RemoteInput_plugin.png and b/doc/img/RemoteInput_plugin.png differ diff --git a/doc/img/RemoteInput_plugin.xcf b/doc/img/RemoteInput_plugin.xcf index d6a1f9b98..2fda73ad0 100644 Binary files a/doc/img/RemoteInput_plugin.xcf and b/doc/img/RemoteInput_plugin.xcf differ diff --git a/doc/img/RemoteInput_plugin_01.png b/doc/img/RemoteInput_plugin_01.png index 9005e1aa4..6eeee9f12 100644 Binary files a/doc/img/RemoteInput_plugin_01.png and b/doc/img/RemoteInput_plugin_01.png differ diff --git a/doc/img/RemoteInput_plugin_01.xcf b/doc/img/RemoteInput_plugin_01.xcf index a6e51288f..ada0f7558 100644 Binary files a/doc/img/RemoteInput_plugin_01.xcf and b/doc/img/RemoteInput_plugin_01.xcf differ diff --git a/doc/img/SDRPlay_plugin.png b/doc/img/SDRPlay_plugin.png index c08268d22..8f7c3b365 100644 Binary files a/doc/img/SDRPlay_plugin.png and b/doc/img/SDRPlay_plugin.png differ diff --git a/doc/img/SDRPlay_plugin.xcf b/doc/img/SDRPlay_plugin.xcf index 9454581ab..fc70cd217 100644 Binary files a/doc/img/SDRPlay_plugin.xcf and b/doc/img/SDRPlay_plugin.xcf differ diff --git a/doc/img/SoapySDRInput_plugin1.png b/doc/img/SoapySDRInput_plugin1.png index a3f29bdfb..6f96aa549 100644 Binary files a/doc/img/SoapySDRInput_plugin1.png and b/doc/img/SoapySDRInput_plugin1.png differ diff --git a/doc/img/SoapySDRInput_plugin1.xcf b/doc/img/SoapySDRInput_plugin1.xcf index 1068f3328..a991b315e 100644 Binary files a/doc/img/SoapySDRInput_plugin1.xcf and b/doc/img/SoapySDRInput_plugin1.xcf differ diff --git a/doc/img/TestSourceInput_plugin.png b/doc/img/TestSourceInput_plugin.png index a81b23a0a..47e395e9d 100644 Binary files a/doc/img/TestSourceInput_plugin.png and b/doc/img/TestSourceInput_plugin.png differ diff --git a/doc/img/TestSourceInput_plugin.xcf b/doc/img/TestSourceInput_plugin.xcf index d779f7edf..957158f64 100644 Binary files a/doc/img/TestSourceInput_plugin.xcf and b/doc/img/TestSourceInput_plugin.xcf differ diff --git a/doc/img/XTRXInput_plugin.xcf b/doc/img/XTRXInput_plugin.xcf index 9ce255821..852bcebd3 100644 Binary files a/doc/img/XTRXInput_plugin.xcf and b/doc/img/XTRXInput_plugin.xcf differ diff --git a/fcdlib/fcdtraits.cpp b/fcdlib/fcdtraits.cpp index 6826d5e47..b9a5adce0 100644 --- a/fcdlib/fcdtraits.cpp +++ b/fcdlib/fcdtraits.cpp @@ -35,8 +35,8 @@ const char *fcd_traits::displayedName = "FunCube Dongle Pro+"; const char *fcd_traits::pluginDisplayedName = "FunCube Pro Input"; const char *fcd_traits::pluginDisplayedName = "FunCube Pro+ Input"; -const char *fcd_traits::pluginVersion = "4.14.11"; -const char *fcd_traits::pluginVersion = "4.14.11"; +const char *fcd_traits::pluginVersion = "4.15.0"; +const char *fcd_traits::pluginVersion = "4.15.0"; const int64_t fcd_traits::loLowLimitFreq = 64000000L; const int64_t fcd_traits::loLowLimitFreq = 150000L; diff --git a/plugins/samplesink/localoutput/localoutput.cpp b/plugins/samplesink/localoutput/localoutput.cpp index 68b3c0a52..291c8b5ce 100644 --- a/plugins/samplesink/localoutput/localoutput.cpp +++ b/plugins/samplesink/localoutput/localoutput.cpp @@ -43,7 +43,6 @@ LocalOutput::LocalOutput(DeviceAPI *deviceAPI) : m_settings(), m_centerFrequency(0), m_sampleRate(48000), - m_fileSink(nullptr), m_deviceDescription("LocalOutput") { m_sampleSourceFifo.resize(SampleSourceFifo::getSizePolicy(m_sampleRate)); diff --git a/plugins/samplesink/localoutput/localoutput.h b/plugins/samplesink/localoutput/localoutput.h index a96d79d57..ca915b26c 100644 --- a/plugins/samplesink/localoutput/localoutput.h +++ b/plugins/samplesink/localoutput/localoutput.h @@ -34,7 +34,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; -class FileRecord; class LocalOutput : public DeviceSampleSink { Q_OBJECT @@ -164,7 +163,6 @@ private: int m_sampleRate; QString m_remoteAddress; QString m_deviceDescription; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesink/localoutput/localoutput.pro b/plugins/samplesink/localoutput/localoutput.pro deleted file mode 100644 index 655d2872a..000000000 --- a/plugins/samplesink/localoutput/localoutput.pro +++ /dev/null @@ -1,51 +0,0 @@ -#-------------------------------------------------------- -# -# Pro file for Windows builds with Qt Creator -# -#-------------------------------------------------------- - -TEMPLATE = lib -CONFIG += plugin - -QT += core gui widgets multimedia network opengl - -TARGET = outputlocal - -INCLUDEPATH += $$PWD -INCLUDEPATH += ../../../exports -INCLUDEPATH += ../../../sdrbase -INCLUDEPATH += ../../../sdrgui -INCLUDEPATH += ../../../swagger/sdrangel/code/qt5/client -macx:INCLUDEPATH += /opt/local/include - -CONFIG(Release):build_subdir = release -CONFIG(Debug):build_subdir = debug - -CONFIG(MINGW32):INCLUDEPATH += "C:\softs\boost_1_66_0" -CONFIG(MSVC):INCLUDEPATH += "C:\softs\boost_1_66_0" -CONFIG(macx):INCLUDEPATH += "../../../boost_1_69_0" - -SOURCES += localoutputgui.cpp\ -localoutput.cpp\ -localoutputsettings.cpp\ -localoutputplugin.cpp - -HEADERS += localoutputgui.h\ -localoutput.h\ -localoutputsettings.h\ -localoutputplugin.h - -FORMS += localoutputgui.ui - -LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase -LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui -LIBS += -L../../../swagger/$${build_subdir} -lswagger - -macx { - QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/ -} - -RESOURCES = ../../../sdrgui/resources/res.qrc - -CONFIG(MINGW32):DEFINES += USE_INTERNAL_TIMER=1 - diff --git a/plugins/samplesink/remoteoutput/remoteoutput.cpp b/plugins/samplesink/remoteoutput/remoteoutput.cpp index f3c1293bb..89a7ae530 100644 --- a/plugins/samplesink/remoteoutput/remoteoutput.cpp +++ b/plugins/samplesink/remoteoutput/remoteoutput.cpp @@ -31,7 +31,6 @@ #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" #include "device/deviceapi.h" diff --git a/plugins/samplesink/xtrxoutput/xtrxoutput.h b/plugins/samplesink/xtrxoutput/xtrxoutput.h index 7598fa969..f18f69c13 100644 --- a/plugins/samplesink/xtrxoutput/xtrxoutput.h +++ b/plugins/samplesink/xtrxoutput/xtrxoutput.h @@ -32,7 +32,6 @@ class QNetworkReply; class DeviceAPI; class XTRXOutputThread; struct DeviceXTRXParams; -class FileRecord; class XTRXOutput : public DeviceSampleSink { diff --git a/plugins/samplesource/airspy/airspygui.cpp b/plugins/samplesource/airspy/airspygui.cpp index 6584cb5d1..17aeb6393 100644 --- a/plugins/samplesource/airspy/airspygui.cpp +++ b/plugins/samplesource/airspy/airspygui.cpp @@ -25,7 +25,6 @@ #include "device/deviceapi.h" #include "device/deviceuiset.h" -#include #include "ui_airspygui.h" #include "gui/colormapper.h" @@ -58,9 +57,6 @@ AirspyGui::AirspyGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); m_rates = ((AirspyInput*) m_sampleSource)->getSampleRates(); @@ -148,23 +144,6 @@ bool AirspyGui::handleMessage(const Message& message) return true; } - else if (AirspyInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const AirspyInput::MsgFileRecord& notif = (const AirspyInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -398,18 +377,6 @@ void AirspyGui::on_startStop_toggled(bool checked) } } -void AirspyGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - AirspyInput::MsgFileRecord* message = AirspyInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void AirspyGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -502,29 +469,3 @@ void AirspyGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void AirspyGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/airspy/airspygui.h b/plugins/samplesource/airspy/airspygui.h index 290c9b038..d566600d1 100644 --- a/plugins/samplesource/airspy/airspygui.h +++ b/plugins/samplesource/airspy/airspygui.h @@ -91,13 +91,11 @@ private slots: void on_lnaAGC_stateChanged(int state); void on_mixAGC_stateChanged(int state); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void updateHardware(); void updateStatus(); void handleInputMessages(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_AIRSPYGUI_H diff --git a/plugins/samplesource/airspy/airspygui.ui b/plugins/samplesource/airspy/airspygui.ui index 5a99a1476..1cf50415d 100644 --- a/plugins/samplesource/airspy/airspygui.ui +++ b/plugins/samplesource/airspy/airspygui.ui @@ -71,20 +71,6 @@ - - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp index f548e5d6a..9db458bb9 100644 --- a/plugins/samplesource/airspy/airspyinput.cpp +++ b/plugins/samplesource/airspy/airspyinput.cpp @@ -26,15 +26,12 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGAirspyReport.h" -#include "SWGAirspyActions.h" #include "airspyinput.h" #include "airspyplugin.h" #include "device/deviceapi.h" -#include "dsp/filerecord.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include "airspysettings.h" @@ -42,7 +39,6 @@ MESSAGE_CLASS_DEFINITION(AirspyInput::MsgConfigureAirspy, Message) MESSAGE_CLASS_DEFINITION(AirspyInput::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(AirspyInput::MsgFileRecord, Message) const qint64 AirspyInput::loLowLimitFreq = 24000000L; const qint64 AirspyInput::loHighLimitFreq = 1900000000L; @@ -56,9 +52,7 @@ AirspyInput::AirspyInput(DeviceAPI *deviceAPI) : m_running(false) { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -73,8 +67,6 @@ AirspyInput::~AirspyInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); } @@ -347,28 +339,6 @@ bool AirspyInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "AirspyInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else { return false; @@ -614,7 +584,6 @@ bool AirspyInput::applySettings(const AirspySettings& settings, bool force) { int sampleRate = m_sampleRates[m_settings.m_devSampleRateIndex]/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -764,9 +733,6 @@ void AirspyInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getAirspySettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getAirspySettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getAirspySettings()->getUseReverseApi() != 0; } @@ -792,37 +758,6 @@ int AirspyInput::webapiReportGet( return 200; } -int AirspyInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGAirspyActions *swgAirspyActions = query.getAirspyActions(); - - if (swgAirspyActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgAirspyActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing AirspyActions in query"; - return 400; - } -} - void AirspyInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AirspySettings& settings) { response.getAirspySettings()->setCenterFrequency(settings.m_centerFrequency); @@ -842,12 +777,6 @@ void AirspyInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getAirspySettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getAirspySettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getAirspySettings()->getFileRecordName()) { - *response.getAirspySettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getAirspySettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getAirspySettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getAirspySettings()->getReverseApiAddress()) { @@ -930,9 +859,6 @@ void AirspyInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("transverterMode") || force) { swgAirspySettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgAirspySettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/airspy/airspyinput.h b/plugins/samplesource/airspy/airspyinput.h index 300ab06e3..1a3d8422c 100644 --- a/plugins/samplesource/airspy/airspyinput.h +++ b/plugins/samplesource/airspy/airspyinput.h @@ -31,7 +31,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class AirspyWorker; -class FileRecord; class AirspyInput : public DeviceSampleSource { Q_OBJECT @@ -59,25 +58,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -141,11 +121,6 @@ public: SWGSDRangel::SWGDeviceReport& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const AirspySettings& settings); @@ -168,7 +143,6 @@ private: QString m_deviceDescription; std::vector m_sampleRates; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/airspy/airspyplugin.cpp b/plugins/samplesource/airspy/airspyplugin.cpp index 29920ae25..8fbfe51a8 100644 --- a/plugins/samplesource/airspy/airspyplugin.cpp +++ b/plugins/samplesource/airspy/airspyplugin.cpp @@ -34,7 +34,7 @@ const int AirspyPlugin::m_maxDevices = 32; const PluginDescriptor AirspyPlugin::m_pluginDescriptor = { QString("Airspy"), QString("Airspy Input"), - QString("4.14.16"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/airspy/airspysettings.cpp b/plugins/samplesource/airspy/airspysettings.cpp index 9669114f1..5be260a5a 100644 --- a/plugins/samplesource/airspy/airspysettings.cpp +++ b/plugins/samplesource/airspy/airspysettings.cpp @@ -42,7 +42,6 @@ void AirspySettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/airspy/airspysettings.h b/plugins/samplesource/airspy/airspysettings.h index 89c9cd68e..5b2850fcd 100644 --- a/plugins/samplesource/airspy/airspysettings.h +++ b/plugins/samplesource/airspy/airspysettings.h @@ -43,7 +43,6 @@ struct AirspySettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/airspyhf/airspyhfgui.cpp b/plugins/samplesource/airspyhf/airspyhfgui.cpp index fb2e8aaf2..3347cbffe 100644 --- a/plugins/samplesource/airspyhf/airspyhfgui.cpp +++ b/plugins/samplesource/airspyhf/airspyhfgui.cpp @@ -23,7 +23,6 @@ #include #include "device/deviceuiset.h" -#include #include "ui_airspyhfgui.h" #include "gui/colormapper.h" @@ -57,9 +56,6 @@ AirspyHFGui::AirspyHFGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); m_rates = ((AirspyHFInput*) m_sampleSource)->getSampleRates(); @@ -147,23 +143,6 @@ bool AirspyHFGui::handleMessage(const Message& message) return true; } - else if (AirspyHFInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const AirspyHFInput::MsgFileRecord& notif = (const AirspyHFInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -350,18 +329,6 @@ void AirspyHFGui::on_startStop_toggled(bool checked) } } -void AirspyHFGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - AirspyHFInput::MsgFileRecord* message = AirspyHFInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void AirspyHFGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -521,29 +488,3 @@ void AirspyHFGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void AirspyHFGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/airspyhf/airspyhfgui.h b/plugins/samplesource/airspyhf/airspyhfgui.h index 1c43155e9..52254a252 100644 --- a/plugins/samplesource/airspyhf/airspyhfgui.h +++ b/plugins/samplesource/airspyhf/airspyhfgui.h @@ -87,7 +87,6 @@ private slots: void on_sampleRate_currentIndexChanged(int index); void on_decim_currentIndexChanged(int index); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void on_band_currentIndexChanged(int index); void on_dsp_toggled(bool checked); @@ -98,7 +97,6 @@ private slots: void updateStatus(); void handleInputMessages(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_AIRSPYHFGUI_H diff --git a/plugins/samplesource/airspyhf/airspyhfgui.ui b/plugins/samplesource/airspyhf/airspyhfgui.ui index 9dfe36a89..1d0e2455a 100644 --- a/plugins/samplesource/airspyhf/airspyhfgui.ui +++ b/plugins/samplesource/airspyhf/airspyhfgui.ui @@ -71,20 +71,6 @@ - - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index 6b9679e3f..b7195953e 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -25,12 +25,9 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGAirspyHFReport.h" -#include "SWGAirspyHFActions.h" #include "device/deviceapi.h" -#include "dsp/filerecord.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" @@ -42,7 +39,6 @@ MESSAGE_CLASS_DEFINITION(AirspyHFInput::MsgConfigureAirspyHF, Message) MESSAGE_CLASS_DEFINITION(AirspyHFInput::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(AirspyHFInput::MsgFileRecord, Message) const qint64 AirspyHFInput::loLowLimitFreqHF = 9000L; const qint64 AirspyHFInput::loHighLimitFreqHF = 31000000L; @@ -58,9 +54,7 @@ AirspyHFInput::AirspyHFInput(DeviceAPI *deviceAPI) : m_running(false) { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); } @@ -74,8 +68,6 @@ AirspyHFInput::~AirspyHFInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); } @@ -358,28 +350,6 @@ bool AirspyHFInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "AirspyHFInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else { return false; @@ -418,7 +388,6 @@ bool AirspyHFInput::applySettings(const AirspyHFSettings& settings, bool force) << " m_bandIndex: " << settings.m_bandIndex << " m_transverterDeltaFrequency: " << settings.m_transverterDeltaFrequency << " m_transverterMode: " << settings.m_transverterMode - << " m_fileRecordName: " << settings.m_fileRecordName << " m_useDSP: " << settings.m_useDSP << " m_useAGC: " << settings.m_useAGC << " m_agcHigh: " << settings.m_agcHigh @@ -639,7 +608,6 @@ bool AirspyHFInput::applySettings(const AirspyHFSettings& settings, bool force) { int sampleRate = m_sampleRates[sampleRateIndex]/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -744,9 +712,6 @@ void AirspyHFInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("bandIndex")) { settings.m_bandIndex = response.getAirspyHfSettings()->getBandIndex(); } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getAirspyHfSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getAirspyHfSettings()->getUseReverseApi() != 0; } @@ -793,12 +758,6 @@ void AirspyHFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getAirspyHfSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); response.getAirspyHfSettings()->setBandIndex(settings.m_bandIndex ? 1 : 0); - if (response.getAirspyHfSettings()->getFileRecordName()) { - *response.getAirspyHfSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getAirspyHfSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getAirspyHfSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getAirspyHfSettings()->getReverseApiAddress()) { @@ -840,37 +799,6 @@ int AirspyHFInput::webapiReportGet( return 200; } -int AirspyHFInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGAirspyHFActions *swgAirspyHFActions = query.getAirspyHfActions(); - - if (swgAirspyHFActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgAirspyHFActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing AirspyHFActions in query"; - return 400; - } -} - int AirspyHFInput::webapiRunGet( SWGSDRangel::SWGDeviceState& response, QString& errorMessage) @@ -934,9 +862,6 @@ void AirspyHFInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("bandIndex") || force) { swgAirspyHFSettings->setBandIndex(settings.m_bandIndex); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgAirspyHFSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } if (deviceSettingsKeys.contains("useAGC")) { swgAirspyHFSettings->setUseAgc(settings.m_useAGC ? 1 : 0); } diff --git a/plugins/samplesource/airspyhf/airspyhfinput.h b/plugins/samplesource/airspyhf/airspyhfinput.h index 0de51f54b..c43864938 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.h +++ b/plugins/samplesource/airspyhf/airspyhfinput.h @@ -32,7 +32,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class AirspyHFWorker; -class FileRecord; class AirspyHFInput : public DeviceSampleSource { Q_OBJECT @@ -60,25 +59,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -133,11 +113,6 @@ public: SWGSDRangel::SWGDeviceReport& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - virtual int webapiRunGet( SWGSDRangel::SWGDeviceState& response, QString& errorMessage); @@ -171,7 +146,6 @@ private: QString m_deviceDescription; std::vector m_sampleRates; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/airspyhf/airspyhfplugin.cpp b/plugins/samplesource/airspyhf/airspyhfplugin.cpp index f3f243c3a..4d01ba96e 100644 --- a/plugins/samplesource/airspyhf/airspyhfplugin.cpp +++ b/plugins/samplesource/airspyhf/airspyhfplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor AirspyHFPlugin::m_pluginDescriptor = { QString("AirspyHF"), QString("AirspyHF Input"), - QString("4.14.16"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.cpp b/plugins/samplesource/airspyhf/airspyhfsettings.cpp index 33e8e7d69..4f7ae4b57 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.cpp +++ b/plugins/samplesource/airspyhf/airspyhfsettings.cpp @@ -35,7 +35,6 @@ void AirspyHFSettings::resetToDefaults() m_transverterDeltaFrequency = 0; m_iqOrder = true; m_bandIndex = 0; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/airspyhf/airspyhfsettings.h b/plugins/samplesource/airspyhf/airspyhfsettings.h index dd121cbf9..805a0a708 100644 --- a/plugins/samplesource/airspyhf/airspyhfsettings.h +++ b/plugins/samplesource/airspyhf/airspyhfsettings.h @@ -30,7 +30,6 @@ struct AirspyHFSettings qint64 m_transverterDeltaFrequency; bool m_iqOrder; quint32 m_bandIndex; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/airspyhf/readme.md b/plugins/samplesource/airspyhf/readme.md index bcf7dbb4c..d43807468 100644 --- a/plugins/samplesource/airspyhf/readme.md +++ b/plugins/samplesource/airspyhf/readme.md @@ -34,11 +34,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device to host sample rate (3) divided by the decimation factor (4). diff --git a/plugins/samplesource/bladerf1input/CMakeLists.txt b/plugins/samplesource/bladerf1input/CMakeLists.txt index dd1178b14..9666297d3 100644 --- a/plugins/samplesource/bladerf1input/CMakeLists.txt +++ b/plugins/samplesource/bladerf1input/CMakeLists.txt @@ -17,7 +17,7 @@ set(bladerf1input_HEADERS ) include_directories( - ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client + ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${CMAKE_SOURCE_DIR}/devices ${LIBBLADERF_INCLUDE_DIRS} ) @@ -26,7 +26,6 @@ if(NOT SERVER_MODE) set(bladerf1input_SOURCES ${bladerf1input_SOURCES} bladerf1inputgui.cpp - bladerf1inputgui.ui ) set(bladerf1input_HEADERS @@ -54,13 +53,13 @@ if(LIBBLADERF_EXTERNAL) endif() target_link_libraries(${TARGET_NAME} - Qt5::Core - ${TARGET_LIB} + Qt5::Core + ${TARGET_LIB} sdrbase ${TARGET_LIB_GUI} - swagger - ${LIBBLADERF_LIBRARIES} - bladerf1device + swagger + ${LIBBLADERF_LIBRARIES} + bladerf1device ) install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) diff --git a/plugins/samplesource/bladerf1input/bladerf1input.cpp b/plugins/samplesource/bladerf1input/bladerf1input.cpp index d510898ad..4e45f9f96 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1input.cpp @@ -24,15 +24,12 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" -#include "SWGDeviceActions.h" -#include "SWGBladeRF1InputActions.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspdevicesourceengine.h" #include "dsp/dspdevicesinkengine.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" #include "device/deviceapi.h" #include "bladerf1input.h" @@ -40,7 +37,6 @@ MESSAGE_CLASS_DEFINITION(Bladerf1Input::MsgConfigureBladerf1, Message) MESSAGE_CLASS_DEFINITION(Bladerf1Input::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(Bladerf1Input::MsgFileRecord, Message) Bladerf1Input::Bladerf1Input(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), @@ -51,10 +47,7 @@ Bladerf1Input::Bladerf1Input(DeviceAPI *deviceAPI) : m_running(false) { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); - m_deviceAPI->setBuddySharedPtr(&m_sharedParams); m_networkManager = new QNetworkAccessManager(); @@ -70,8 +63,6 @@ Bladerf1Input::~Bladerf1Input() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); m_deviceAPI->setBuddySharedPtr(0); } @@ -289,28 +280,6 @@ bool Bladerf1Input::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "BladerfInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -577,7 +546,6 @@ bool Bladerf1Input::applySettings(const BladeRF1InputSettings& settings, bool fo { int sampleRate = settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -655,12 +623,6 @@ void Bladerf1Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getBladeRf1InputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getBladeRf1InputSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); - if (response.getBladeRf1InputSettings()->getFileRecordName()) { - *response.getBladeRf1InputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getBladeRf1InputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getBladeRf1InputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getBladeRf1InputSettings()->getReverseApiAddress()) { @@ -743,9 +705,6 @@ void Bladerf1Input::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("iqCorrection")) { settings.m_iqCorrection = response.getBladeRf1InputSettings()->getIqCorrection() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getBladeRf1InputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getBladeRf1InputSettings()->getUseReverseApi() != 0; } @@ -788,37 +747,6 @@ int Bladerf1Input::webapiRun( return 200; } -int Bladerf1Input::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGBladeRF1InputActions *swgBladeRF1InputActions = query.getBladeRf1InputActions(); - - if (swgBladeRF1InputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgBladeRF1InputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing BladeRF1InputActions in query"; - return 400; - } -} - void Bladerf1Input::webapiReverseSendSettings(QList& deviceSettingsKeys, const BladeRF1InputSettings& settings, bool force) { SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); @@ -872,9 +800,6 @@ void Bladerf1Input::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("iqCorrection") || force) { swgBladeRF1Settings->setIqCorrection(settings.m_iqCorrection ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgBladeRF1Settings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/bladerf1input/bladerf1input.h b/plugins/samplesource/bladerf1input/bladerf1input.h index fc265d8d2..721201ba9 100644 --- a/plugins/samplesource/bladerf1input/bladerf1input.h +++ b/plugins/samplesource/bladerf1input/bladerf1input.h @@ -25,15 +25,14 @@ #include #include -#include "../../../devices/bladerf1/devicebladerf1.h" -#include "../../../devices/bladerf1/devicebladerf1param.h" +#include "bladerf1/devicebladerf1.h" +#include "bladerf1/devicebladerf1param.h" #include "bladerf1inputsettings.h" class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class Bladerf1InputThread; -class FileRecord; class Bladerf1Input : public DeviceSampleSource { Q_OBJECT @@ -61,25 +60,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -138,11 +118,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const BladeRF1InputSettings& settings); @@ -161,7 +136,6 @@ private: QString m_deviceDescription; DeviceBladeRF1Params m_sharedParams; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp index b0297a5f6..fb1cdd654 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1inputgui.cpp @@ -68,9 +68,6 @@ Bladerf1InputGui::Bladerf1InputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -156,23 +153,6 @@ bool Bladerf1InputGui::handleMessage(const Message& message) return true; } - else if (Bladerf1Input::MsgFileRecord::match(message)) // API action "record" feedback - { - const Bladerf1Input::MsgFileRecord& notif = (const Bladerf1Input::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -455,18 +435,6 @@ void Bladerf1InputGui::on_startStop_toggled(bool checked) } } -void Bladerf1InputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - Bladerf1Input::MsgFileRecord* message = Bladerf1Input::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void Bladerf1InputGui::on_sampleRateMode_toggled(bool checked) { m_sampleRateMode = checked; @@ -579,29 +547,3 @@ void Bladerf1InputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void Bladerf1InputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/bladerf1input/bladerf1inputgui.h b/plugins/samplesource/bladerf1input/bladerf1inputgui.h index 0991fc480..01943cb81 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputgui.h +++ b/plugins/samplesource/bladerf1input/bladerf1inputgui.h @@ -90,12 +90,10 @@ private slots: void on_xb200_currentIndexChanged(int index); void on_fcPos_currentIndexChanged(int index); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_sampleRateMode_toggled(bool checked); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_BLADERFINPUTGUI_H diff --git a/plugins/samplesource/bladerf1input/bladerf1inputgui.ui b/plugins/samplesource/bladerf1input/bladerf1inputgui.ui index cf3297437..c0321330a 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputgui.ui +++ b/plugins/samplesource/bladerf1input/bladerf1inputgui.ui @@ -71,21 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/bladerf1input/bladerf1inputplugin.cpp b/plugins/samplesource/bladerf1input/bladerf1inputplugin.cpp index 35e6493c1..efe685e77 100644 --- a/plugins/samplesource/bladerf1input/bladerf1inputplugin.cpp +++ b/plugins/samplesource/bladerf1input/bladerf1inputplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor Blderf1InputPlugin::m_pluginDescriptor = { QString("BladeRF1"), QString("BladeRF1 Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/bladerf1input/readme.md b/plugins/samplesource/bladerf1input/readme.md index ef791344e..1e3157fa0 100644 --- a/plugins/samplesource/bladerf1input/readme.md +++ b/plugins/samplesource/bladerf1input/readme.md @@ -37,11 +37,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

In device to host sample rate input mode (4A) this is the baseband I/Q sample rate in kS/s. This is the device to host sample rate (4) divided by the decimation factor (5). diff --git a/plugins/samplesource/bladerf2input/bladerf2input.cpp b/plugins/samplesource/bladerf2input/bladerf2input.cpp index 6b8993e74..3087302e0 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2input.cpp @@ -26,12 +26,9 @@ #include "SWGDeviceState.h" #include "SWGDeviceReport.h" #include "SWGBladeRF2InputReport.h" -#include "SWGDeviceActions.h" -#include "SWGBladeRF2InputActions.h" #include "device/deviceapi.h" #include "dsp/dspcommands.h" -#include "dsp/filerecord.h" #include "dsp/dspengine.h" #include "bladerf2/devicebladerf2shared.h" @@ -41,7 +38,6 @@ MESSAGE_CLASS_DEFINITION(BladeRF2Input::MsgConfigureBladeRF2, Message) -MESSAGE_CLASS_DEFINITION(BladeRF2Input::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(BladeRF2Input::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(BladeRF2Input::MsgReportGainRange, Message) @@ -67,9 +63,7 @@ BladeRF2Input::BladeRF2Input(DeviceAPI *deviceAPI) : } } - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); } @@ -83,8 +77,6 @@ BladeRF2Input::~BladeRF2Input() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); } @@ -701,7 +693,6 @@ bool BladeRF2Input::handleMessage(const Message& message) { int sampleRate = settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -717,28 +708,6 @@ bool BladeRF2Input::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "BladeRF2Input::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -975,7 +944,6 @@ bool BladeRF2Input::applySettings(const BladeRF2InputSettings& settings, bool fo { int sampleRate = settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -1126,9 +1094,6 @@ void BladeRF2Input::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getBladeRf2InputSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getBladeRf2InputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getBladeRf2InputSettings()->getUseReverseApi() != 0; } @@ -1169,12 +1134,6 @@ void BladeRF2Input::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getBladeRf2InputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getBladeRf2InputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getBladeRf2InputSettings()->getFileRecordName()) { - *response.getBladeRf2InputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getBladeRf2InputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getBladeRf2InputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getBladeRf2InputSettings()->getReverseApiAddress()) { @@ -1266,37 +1225,6 @@ int BladeRF2Input::webapiRun( return 200; } -int BladeRF2Input::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGBladeRF2InputActions *swgBladeRF2InputActions = query.getBladeRf2InputActions(); - - if (swgBladeRF2InputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgBladeRF2InputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing BladeRF2InputActions in query"; - return 400; - } -} - void BladeRF2Input::webapiReverseSendSettings(QList& deviceSettingsKeys, const BladeRF2InputSettings& settings, bool force) { SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); @@ -1335,9 +1263,6 @@ void BladeRF2Input::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("transverterMode") || force) { swgBladeRF2Settings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgBladeRF2Settings->setFileRecordName(new QString(settings.m_fileRecordName)); - } if (deviceSettingsKeys.contains("devSampleRate")) { swgBladeRF2Settings->setDevSampleRate(settings.m_devSampleRate); } diff --git a/plugins/samplesource/bladerf2input/bladerf2input.h b/plugins/samplesource/bladerf2input/bladerf2input.h index 6cc35df1b..134d31dc4 100644 --- a/plugins/samplesource/bladerf2input/bladerf2input.h +++ b/plugins/samplesource/bladerf2input/bladerf2input.h @@ -32,7 +32,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class BladeRF2InputThread; -class FileRecord; struct bladerf_gain_modes; struct bladerf; @@ -62,25 +61,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -182,11 +162,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const BladeRF2InputSettings& settings); @@ -204,7 +179,6 @@ private: bool m_running; DeviceBladeRF2Shared m_deviceShared; BladeRF2InputThread *m_thread; - FileRecord *m_fileSink; //!< File sink to record device I/Q output std::vector m_gainModes; QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp index b9c54385c..4fee9f6ae 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2inputgui.cpp @@ -89,9 +89,6 @@ BladeRF2InputGui::BladeRF2InputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -220,23 +217,6 @@ bool BladeRF2InputGui::handleMessage(const Message& message) return true; } - else if (BladeRF2Input::MsgFileRecord::match(message)) // API action "record" feedback - { - const BladeRF2Input::MsgFileRecord& notif = (const BladeRF2Input::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -491,18 +471,6 @@ void BladeRF2InputGui::on_startStop_toggled(bool checked) } } -void BladeRF2InputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - BladeRF2Input::MsgFileRecord* message = BladeRF2Input::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void BladeRF2InputGui::on_sampleRateMode_toggled(bool checked) { m_sampleRateMode = checked; @@ -573,29 +541,3 @@ void BladeRF2InputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void BladeRF2InputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/bladerf2input/bladerf2inputgui.h b/plugins/samplesource/bladerf2input/bladerf2inputgui.h index 4029c3595..9db17889e 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputgui.h +++ b/plugins/samplesource/bladerf2input/bladerf2inputgui.h @@ -92,12 +92,10 @@ private slots: void on_gain_valueChanged(int value); void on_transverter_clicked(); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_sampleRateMode_toggled(bool checked); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif /* PLUGINS_SAMPLESOURCE_BLADERF2INPUT_BLADERF2INPUTGUI_H_ */ diff --git a/plugins/samplesource/bladerf2input/bladerf2inputgui.ui b/plugins/samplesource/bladerf2input/bladerf2inputgui.ui index 3769e0c2d..7ec663a32 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputgui.ui +++ b/plugins/samplesource/bladerf2input/bladerf2inputgui.ui @@ -71,21 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp b/plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp index b793efdcb..94b035baf 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2inputplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor Blderf2InputPlugin::m_pluginDescriptor = { QString("BladeRF2"), QString("BladeRF2 Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp b/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp index f0be32a49..17c975f62 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp +++ b/plugins/samplesource/bladerf2input/bladerf2inputsettings.cpp @@ -40,7 +40,6 @@ void BladeRF2InputSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/bladerf2input/bladerf2inputsettings.h b/plugins/samplesource/bladerf2input/bladerf2inputsettings.h index facb025e1..6fb1a2952 100644 --- a/plugins/samplesource/bladerf2input/bladerf2inputsettings.h +++ b/plugins/samplesource/bladerf2input/bladerf2inputsettings.h @@ -42,7 +42,6 @@ struct BladeRF2InputSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/bladerf2input/readme.md b/plugins/samplesource/bladerf2input/readme.md index 2318e6948..0c8374e2a 100644 --- a/plugins/samplesource/bladerf2input/readme.md +++ b/plugins/samplesource/bladerf2input/readme.md @@ -37,11 +37,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

In device to host sample rate input mode (6A) this is the baseband I/Q sample rate in kS/s. This is the device to host sample rate (6) divided by the decimation factor (8). diff --git a/plugins/samplesource/fcdpro/fcdprogui.cpp b/plugins/samplesource/fcdpro/fcdprogui.cpp index 04e7c8155..b69dc5f99 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.cpp +++ b/plugins/samplesource/fcdpro/fcdprogui.cpp @@ -150,9 +150,6 @@ FCDProGui::FCDProGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -239,23 +236,6 @@ bool FCDProGui::handleMessage(const Message& message) return true; } - else if (FCDProInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const FCDProInput::MsgFileRecord& notif = (const FCDProInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -526,18 +506,6 @@ void FCDProGui::on_startStop_toggled(bool checked) } } -void FCDProGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - FCDProInput::MsgFileRecord* message = FCDProInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void FCDProGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -604,29 +572,3 @@ void FCDProGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void FCDProGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/fcdpro/fcdprogui.h b/plugins/samplesource/fcdpro/fcdprogui.h index 30fc0e388..14679be72 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.h +++ b/plugins/samplesource/fcdpro/fcdprogui.h @@ -101,12 +101,10 @@ private slots: void on_fcPos_currentIndexChanged(int index); void on_setDefaults_clicked(bool checked); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_FCDPROGUI_H diff --git a/plugins/samplesource/fcdpro/fcdprogui.ui b/plugins/samplesource/fcdpro/fcdprogui.ui index e90985668..feae1eeb4 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.ui +++ b/plugins/samplesource/fcdpro/fcdprogui.ui @@ -71,20 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp index 1b825f47b..bb9036701 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.cpp +++ b/plugins/samplesource/fcdpro/fcdproinput.cpp @@ -24,12 +24,9 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" -#include "SWGDeviceActions.h" -#include "SWGFCDProActions.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" #include "device/deviceapi.h" #include "fcdproinput.h" @@ -39,11 +36,10 @@ MESSAGE_CLASS_DEFINITION(FCDProInput::MsgConfigureFCDPro, Message) MESSAGE_CLASS_DEFINITION(FCDProInput::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(FCDProInput::MsgFileRecord, Message) FCDProInput::FCDProInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), - m_dev(0), + m_dev(nullptr), m_settings(), m_FCDThread(nullptr), m_deviceDescription(fcd_traits::displayedName), @@ -51,9 +47,7 @@ FCDProInput::FCDProInput(DeviceAPI *deviceAPI) : { m_fcdFIFO.setSize(20*fcd_traits::convBufSize); openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); } @@ -67,9 +61,6 @@ FCDProInput::~FCDProInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - closeDevice(); } @@ -297,28 +288,6 @@ bool FCDProInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "FCDProInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else { return false; @@ -576,7 +545,6 @@ void FCDProInput::applySettings(const FCDProSettings& settings, bool force) if (forwardChange) { DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits::sampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } } @@ -870,37 +838,6 @@ int FCDProInput::webapiRun( return 200; } -int FCDProInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGFCDProActions *swgFCDProActions = query.getFcdProActions(); - - if (swgFCDProActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgFCDProActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing AirspyActions in query"; - return 400; - } -} - int FCDProInput::webapiSettingsGet( SWGSDRangel::SWGDeviceSettings& response, QString& errorMessage) @@ -1015,9 +952,6 @@ void FCDProInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getFcdProSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getFcdProSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getFcdProSettings()->getUseReverseApi() != 0; } @@ -1060,12 +994,6 @@ void FCDProInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getFcdProSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getFcdProSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getFcdProSettings()->getFileRecordName()) { - *response.getFcdProSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getFcdProSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getFcdProSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getFcdProSettings()->getReverseApiAddress()) { @@ -1164,9 +1092,6 @@ void FCDProInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("transverterMode") || force) { swgFCDProSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgFCDProSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/fcdpro/fcdproinput.h b/plugins/samplesource/fcdpro/fcdproinput.h index 1a7f72543..7ca24c76f 100644 --- a/plugins/samplesource/fcdpro/fcdproinput.h +++ b/plugins/samplesource/fcdpro/fcdproinput.h @@ -40,7 +40,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class FCDProThread; -class FileRecord; class FCDProInput : public DeviceSampleSource { Q_OBJECT @@ -68,25 +67,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -145,11 +125,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const FCDProSettings& settings); @@ -188,7 +163,6 @@ private: FCDProThread* m_FCDThread; QString m_deviceDescription; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/fcdpro/fcdprosettings.cpp b/plugins/samplesource/fcdpro/fcdprosettings.cpp index 4340f554e..075419d6b 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.cpp +++ b/plugins/samplesource/fcdpro/fcdprosettings.cpp @@ -51,7 +51,6 @@ void FCDProSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/fcdpro/fcdprosettings.h b/plugins/samplesource/fcdpro/fcdprosettings.h index 27a0151ba..03d126c7e 100644 --- a/plugins/samplesource/fcdpro/fcdprosettings.h +++ b/plugins/samplesource/fcdpro/fcdprosettings.h @@ -52,7 +52,6 @@ struct FCDProSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/fcdpro/readme.md b/plugins/samplesource/fcdpro/readme.md index 85e34071f..8d1f12e92 100644 --- a/plugins/samplesource/fcdpro/readme.md +++ b/plugins/samplesource/fcdpro/readme.md @@ -24,11 +24,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device sample rate (4) divided by the decimation factor (6). diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp index 16e1c4e67..5ccd431cd 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp @@ -68,9 +68,6 @@ FCDProPlusGui::FCDProPlusGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -157,23 +154,6 @@ bool FCDProPlusGui::handleMessage(const Message& message) return true; } - else if (FCDProPlusInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const FCDProPlusInput::MsgFileRecord& notif = (const FCDProPlusInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -385,18 +365,6 @@ void FCDProPlusGui::on_startStop_toggled(bool checked) m_sampleSource->getInputMessageQueue()->push(message); } -void FCDProPlusGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - FCDProPlusInput::MsgFileRecord* message = FCDProPlusInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void FCDProPlusGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -426,29 +394,3 @@ void FCDProPlusGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void FCDProPlusGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.h b/plugins/samplesource/fcdproplus/fcdproplusgui.h index 205e319eb..8cb567f11 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.h +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.h @@ -88,12 +88,10 @@ private slots: void on_filterIF_currentIndexChanged(int index); void on_ppm_valueChanged(int value); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_FCDGUI_H diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.ui b/plugins/samplesource/fcdproplus/fcdproplusgui.ui index 03ebfe821..8c414c5ed 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.ui +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.ui @@ -71,20 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp index 569a9f244..3e5723725 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp @@ -24,12 +24,9 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" -#include "SWGDeviceActions.h" -#include "SWGFCDProPlusActions.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" #include "device/deviceapi.h" #include "fcdproplusinput.h" @@ -39,11 +36,10 @@ MESSAGE_CLASS_DEFINITION(FCDProPlusInput::MsgConfigureFCDProPlus, Message) MESSAGE_CLASS_DEFINITION(FCDProPlusInput::MsgStartStop, Message) -MESSAGE_CLASS_DEFINITION(FCDProPlusInput::MsgFileRecord, Message) FCDProPlusInput::FCDProPlusInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), - m_dev(0), + m_dev(nullptr), m_settings(), m_FCDThread(nullptr), m_deviceDescription(fcd_traits::displayedName), @@ -51,9 +47,7 @@ FCDProPlusInput::FCDProPlusInput(DeviceAPI *deviceAPI) : { m_fcdFIFO.setSize(20*fcd_traits::convBufSize); openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); } @@ -67,9 +61,6 @@ FCDProPlusInput::~FCDProPlusInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - closeDevice(); } @@ -299,28 +290,6 @@ bool FCDProPlusInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "FCDProPlusInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else { return false; @@ -487,7 +456,6 @@ void FCDProPlusInput::applySettings(const FCDProPlusSettings& settings, bool for if (forwardChange) { DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits::sampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } } @@ -631,37 +599,6 @@ int FCDProPlusInput::webapiSettingsPutPatch( return 200; } -int FCDProPlusInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGFCDProPlusActions *swgFCDProPlusActions = query.getFcdProPlusActions(); - - if (swgFCDProPlusActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgFCDProPlusActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing FCDProPlusActions in query"; - return 400; - } -} - void FCDProPlusInput::webapiUpdateDeviceSettings( FCDProPlusSettings& settings, const QStringList& deviceSettingsKeys, @@ -715,9 +652,6 @@ void FCDProPlusInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getFcdProPlusSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getFcdProPlusSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getFcdProPlusSettings()->getUseReverseApi() != 0; } @@ -751,12 +685,6 @@ void FCDProPlusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response.getFcdProPlusSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getFcdProPlusSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getFcdProPlusSettings()->getFileRecordName()) { - *response.getFcdProPlusSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getFcdProPlusSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getFcdProPlusSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getFcdProPlusSettings()->getReverseApiAddress()) { @@ -828,9 +756,6 @@ void FCDProPlusInput::webapiReverseSendSettings(QList& deviceSettingsKe if (deviceSettingsKeys.contains("transverterMode") || force) { swgFCDProPlusSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgFCDProPlusSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.h b/plugins/samplesource/fcdproplus/fcdproplusinput.h index 8ea4278a2..5132056a0 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusinput.h +++ b/plugins/samplesource/fcdproplus/fcdproplusinput.h @@ -40,7 +40,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class FCDProPlusThread; -class FileRecord; class FCDProPlusInput : public DeviceSampleSource { Q_OBJECT @@ -87,25 +86,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - FCDProPlusInput(DeviceAPI *deviceAPI); virtual ~FCDProPlusInput(); virtual void destroy(); @@ -145,11 +125,6 @@ public: SWGSDRangel::SWGDeviceSettings& response, // query + response QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const FCDProPlusSettings& settings); @@ -177,7 +152,6 @@ private: FCDProPlusThread* m_FCDThread; QString m_deviceDescription; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp index c01a3c666..aaa302934 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.cpp @@ -42,7 +42,6 @@ void FCDProPlusSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/fcdproplus/fcdproplussettings.h b/plugins/samplesource/fcdproplus/fcdproplussettings.h index 99b9be155..ed5bf7401 100644 --- a/plugins/samplesource/fcdproplus/fcdproplussettings.h +++ b/plugins/samplesource/fcdproplus/fcdproplussettings.h @@ -43,7 +43,6 @@ struct FCDProPlusSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/fcdproplus/readme.md b/plugins/samplesource/fcdproplus/readme.md index 8df200837..3a775ada1 100644 --- a/plugins/samplesource/fcdproplus/readme.md +++ b/plugins/samplesource/fcdproplus/readme.md @@ -24,11 +24,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device sample rate (4) divided by the decimation factor (6). diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp index abbade940..a5d414529 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp @@ -24,13 +24,10 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" -#include "SWGDeviceActions.h" -#include "SWGHackRFInputActions.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" #include "device/deviceapi.h" #include "hackrf/devicehackrfvalues.h" #include "hackrf/devicehackrfshared.h" @@ -40,7 +37,6 @@ MESSAGE_CLASS_DEFINITION(HackRFInput::MsgConfigureHackRF, Message) MESSAGE_CLASS_DEFINITION(HackRFInput::MsgReportHackRF, Message) -MESSAGE_CLASS_DEFINITION(HackRFInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(HackRFInput::MsgStartStop, Message) HackRFInput::HackRFInput(DeviceAPI *deviceAPI) : @@ -53,10 +49,7 @@ HackRFInput::HackRFInput(DeviceAPI *deviceAPI) : { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); - m_deviceAPI->setBuddySharedPtr(&m_sharedParams); m_networkManager = new QNetworkAccessManager(); @@ -72,8 +65,6 @@ HackRFInput::~HackRFInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); m_deviceAPI->setBuddySharedPtr(0); } @@ -269,28 +260,6 @@ bool HackRFInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "HackRFInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -337,7 +306,6 @@ bool HackRFInput::handleMessage(const Message& message) m_settings.m_centerFrequency = settings.m_centerFrequency; int sampleRate = m_settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); return true; @@ -571,7 +539,6 @@ bool HackRFInput::applySettings(const HackRFInputSettings& settings, bool force) { int sampleRate = settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -684,9 +651,6 @@ void HackRFInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("iqCorrection")) { settings.m_iqCorrection = response.getHackRfInputSettings()->getIqCorrection() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getHackRfInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("transverterDeltaFrequency")) { settings.m_transverterDeltaFrequency = response.getHackRfInputSettings()->getTransverterDeltaFrequency(); } @@ -725,12 +689,6 @@ void HackRFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getHackRfInputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getHackRfInputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getHackRfInputSettings()->getFileRecordName()) { - *response.getHackRfInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getHackRfInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getHackRfInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getHackRfInputSettings()->getReverseApiAddress()) { @@ -771,37 +729,6 @@ int HackRFInput::webapiRun( return 200; } -int HackRFInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGHackRFInputActions *swgHackRFInputActions = query.getHackRfInputActions(); - - if (swgHackRFInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgHackRFInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing HackRFInputActions in query"; - return 400; - } -} - void HackRFInput::webapiReverseSendSettings(QList& deviceSettingsKeys, const HackRFInputSettings& settings, bool force) { SWGSDRangel::SWGDeviceSettings *swgDeviceSettings = new SWGSDRangel::SWGDeviceSettings(); @@ -852,9 +779,6 @@ void HackRFInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("iqCorrection") || force) { swgHackRFInputSettings->setIqCorrection(settings.m_iqCorrection ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgHackRFInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } if (deviceSettingsKeys.contains("transverterDeltaFrequency") || force) { swgHackRFInputSettings->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); } diff --git a/plugins/samplesource/hackrfinput/hackrfinput.h b/plugins/samplesource/hackrfinput/hackrfinput.h index 98f40f202..9598d0d5d 100644 --- a/plugins/samplesource/hackrfinput/hackrfinput.h +++ b/plugins/samplesource/hackrfinput/hackrfinput.h @@ -32,7 +32,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class HackRFInputThread; -class FileRecord; class HackRFInput : public DeviceSampleSource { Q_OBJECT @@ -97,25 +96,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - HackRFInput(DeviceAPI *deviceAPI); virtual ~HackRFInput(); virtual void destroy(); @@ -155,11 +135,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const HackRFInputSettings& settings); @@ -178,7 +153,6 @@ private: QString m_deviceDescription; DeviceHackRFParams m_sharedParams; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp index 504d737b5..dba92aeb6 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.cpp @@ -62,9 +62,6 @@ HackRFInputGui::HackRFInputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); displayBandwidths(); @@ -159,23 +156,6 @@ bool HackRFInputGui::handleMessage(const Message& message) return true; } - else if (HackRFInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const HackRFInput::MsgFileRecord& notif = (const HackRFInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -445,18 +425,6 @@ void HackRFInputGui::on_startStop_toggled(bool checked) } } -void HackRFInputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - HackRFInput::MsgFileRecord* message = HackRFInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void HackRFInputGui::on_sampleRateMode_toggled(bool checked) { m_sampleRateMode = checked; @@ -539,29 +507,3 @@ void HackRFInputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void HackRFInputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.h b/plugins/samplesource/hackrfinput/hackrfinputgui.h index e929ee863..32f19cc9f 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.h +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.h @@ -101,13 +101,11 @@ private slots: void on_bbFilter_currentIndexChanged(int index); void on_vga_valueChanged(int value); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_sampleRateMode_toggled(bool checked); void on_transverter_clicked(); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_HACKRFINPUTGUI_H diff --git a/plugins/samplesource/hackrfinput/hackrfinputgui.ui b/plugins/samplesource/hackrfinput/hackrfinputgui.ui index 4f51b2144..109107500 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputgui.ui +++ b/plugins/samplesource/hackrfinput/hackrfinputgui.ui @@ -77,20 +77,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp b/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp index 36e727113..c8c2db1e1 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputplugin.cpp @@ -33,7 +33,7 @@ const PluginDescriptor HackRFInputPlugin::m_pluginDescriptor = { QString("HackRF"), QString("HackRF Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp index 986274306..e6d837589 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.cpp @@ -40,7 +40,6 @@ void HackRFInputSettings::resetToDefaults() m_dcBlock = false; m_iqCorrection = false; m_devSampleRate = 2400000; - m_fileRecordName = ""; m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; diff --git a/plugins/samplesource/hackrfinput/hackrfinputsettings.h b/plugins/samplesource/hackrfinput/hackrfinputsettings.h index 2d8b9eab8..e9e095c43 100644 --- a/plugins/samplesource/hackrfinput/hackrfinputsettings.h +++ b/plugins/samplesource/hackrfinput/hackrfinputsettings.h @@ -40,7 +40,6 @@ struct HackRFInputSettings { bool m_lnaExt; bool m_dcBlock; bool m_iqCorrection; - QString m_fileRecordName; bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; diff --git a/plugins/samplesource/hackrfinput/readme.md b/plugins/samplesource/hackrfinput/readme.md index 25a26671a..f21ed46b0 100644 --- a/plugins/samplesource/hackrfinput/readme.md +++ b/plugins/samplesource/hackrfinput/readme.md @@ -28,11 +28,6 @@ If you have the Tx open in another tab and it is running then it will be stopped The settings on Rx or Tx tab are reapplied on start so these settings can be considered independent. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

In device to host sample rate input mode (6A) this is the baseband I/Q sample rate in kS/s. This is the device to host sample rate (6) divided by the decimation factor (7). diff --git a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp index 2ec0f91e0..3b5cdfdad 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp @@ -79,9 +79,6 @@ KiwiSDRGui::KiwiSDRGui(DeviceUISet *deviceUISet, QWidget* parent) : connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); m_sampleSource->setMessageQueueToGUI(&m_inputMessageQueue); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); } @@ -175,18 +172,6 @@ void KiwiSDRGui::on_dcBlock_toggled(bool checked) sendSettings(); } -void KiwiSDRGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - KiwiSDRInput::MsgFileRecord* message = KiwiSDRInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void KiwiSDRGui::on_agc_toggled(bool checked) { m_settings.m_useAGC = checked; @@ -291,23 +276,6 @@ bool KiwiSDRGui::handleMessage(const Message& message) m_statusColors[status] + "; border-radius: 7px; }"); return true; } - else if (KiwiSDRInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const KiwiSDRInput::MsgFileRecord& notif = (const KiwiSDRInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -367,29 +335,3 @@ void KiwiSDRGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void KiwiSDRGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/kiwisdr/kiwisdrgui.h b/plugins/samplesource/kiwisdr/kiwisdrgui.h index a94b5952b..c13a38f77 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrgui.h +++ b/plugins/samplesource/kiwisdr/kiwisdrgui.h @@ -80,14 +80,12 @@ private slots: void handleInputMessages(); void on_startStop_toggled(bool checked); void on_centerFrequency_changed(quint64 value); - void on_record_toggled(bool checked); void on_gain_valueChanged(int value); void on_agc_toggled(bool checked); void on_serverAddress_returnPressed(); void on_serverAddressApplyButton_clicked(); void on_dcBlock_toggled(bool checked); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); void updateStatus(); void updateHardware(); }; diff --git a/plugins/samplesource/kiwisdr/kiwisdrgui.ui b/plugins/samplesource/kiwisdr/kiwisdrgui.ui index fbada70c2..bbf6bec05 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrgui.ui +++ b/plugins/samplesource/kiwisdr/kiwisdrgui.ui @@ -74,20 +74,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp index ac022f926..06d95cc36 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrinput.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrinput.cpp @@ -27,19 +27,15 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGKiwiSDRReport.h" -#include "SWGKiwiSDRActions.h" #include "kiwisdrinput.h" #include "device/deviceapi.h" #include "kiwisdrworker.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" MESSAGE_CLASS_DEFINITION(KiwiSDRInput::MsgConfigureKiwiSDR, Message) -MESSAGE_CLASS_DEFINITION(KiwiSDRInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(KiwiSDRInput::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(KiwiSDRInput::MsgSetStatus, Message) @@ -54,9 +50,7 @@ KiwiSDRInput::KiwiSDRInput(DeviceAPI *deviceAPI) : { m_kiwiSDRWorkerThread.start(); - m_fileSink = new FileRecord(); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); if (!m_sampleFifo.setSize(getSampleRate() * 2)) { qCritical("KiwiSDRInput::KiwiSDRInput: Could not allocate SampleFifo"); @@ -77,9 +71,6 @@ KiwiSDRInput::~KiwiSDRInput() m_kiwiSDRWorkerThread.quit(); m_kiwiSDRWorkerThread.wait(); - - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; } void KiwiSDRInput::destroy() @@ -209,28 +200,6 @@ bool KiwiSDRInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "KiwiSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -276,7 +245,6 @@ bool KiwiSDRInput::applySettings(const KiwiSDRSettings& settings, bool force) << " m_centerFrequency: " << settings.m_centerFrequency << " m_gain: " << settings.m_gain << " m_useAGC: " << settings.m_useAGC - << " m_fileRecordName: " << settings.m_fileRecordName << " m_useAGC: " << settings.m_useAGC << " m_useReverseAPI: " << settings.m_useReverseAPI << " m_reverseAPIAddress: " << settings.m_reverseAPIAddress @@ -318,7 +286,6 @@ bool KiwiSDRInput::applySettings(const KiwiSDRSettings& settings, bool force) DSPSignalNotification *notif = new DSPSignalNotification( getSampleRate(), settings.m_centerFrequency); - m_fileSink->handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -418,9 +385,6 @@ void KiwiSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("serverAddress")) { settings.m_serverAddress = *response.getKiwiSdrSettings()->getServerAddress(); } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getKiwiSdrSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getKiwiSdrSettings()->getUseReverseApi() != 0; } @@ -446,37 +410,6 @@ int KiwiSDRInput::webapiReportGet( return 200; } -int KiwiSDRInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGKiwiSDRActions *swgKiwiSDRActions = query.getKiwiSdrActions(); - - if (swgKiwiSDRActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgKiwiSDRActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing KiwiSDRInputActions in query"; - return 400; - } -} - void KiwiSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const KiwiSDRSettings& settings) { response.getKiwiSdrSettings()->setGain(settings.m_gain); @@ -490,12 +423,6 @@ void KiwiSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getKiwiSdrSettings()->setServerAddress(new QString(settings.m_serverAddress)); } - if (response.getKiwiSdrSettings()->getFileRecordName()) { - *response.getKiwiSdrSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getKiwiSdrSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getKiwiSdrSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getKiwiSdrSettings()->getReverseApiAddress()) { @@ -539,9 +466,6 @@ void KiwiSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("serverAddress") || force) { swgKiwiSDRSettings->setServerAddress(new QString(settings.m_serverAddress)); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgKiwiSDRSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/kiwisdr/kiwisdrinput.h b/plugins/samplesource/kiwisdr/kiwisdrinput.h index cfdac2d34..94d324aa3 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrinput.h +++ b/plugins/samplesource/kiwisdr/kiwisdrinput.h @@ -30,7 +30,6 @@ class DeviceAPI; class KiwiSDRWorker; -class FileRecord; class QNetworkAccessManager; class QNetworkReply; @@ -60,25 +59,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -160,11 +140,6 @@ public: SWGSDRangel::SWGDeviceReport& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const KiwiSDRSettings& settings); @@ -176,7 +151,6 @@ public: private: DeviceAPI *m_deviceAPI; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QMutex m_mutex; KiwiSDRSettings m_settings; KiwiSDRWorker* m_kiwiSDRWorker; diff --git a/plugins/samplesource/kiwisdr/kiwisdrplugin.cpp b/plugins/samplesource/kiwisdr/kiwisdrplugin.cpp index cf3ae0fc6..947dc1e86 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrplugin.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor KiwiSDRPlugin::m_pluginDescriptor = { QString("KiwiSDR"), QString("KiwiSDR input"), - QString("4.12.3"), + QString("4.15.0"), QString("(c) Vort (c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp b/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp index c569ab64c..f894288c7 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrsettings.cpp @@ -34,7 +34,6 @@ void KiwiSDRSettings::resetToDefaults() m_serverAddress = "127.0.0.1:8073"; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/kiwisdr/kiwisdrsettings.h b/plugins/samplesource/kiwisdr/kiwisdrsettings.h index bbb329a2c..23b09f312 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrsettings.h +++ b/plugins/samplesource/kiwisdr/kiwisdrsettings.h @@ -29,7 +29,6 @@ struct KiwiSDRSettings { quint64 m_centerFrequency; QString m_serverAddress; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; diff --git a/plugins/samplesource/kiwisdr/readme.md b/plugins/samplesource/kiwisdr/readme.md index 437e7fe3b..f9896ea3d 100644 --- a/plugins/samplesource/kiwisdr/readme.md +++ b/plugins/samplesource/kiwisdr/readme.md @@ -15,11 +15,6 @@ This button is used to start the "device" i.e connect to the remote and start st - Blue triangle icon: device is ready and can be started - Green square icon: device is running and can be stopped -

2: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

3: Frequency

This is the center frequency of reception in kHz. diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp index 0c0e57339..e388a9336 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp @@ -29,13 +29,10 @@ #include "SWGLimeSdrInputSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGLimeSdrInputReport.h" -#include "SWGLimeSdrInputActions.h" #include "device/deviceapi.h" #include "dsp/dspcommands.h" -#include "dsp/filerecord.h" #include "dsp/dspengine.h" #include "limesdrinput.h" #include "limesdrinputthread.h" @@ -47,7 +44,6 @@ MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgConfigureLimeSDR, Message) MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetStreamInfo, Message) MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgGetDeviceInfo, Message) MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgReportStreamInfo, Message) -MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(LimeSDRInput::MsgStartStop, Message) LimeSDRInput::LimeSDRInput(DeviceAPI *deviceAPI) : @@ -65,9 +61,7 @@ LimeSDRInput::LimeSDRInput(DeviceAPI *deviceAPI) : resumeTxBuddies(); resumeRxBuddies(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -82,8 +76,6 @@ LimeSDRInput::~LimeSDRInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; suspendRxBuddies(); suspendTxBuddies(); closeDevice(); @@ -745,28 +737,6 @@ bool LimeSDRInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "LimeSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -1348,7 +1318,6 @@ bool LimeSDRInput::applySettings(const LimeSDRInputSettings& settings, bool forc int sampleRate = m_settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -1538,9 +1507,6 @@ void LimeSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getLimeSdrInputSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getLimeSdrInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("gpioDir")) { settings.m_gpioDir = response.getLimeSdrInputSettings()->getGpioDir() & 0xFF; } @@ -1585,13 +1551,6 @@ void LimeSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getLimeSdrInputSettings()->setTiaGain(settings.m_tiaGain); response.getLimeSdrInputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getLimeSdrInputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - - if (response.getLimeSdrInputSettings()->getFileRecordName()) { - *response.getLimeSdrInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getLimeSdrInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getLimeSdrInputSettings()->setGpioDir(settings.m_gpioDir); response.getLimeSdrInputSettings()->setGpioPins(settings.m_gpioPins); response.getLimeSdrInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); @@ -1645,37 +1604,6 @@ int LimeSDRInput::webapiRun( return 200; } -int LimeSDRInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGLimeSdrInputActions *swgLimeSdrInputActions = query.getLimeSdrInputActions(); - - if (swgLimeSdrInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgLimeSdrInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing LimeSdrInputActions in query"; - return 400; - } -} - void LimeSDRInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response) { bool success = false; @@ -1793,9 +1721,6 @@ void LimeSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("transverterMode") || force) { swgLimeSdrInputSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgLimeSdrInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } if (deviceSettingsKeys.contains("gpioDir") || force) { swgLimeSdrInputSettings->setGpioDir(settings.m_gpioDir & 0xFF); } diff --git a/plugins/samplesource/limesdrinput/limesdrinput.h b/plugins/samplesource/limesdrinput/limesdrinput.h index f499c80bc..06643cb1d 100644 --- a/plugins/samplesource/limesdrinput/limesdrinput.h +++ b/plugins/samplesource/limesdrinput/limesdrinput.h @@ -30,7 +30,6 @@ class DeviceAPI; class LimeSDRInputThread; -class FileRecord; class QNetworkAccessManager; class QNetworkReply; @@ -166,25 +165,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -247,11 +227,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const LimeSDRInputSettings& settings); @@ -278,7 +253,6 @@ private: DeviceLimeSDRShared m_deviceShared; bool m_channelAcquired; lms_stream_t m_streamId; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp index 6bc245d14..36acd8a3b 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputgui.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputgui.cpp @@ -97,9 +97,6 @@ LimeSDRInputGUI::LimeSDRInputGUI(DeviceUISet *deviceUISet, QWidget* parent) : connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); m_limeSDRInput->setMessageQueueToGUI(&m_inputMessageQueue); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); } @@ -263,23 +260,6 @@ bool LimeSDRInputGUI::handleMessage(const Message& message) return true; } - else if (LimeSDRInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const LimeSDRInput::MsgFileRecord& notif = (const LimeSDRInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -571,18 +551,6 @@ void LimeSDRInputGUI::on_startStop_toggled(bool checked) } } -void LimeSDRInputGUI::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - LimeSDRInput::MsgFileRecord* message = LimeSDRInput::MsgFileRecord::create(checked); - m_limeSDRInput->getInputMessageQueue()->push(message); -} - void LimeSDRInputGUI::on_centerFrequency_changed(quint64 value) { setCenterFrequencySetting(value); @@ -772,29 +740,3 @@ void LimeSDRInputGUI::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void LimeSDRInputGUI::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.h b/plugins/samplesource/limesdrinput/limesdrinputgui.h index 203b0506d..b8d8f074e 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputgui.h +++ b/plugins/samplesource/limesdrinput/limesdrinputgui.h @@ -83,7 +83,6 @@ private: private slots: void handleInputMessages(); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_centerFrequency_changed(quint64 value); void on_ncoFrequency_changed(qint64 value); void on_ncoEnable_toggled(bool checked); @@ -105,7 +104,6 @@ private slots: void on_transverter_clicked(); void on_sampleRateMode_toggled(bool checked); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); void updateHardware(); void updateStatus(); diff --git a/plugins/samplesource/limesdrinput/limesdrinputgui.ui b/plugins/samplesource/limesdrinput/limesdrinputgui.ui index 3c95b286b..2d9d98b37 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputgui.ui +++ b/plugins/samplesource/limesdrinput/limesdrinputgui.ui @@ -71,21 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp b/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp index ae4cef507..dfdc184c7 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputplugin.cpp @@ -35,7 +35,7 @@ const PluginDescriptor LimeSDRInputPlugin::m_pluginDescriptor = { QString("LimeSDR"), QString("LimeSDR Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp index 9ac720d8c..da822b06c 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.cpp @@ -47,7 +47,6 @@ void LimeSDRInputSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_gpioDir = 0; m_gpioPins = 0; m_useReverseAPI = false; diff --git a/plugins/samplesource/limesdrinput/limesdrinputsettings.h b/plugins/samplesource/limesdrinput/limesdrinputsettings.h index 765a6b23c..ef43bbadf 100644 --- a/plugins/samplesource/limesdrinput/limesdrinputsettings.h +++ b/plugins/samplesource/limesdrinput/limesdrinputsettings.h @@ -67,7 +67,6 @@ struct LimeSDRInputSettings bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; uint8_t m_gpioDir; //!< GPIO pin direction LSB first; 0 input, 1 output uint8_t m_gpioPins; //!< GPIO pins to write; LSB first bool m_useReverseAPI; diff --git a/plugins/samplesource/limesdrinput/readme.md b/plugins/samplesource/limesdrinput/readme.md index 338616195..0b5464233 100644 --- a/plugins/samplesource/limesdrinput/readme.md +++ b/plugins/samplesource/limesdrinput/readme.md @@ -30,11 +30,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon to stop, plug back in, check the source on the sampling devices control panel and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: ADC sample rate

This is the sample rate at which the ADC runs in kS/s (k) or MS/s (M) before hardware decimation (8). Thus this is the device to host sample rate (5) multiplied by the hardware decimation factor (3). diff --git a/plugins/samplesource/localinput/localinput.cpp b/plugins/samplesource/localinput/localinput.cpp index 9016418e0..815be523e 100644 --- a/plugins/samplesource/localinput/localinput.cpp +++ b/plugins/samplesource/localinput/localinput.cpp @@ -25,20 +25,16 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGLocalInputReport.h" -#include "SWGLocalInputActions.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include "device/deviceapi.h" -#include "dsp/filerecord.h" #include "localinput.h" MESSAGE_CLASS_DEFINITION(LocalInput::MsgConfigureLocalInput, Message) -MESSAGE_CLASS_DEFINITION(LocalInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(LocalInput::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(LocalInput::MsgReportSampleRateAndFrequency, Message) @@ -50,9 +46,7 @@ LocalInput::LocalInput(DeviceAPI *deviceAPI) : { m_sampleFifo.setSize(96000 * 4); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -63,8 +57,6 @@ LocalInput::~LocalInput() disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); delete m_networkManager; stop(); - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; } void LocalInput::destroy() @@ -165,34 +157,7 @@ void LocalInput::setCenterFrequency(qint64 centerFrequency) bool LocalInput::handleMessage(const Message& message) { - if (DSPSignalNotification::match(message)) - { - DSPSignalNotification& notif = (DSPSignalNotification&) message; - return m_fileSink->handleMessage(notif); // forward to file sink - } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "LocalInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } - else if (MsgStartStop::match(message)) + if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; qDebug() << "LocalInput::handleMessage: MsgStartStop: " << (cmd.getStartStop() ? "start" : "stop"); @@ -241,9 +206,6 @@ void LocalInput::applySettings(const LocalInputSettings& settings, bool force) if ((m_settings.m_iqCorrection != settings.m_iqCorrection) || force) { reverseAPIKeys.append("iqCorrection"); } - if ((m_settings.m_fileRecordName != settings.m_fileRecordName) || force) { - reverseAPIKeys.append("fileRecordName"); - } if ((m_settings.m_dcBlock != settings.m_dcBlock) || (m_settings.m_iqCorrection != settings.m_iqCorrection) || force) { @@ -270,7 +232,6 @@ void LocalInput::applySettings(const LocalInputSettings& settings, bool force) qDebug() << "LocalInput::applySettings: " << " m_dcBlock: " << m_settings.m_dcBlock << " m_iqCorrection: " << m_settings.m_iqCorrection - << " m_fileRecordName: " << m_settings.m_fileRecordName << " m_remoteAddress: " << m_remoteAddress; } @@ -336,37 +297,6 @@ int LocalInput::webapiSettingsPutPatch( return 200; } -int LocalInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGLocalInputActions *swgLocalInputActions = query.getLocalInputActions(); - - if (swgLocalInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgLocalInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing LocalInputActions in query"; - return 400; - } -} - void LocalInput::webapiUpdateDeviceSettings( LocalInputSettings& settings, const QStringList& deviceSettingsKeys, @@ -378,9 +308,6 @@ void LocalInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("iqCorrection")) { settings.m_iqCorrection = response.getLocalInputSettings()->getIqCorrection() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getLocalInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getLocalInputSettings()->getUseReverseApi() != 0; } @@ -400,12 +327,6 @@ void LocalInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& resp response.getLocalInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getLocalInputSettings()->setIqCorrection(settings.m_iqCorrection); - if (response.getLocalInputSettings()->getFileRecordName()) { - *response.getLocalInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getLocalInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getLocalInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getLocalInputSettings()->getReverseApiAddress()) { @@ -452,9 +373,6 @@ void LocalInput::webapiReverseSendSettings(QList& deviceSettingsKeys, c if (deviceSettingsKeys.contains("iqCorrection") || force) { swgLocalInputSettings->setIqCorrection(settings.m_iqCorrection ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgLocalInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/localinput/localinput.h b/plugins/samplesource/localinput/localinput.h index 2549cb7d2..8a01571d9 100644 --- a/plugins/samplesource/localinput/localinput.h +++ b/plugins/samplesource/localinput/localinput.h @@ -34,7 +34,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; -class FileRecord; class LocalInput : public DeviceSampleSource { Q_OBJECT @@ -62,25 +61,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -165,11 +145,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const LocalInputSettings& settings); @@ -187,7 +162,6 @@ private: int m_sampleRate; QString m_remoteAddress; QString m_deviceDescription; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/localinput/localinputgui.cpp b/plugins/samplesource/localinput/localinputgui.cpp index 6616fe0ea..0322d6477 100644 --- a/plugins/samplesource/localinput/localinputgui.cpp +++ b/plugins/samplesource/localinput/localinputgui.cpp @@ -87,9 +87,6 @@ LocalInputGui::LocalInputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); @@ -205,23 +202,6 @@ bool LocalInputGui::handleMessage(const Message& message) return true; } - else if (LocalInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const LocalInput::MsgFileRecord& notif = (const LocalInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -316,18 +296,6 @@ void LocalInputGui::on_startStop_toggled(bool checked) } } -void LocalInputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - LocalInput::MsgFileRecord* message = LocalInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void LocalInputGui::updateHardware() { if (m_doApplySettings) @@ -388,29 +356,3 @@ void LocalInputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void LocalInputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/localinput/localinputgui.h b/plugins/samplesource/localinput/localinputgui.h index f71096570..1e7962b17 100644 --- a/plugins/samplesource/localinput/localinputgui.h +++ b/plugins/samplesource/localinput/localinputgui.h @@ -117,11 +117,9 @@ private slots: void on_dcOffset_toggled(bool checked); void on_iqImbalance_toggled(bool checked); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_LOCALINPUTGUI_H diff --git a/plugins/samplesource/localinput/localinputgui.ui b/plugins/samplesource/localinput/localinputgui.ui index 31893d636..09383c2bf 100644 --- a/plugins/samplesource/localinput/localinputgui.ui +++ b/plugins/samplesource/localinput/localinputgui.ui @@ -65,20 +65,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/localinput/localinputplugin.cpp b/plugins/samplesource/localinput/localinputplugin.cpp index 85b59803d..5711a0177 100644 --- a/plugins/samplesource/localinput/localinputplugin.cpp +++ b/plugins/samplesource/localinput/localinputplugin.cpp @@ -31,7 +31,7 @@ const PluginDescriptor LocalInputPlugin::m_pluginDescriptor = { QString("LocalInput"), QString("Local device input"), - QString("4.12.3"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/localinput/localinputsettings.cpp b/plugins/samplesource/localinput/localinputsettings.cpp index a78dfa910..62782c894 100644 --- a/plugins/samplesource/localinput/localinputsettings.cpp +++ b/plugins/samplesource/localinput/localinputsettings.cpp @@ -27,7 +27,6 @@ void LocalInputSettings::resetToDefaults() { m_dcBlock = false; m_iqCorrection = false; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/localinput/localinputsettings.h b/plugins/samplesource/localinput/localinputsettings.h index f7e4fa9f3..42689d497 100644 --- a/plugins/samplesource/localinput/localinputsettings.h +++ b/plugins/samplesource/localinput/localinputsettings.h @@ -24,7 +24,6 @@ struct LocalInputSettings { bool m_dcBlock; bool m_iqCorrection; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/localinput/readme.md b/plugins/samplesource/localinput/readme.md index 72ee6a769..726446c67 100644 --- a/plugins/samplesource/localinput/readme.md +++ b/plugins/samplesource/localinput/readme.md @@ -15,11 +15,6 @@ Device start / stop button. - Blue triangle icon: device is ready and can be started - Green square icon: device is running and can be stopped -

2: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

3: Frequency

This is the center frequency in Hz sent from the Local Sink channel instance and corresponds to the center frequency of reception. The sub kHz value (000 to 999 Hz) is represented in smaller digits on the right. diff --git a/plugins/samplesource/perseus/perseusgui.cpp b/plugins/samplesource/perseus/perseusgui.cpp index a35c57ede..c7704ed18 100644 --- a/plugins/samplesource/perseus/perseusgui.cpp +++ b/plugins/samplesource/perseus/perseusgui.cpp @@ -21,7 +21,6 @@ #include "device/deviceapi.h" #include "device/deviceuiset.h" -#include "dsp/filerecord.h" #include "ui_perseusgui.h" #include "gui/colormapper.h" @@ -55,9 +54,6 @@ PerseusGui::PerseusGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); m_rates = m_sampleSource->getSampleRates(); @@ -146,23 +142,6 @@ bool PerseusGui::handleMessage(const Message& message) return true; } - else if (PerseusInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const PerseusInput::MsgFileRecord& notif = (const PerseusInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -320,18 +299,6 @@ void PerseusGui::on_startStop_toggled(bool checked) } } -void PerseusGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - PerseusInput::MsgFileRecord* message = PerseusInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void PerseusGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -445,29 +412,3 @@ void PerseusGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void PerseusGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/perseus/perseusgui.h b/plugins/samplesource/perseus/perseusgui.h index 33cd9b89d..45ce70b3b 100644 --- a/plugins/samplesource/perseus/perseusgui.h +++ b/plugins/samplesource/perseus/perseusgui.h @@ -84,7 +84,6 @@ private slots: void on_wideband_toggled(bool checked); void on_decim_currentIndexChanged(int index); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void on_attenuator_currentIndexChanged(int index); void on_adcDither_toggled(bool checked); @@ -93,7 +92,6 @@ private slots: void updateStatus(); void handleInputMessages(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif /* PLUGINS_SAMPLESOURCE_PERSEUS_PERSEUSGUI_H_ */ diff --git a/plugins/samplesource/perseus/perseusgui.ui b/plugins/samplesource/perseus/perseusgui.ui index 21e5bd323..1d457ba29 100644 --- a/plugins/samplesource/perseus/perseusgui.ui +++ b/plugins/samplesource/perseus/perseusgui.ui @@ -71,20 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/perseus/perseusinput.cpp b/plugins/samplesource/perseus/perseusinput.cpp index a2886240f..903b5168c 100644 --- a/plugins/samplesource/perseus/perseusinput.cpp +++ b/plugins/samplesource/perseus/perseusinput.cpp @@ -22,11 +22,8 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGPerseusReport.h" -#include "SWGPerseusActions.h" -#include "dsp/filerecord.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include "device/deviceapi.h" @@ -36,21 +33,17 @@ #include "perseusworker.h" MESSAGE_CLASS_DEFINITION(PerseusInput::MsgConfigurePerseus, Message) -MESSAGE_CLASS_DEFINITION(PerseusInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(PerseusInput::MsgStartStop, Message) PerseusInput::PerseusInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), - m_fileSink(nullptr), m_deviceDescription("PerseusInput"), m_running(false), m_perseusWorker(nullptr), m_perseusDescriptor(0) { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -60,9 +53,6 @@ PerseusInput::~PerseusInput() { disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); delete m_networkManager; - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - closeDevice(); } void PerseusInput::destroy() @@ -220,28 +210,6 @@ bool PerseusInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "PerseusInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else { return false; @@ -446,7 +414,6 @@ bool PerseusInput::applySettings(const PerseusSettings& settings, bool force) { int sampleRate = m_sampleRates[sampleRateIndex]/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -539,37 +506,6 @@ int PerseusInput::webapiSettingsPutPatch( return 200; } -int PerseusInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGPerseusActions *swgPerseusActions = query.getPerseusActions(); - - if (swgPerseusActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgPerseusActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing PerseusActions in query"; - return 400; - } -} - void PerseusInput::webapiUpdateDeviceSettings( PerseusSettings& settings, const QStringList& deviceSettingsKeys, @@ -610,9 +546,6 @@ void PerseusInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getPerseusSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getPerseusSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getPerseusSettings()->getUseReverseApi() != 0; } @@ -652,12 +585,6 @@ void PerseusInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getPerseusSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getPerseusSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getPerseusSettings()->getFileRecordName()) { - *response.getPerseusSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getPerseusSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getPerseusSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getPerseusSettings()->getReverseApiAddress()) { @@ -725,9 +652,6 @@ void PerseusInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("transverterMode") || force) { swgPerseusSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgPerseusSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/perseus/perseusinput.h b/plugins/samplesource/perseus/perseusinput.h index 97284d1f7..04c776b67 100644 --- a/plugins/samplesource/perseus/perseusinput.h +++ b/plugins/samplesource/perseus/perseusinput.h @@ -31,7 +31,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; -class FileRecord; class PerseusWorker; class PerseusInput : public DeviceSampleSource { @@ -60,25 +59,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -141,11 +121,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const PerseusSettings& settings); @@ -159,7 +134,6 @@ public: private: DeviceAPI *m_deviceAPI; - FileRecord *m_fileSink; QString m_deviceDescription; PerseusSettings m_settings; bool m_running; diff --git a/plugins/samplesource/perseus/perseusplugin.cpp b/plugins/samplesource/perseus/perseusplugin.cpp index 6134aad65..a8d68a9d1 100644 --- a/plugins/samplesource/perseus/perseusplugin.cpp +++ b/plugins/samplesource/perseus/perseusplugin.cpp @@ -33,7 +33,7 @@ const PluginDescriptor PerseusPlugin::m_pluginDescriptor = { QString("Perseus"), QString("Perseus Input"), - QString("4.14.16"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/perseus/perseussettings.cpp b/plugins/samplesource/perseus/perseussettings.cpp index 0013d8736..c75e08e00 100644 --- a/plugins/samplesource/perseus/perseussettings.cpp +++ b/plugins/samplesource/perseus/perseussettings.cpp @@ -37,7 +37,6 @@ void PerseusSettings::resetToDefaults() m_adcPreamp = false; m_wideBand = false; m_attenuator = Attenuator_None; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/perseus/perseussettings.h b/plugins/samplesource/perseus/perseussettings.h index df0476529..6c28b142a 100644 --- a/plugins/samplesource/perseus/perseussettings.h +++ b/plugins/samplesource/perseus/perseussettings.h @@ -43,7 +43,6 @@ struct PerseusSettings bool m_adcPreamp; bool m_wideBand; Attenuator m_attenuator; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/perseus/readme.md b/plugins/samplesource/perseus/readme.md index 29c21e64c..dcc224458 100644 --- a/plugins/samplesource/perseus/readme.md +++ b/plugins/samplesource/perseus/readme.md @@ -41,11 +41,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device to host sample rate (4) divided by the software decimation factor (6). diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index de812e2bb..b151f1315 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -22,11 +22,8 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGPlutoSdrInputReport.h" -#include "SWGPlutoSdrInputActions.h" -#include "dsp/filerecord.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include "device/deviceapi.h" @@ -39,12 +36,10 @@ #define PLUTOSDR_BLOCKSIZE_SAMPLES (16*1024) //complex samples per buffer (must be multiple of 64) MESSAGE_CLASS_DEFINITION(PlutoSDRInput::MsgConfigurePlutoSDR, Message) -MESSAGE_CLASS_DEFINITION(PlutoSDRInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(PlutoSDRInput::MsgStartStop, Message) PlutoSDRInput::PlutoSDRInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), - m_fileSink(0), m_deviceDescription("PlutoSDRInput"), m_running(false), m_plutoRxBuffer(0), @@ -66,9 +61,7 @@ PlutoSDRInput::PlutoSDRInput(DeviceAPI *deviceAPI) : resumeBuddies(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -78,8 +71,6 @@ PlutoSDRInput::~PlutoSDRInput() { disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); delete m_networkManager; - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; suspendBuddies(); closeDevice(); resumeBuddies(); @@ -207,28 +198,6 @@ bool PlutoSDRInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "PlutoSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -506,9 +475,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo if ((m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency) || force) { reverseAPIKeys.append("transverterDeltaFrequency"); } - if ((m_settings.m_fileRecordName != settings.m_fileRecordName) || force) { - reverseAPIKeys.append("fileRecordName"); - } // determine if buddies threads or own thread need to be suspended @@ -756,7 +722,6 @@ bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool fo int sampleRate = m_settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -985,9 +950,6 @@ void PlutoSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getPlutoSdrInputSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getPlutoSdrInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getPlutoSdrInputSettings()->getUseReverseApi() != 0; } @@ -1013,37 +975,6 @@ int PlutoSDRInput::webapiReportGet( return 200; } -int PlutoSDRInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGPlutoSdrInputActions *swgPlutoSdrInputActions = query.getPlutoSdrInputActions(); - - if (swgPlutoSdrInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgPlutoSdrInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing PlutoSdrInputActions in query"; - return 400; - } -} - void PlutoSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDRInputSettings& settings) { response.getPlutoSdrInputSettings()->setCenterFrequency(settings.m_centerFrequency); @@ -1068,12 +999,6 @@ void PlutoSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getPlutoSdrInputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getPlutoSdrInputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getPlutoSdrInputSettings()->getFileRecordName()) { - *response.getPlutoSdrInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getPlutoSdrInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getPlutoSdrInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getPlutoSdrInputSettings()->getReverseApiAddress()) { @@ -1173,9 +1098,6 @@ void PlutoSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("transverterMode") || force) { swgPlutoSdrInputSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgPlutoSdrInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.h b/plugins/samplesource/plutosdrinput/plutosdrinput.h index b37f156ad..7b667c5df 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.h @@ -32,7 +32,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; -class FileRecord; class PlutoSDRInputThread; class PlutoSDRInput : public DeviceSampleSource { @@ -61,25 +60,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -142,11 +122,6 @@ public: SWGSDRangel::SWGDeviceReport& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const PlutoSDRInputSettings& settings); @@ -168,7 +143,6 @@ public: private: DeviceAPI *m_deviceAPI; bool m_open; - FileRecord *m_fileSink; QString m_deviceDescription; PlutoSDRInputSettings m_settings; bool m_running; diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp index a26ad819a..ee475b552 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.cpp @@ -70,9 +70,6 @@ PlutoSDRInputGui::PlutoSDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - blockApplySettings(true); displaySettings(); blockApplySettings(false); @@ -178,23 +175,6 @@ bool PlutoSDRInputGui::handleMessage(const Message& message) return true; } - else if (PlutoSDRInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const PlutoSDRInput::MsgFileRecord& notif = (const PlutoSDRInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -210,18 +190,6 @@ void PlutoSDRInputGui::on_startStop_toggled(bool checked) } } -void PlutoSDRInputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - PlutoSDRInput::MsgFileRecord* message = PlutoSDRInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void PlutoSDRInputGui::on_centerFrequency_changed(quint64 value) { m_settings.m_centerFrequency = value * 1000; @@ -619,29 +587,3 @@ void PlutoSDRInputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void PlutoSDRInputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.h b/plugins/samplesource/plutosdrinput/plutosdrinputgui.h index b61eaa4a7..206a9ea04 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.h @@ -81,7 +81,6 @@ private: private slots: void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_centerFrequency_changed(quint64 value); void on_loPPM_valueChanged(int value); void on_dcOffset_toggled(bool checked); @@ -106,7 +105,6 @@ private slots: void updateStatus(); void handleInputMessages(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif /* PLUGINS_SAMPLESOURCE_PLUTOSDRINPUT_PLUTOSDRINPUTGUI_H_ */ diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui index 5e091bb69..336794851 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui +++ b/plugins/samplesource/plutosdrinput/plutosdrinputgui.ui @@ -71,21 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp index b3706a25b..86b03d3fb 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputplugin.cpp @@ -33,7 +33,7 @@ class DeviceAPI; const PluginDescriptor PlutoSDRInputPlugin::m_pluginDescriptor = { QString("PlutoSDR"), QString("PlutoSDR Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp index b336c5af8..72cb5fae1 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.cpp @@ -49,7 +49,6 @@ void PlutoSDRInputSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h index 776223c1d..7dabb7310 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinputsettings.h @@ -79,7 +79,6 @@ struct PlutoSDRInputSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/plutosdrinput/readme.md b/plugins/samplesource/plutosdrinput/readme.md index 00a60aec9..b0cf00bef 100644 --- a/plugins/samplesource/plutosdrinput/readme.md +++ b/plugins/samplesource/plutosdrinput/readme.md @@ -47,11 +47,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon to stop, plug back in, check the source on the sampling devices control panel and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: ADC sample rate

This is the sample rate at which the ADC runs in kS/s (k) or MS/s (M) before hardware decimation. Hardware decimation is only partially controlled by the user using the FIR decimation factor (12). The value here is the value returned by the device interface therefore it is always exact. diff --git a/plugins/samplesource/remoteinput/readme.md b/plugins/samplesource/remoteinput/readme.md index d5f064cf3..60066c3d9 100644 --- a/plugins/samplesource/remoteinput/readme.md +++ b/plugins/samplesource/remoteinput/readme.md @@ -29,11 +29,6 @@ Device start / stop button. - Blue triangle icon: device is ready and can be started - Green square icon: device is running and can be stopped -

2: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

3: Frequency

This is the center frequency in Hz sent in the meta data from the distant SDRangel instance and corresponds to the center frequency of reception. The sub kHz value (000 to 999 Hz) is represented in smaller digits on the right. diff --git a/plugins/samplesource/remoteinput/remoteinput.cpp b/plugins/samplesource/remoteinput/remoteinput.cpp index 517702a7a..e5a306617 100644 --- a/plugins/samplesource/remoteinput/remoteinput.cpp +++ b/plugins/samplesource/remoteinput/remoteinput.cpp @@ -25,15 +25,12 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGRemoteInputReport.h" -#include "SWGRemoteInputActions.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" #include "device/deviceapi.h" -#include "dsp/filerecord.h" #include "remoteinput.h" #include "remoteinputudphandler.h" @@ -43,14 +40,12 @@ MESSAGE_CLASS_DEFINITION(RemoteInput::MsgConfigureRemoteInputTiming, Message) MESSAGE_CLASS_DEFINITION(RemoteInput::MsgReportRemoteInputAcquisition, Message) MESSAGE_CLASS_DEFINITION(RemoteInput::MsgReportRemoteInputStreamData, Message) MESSAGE_CLASS_DEFINITION(RemoteInput::MsgReportRemoteInputStreamTiming, Message) -MESSAGE_CLASS_DEFINITION(RemoteInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(RemoteInput::MsgStartStop, Message) RemoteInput::RemoteInput(DeviceAPI *deviceAPI) : m_deviceAPI(deviceAPI), m_sampleRate(48000), m_mutex(QMutex::Recursive), - m_fileSink(nullptr), m_settings(), m_remoteInputUDPHandler(nullptr), m_deviceDescription(), @@ -60,9 +55,7 @@ RemoteInput::RemoteInput(DeviceAPI *deviceAPI) : m_remoteInputUDPHandler = new RemoteInputUDPHandler(&m_sampleFifo, m_deviceAPI); m_remoteInputUDPHandler->setMessageQueueToInput(&m_inputMessageQueue); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -73,9 +66,7 @@ RemoteInput::~RemoteInput() disconnect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); delete m_networkManager; stop(); - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - delete m_remoteInputUDPHandler; + delete m_remoteInputUDPHandler; } void RemoteInput::destroy() @@ -165,12 +156,7 @@ bool RemoteInput::isStreaming() const bool RemoteInput::handleMessage(const Message& message) { - if (DSPSignalNotification::match(message)) - { - DSPSignalNotification& notif = (DSPSignalNotification&) message; - return m_fileSink->handleMessage(notif); // forward to file sink - } - else if (RemoteInputUDPHandler::MsgReportSampleRateChange::match(message)) + if (RemoteInputUDPHandler::MsgReportSampleRateChange::match(message)) { RemoteInputUDPHandler::MsgReportSampleRateChange& notif = (RemoteInputUDPHandler::MsgReportSampleRateChange&) message; int sampleRate = notif.getSampleRate(); @@ -185,28 +171,6 @@ bool RemoteInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "RemoteInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -269,9 +233,6 @@ void RemoteInput::applySettings(const RemoteInputSettings& settings, bool force) if ((m_settings.m_apiPort != settings.m_apiPort) || force) { reverseAPIKeys.append("apiPort"); } - if ((m_settings.m_fileRecordName != settings.m_fileRecordName) || force) { - reverseAPIKeys.append("fileRecordName"); - } if ((m_settings.m_dcBlock != settings.m_dcBlock) || (m_settings.m_iqCorrection != settings.m_iqCorrection) || force) { @@ -368,37 +329,6 @@ int RemoteInput::webapiSettingsPutPatch( return 200; } -int RemoteInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGRemoteInputActions *swgRemoteInputActions = query.getRemoteInputActions(); - - if (swgRemoteInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgRemoteInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing RemoteInputActions in query"; - return 400; - } -} - void RemoteInput::webapiUpdateDeviceSettings( RemoteInputSettings& settings, const QStringList& deviceSettingsKeys, @@ -422,9 +352,6 @@ void RemoteInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("iqCorrection")) { settings.m_iqCorrection = response.getRemoteInputSettings()->getIqCorrection() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getRemoteInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getRemoteInputSettings()->getUseReverseApi() != 0; } @@ -448,12 +375,6 @@ void RemoteInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getRemoteInputSettings()->setDcBlock(settings.m_dcBlock ? 1 : 0); response.getRemoteInputSettings()->setIqCorrection(settings.m_iqCorrection); - if (response.getRemoteInputSettings()->getFileRecordName()) { - *response.getRemoteInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getRemoteInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getRemoteInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getRemoteInputSettings()->getReverseApiAddress()) { @@ -519,9 +440,6 @@ void RemoteInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("iqCorrection") || force) { swgRemoteInputSettings->setIqCorrection(settings.m_iqCorrection ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgRemoteInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/remoteinput/remoteinput.h b/plugins/samplesource/remoteinput/remoteinput.h index 88fe748e1..96b0cc5ea 100644 --- a/plugins/samplesource/remoteinput/remoteinput.h +++ b/plugins/samplesource/remoteinput/remoteinput.h @@ -35,7 +35,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class RemoteInputUDPHandler; -class FileRecord; class RemoteInput : public DeviceSampleSource { Q_OBJECT @@ -230,25 +229,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -313,11 +293,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const RemoteInputSettings& settings); @@ -336,7 +311,6 @@ private: QString m_remoteAddress; QString m_deviceDescription; std::time_t m_startingTimeStamp; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/remoteinput/remoteinputgui.cpp b/plugins/samplesource/remoteinput/remoteinputgui.cpp index 6c26c1d59..5f44d7011 100644 --- a/plugins/samplesource/remoteinput/remoteinputgui.cpp +++ b/plugins/samplesource/remoteinput/remoteinputgui.cpp @@ -87,9 +87,6 @@ RemoteInputGui::RemoteInputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus())); @@ -242,23 +239,6 @@ bool RemoteInputGui::handleMessage(const Message& message) return true; } - else if (RemoteInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const RemoteInput::MsgFileRecord& notif = (const RemoteInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -446,18 +426,6 @@ void RemoteInputGui::on_startStop_toggled(bool checked) } } -void RemoteInputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - RemoteInput::MsgFileRecord* message = RemoteInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void RemoteInputGui::on_eventCountsReset_clicked(bool checked) { (void) checked; @@ -685,29 +653,3 @@ void RemoteInputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void RemoteInputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/remoteinput/remoteinputgui.h b/plugins/samplesource/remoteinput/remoteinputgui.h index a015af63c..129bbf687 100644 --- a/plugins/samplesource/remoteinput/remoteinputgui.h +++ b/plugins/samplesource/remoteinput/remoteinputgui.h @@ -130,13 +130,11 @@ private slots: void on_dataAddress_returnPressed(); void on_dataPort_returnPressed(); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_eventCountsReset_clicked(bool checked); void updateHardware(); void updateStatus(); void networkManagerFinished(QNetworkReply *reply); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif // INCLUDE_REMOTEINPUTGUI_H diff --git a/plugins/samplesource/remoteinput/remoteinputgui.ui b/plugins/samplesource/remoteinput/remoteinputgui.ui index 9ea60b208..0cfc7220c 100644 --- a/plugins/samplesource/remoteinput/remoteinputgui.ui +++ b/plugins/samplesource/remoteinput/remoteinputgui.ui @@ -65,20 +65,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/remoteinput/remoteinputplugin.cpp b/plugins/samplesource/remoteinput/remoteinputplugin.cpp index a60ab135c..d9d8297f6 100644 --- a/plugins/samplesource/remoteinput/remoteinputplugin.cpp +++ b/plugins/samplesource/remoteinput/remoteinputplugin.cpp @@ -31,7 +31,7 @@ const PluginDescriptor RemoteInputPlugin::m_pluginDescriptor = { QString("RemoteInput"), QString("Remote device input"), - QString("4.12.3"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/remoteinput/remoteinputsettings.cpp b/plugins/samplesource/remoteinput/remoteinputsettings.cpp index 44bd0e0b7..5336389df 100644 --- a/plugins/samplesource/remoteinput/remoteinputsettings.cpp +++ b/plugins/samplesource/remoteinput/remoteinputsettings.cpp @@ -31,7 +31,6 @@ void RemoteInputSettings::resetToDefaults() m_dataPort = 9090; m_dcBlock = false; m_iqCorrection = false; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/remoteinput/remoteinputsettings.h b/plugins/samplesource/remoteinput/remoteinputsettings.h index 86a81a6c2..bc11d5b8e 100644 --- a/plugins/samplesource/remoteinput/remoteinputsettings.h +++ b/plugins/samplesource/remoteinput/remoteinputsettings.h @@ -28,7 +28,6 @@ struct RemoteInputSettings { quint16 m_dataPort; bool m_dcBlock; bool m_iqCorrection; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/rtlsdr/readme.md b/plugins/samplesource/rtlsdr/readme.md index 52e97f8dd..6d8b1eee7 100644 --- a/plugins/samplesource/rtlsdr/readme.md +++ b/plugins/samplesource/rtlsdr/readme.md @@ -30,11 +30,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Device or Baseband sample rate

In device sample rate input mode (7) this is the baseband I/Q sample rate in kS/s. This is the device sample rate (8) divided by the decimation factor (9). diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp index c1daae896..1c503edaa 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp @@ -23,7 +23,6 @@ #include "device/deviceapi.h" #include "device/deviceuiset.h" -#include "dsp/filerecord.h" #include "ui_rtlsdrgui.h" #include "gui/colormapper.h" @@ -33,7 +32,6 @@ #include "dsp/dspengine.h" #include "dsp/dspcommands.h" - RTLSDRGui::RTLSDRGui(DeviceUISet *deviceUISet, QWidget* parent) : QWidget(parent), ui(new Ui::RTLSDRGui), @@ -70,9 +68,6 @@ RTLSDRGui::RTLSDRGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); } RTLSDRGui::~RTLSDRGui() @@ -169,23 +164,6 @@ bool RTLSDRGui::handleMessage(const Message& message) return true; } - else if (RTLSDRInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const RTLSDRInput::MsgFileRecord& notif = (const RTLSDRInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -420,18 +398,6 @@ void RTLSDRGui::on_startStop_toggled(bool checked) } } -void RTLSDRGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - RTLSDRInput::MsgFileRecord* message = RTLSDRInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void RTLSDRGui::on_transverter_clicked() { m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive(); @@ -588,29 +554,3 @@ void RTLSDRGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void RTLSDRGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.h b/plugins/samplesource/rtlsdr/rtlsdrgui.h index ff1f813cd..8fc394100 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.h +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.h @@ -24,6 +24,7 @@ #include "util/messagequeue.h" +#include "rtlsdrsettings.h" #include "rtlsdrinput.h" class DeviceUISet; @@ -94,12 +95,10 @@ private slots: void on_checkBox_stateChanged(int state); void on_agc_stateChanged(int state); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_transverter_clicked(); void on_sampleRateMode_toggled(bool checked); void on_biasT_stateChanged(int state); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); void updateHardware(); void updateStatus(); }; diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.ui b/plugins/samplesource/rtlsdr/rtlsdrgui.ui index f259bfc53..2d0a3aa4c 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.ui +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.ui @@ -71,20 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index 421b89311..53250765a 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -35,10 +35,8 @@ #include "rtlsdrthread.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgConfigureRTLSDR, Message) -MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgStartStop, Message) const quint64 RTLSDRInput::frequencyLowRangeMin = 0UL; @@ -60,9 +58,7 @@ RTLSDRInput::RTLSDRInput(DeviceAPI *deviceAPI) : { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -77,9 +73,6 @@ RTLSDRInput::~RTLSDRInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - closeDevice(); } @@ -317,28 +310,6 @@ bool RTLSDRInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "RTLSDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -591,7 +562,6 @@ bool RTLSDRInput::applySettings(const RTLSDRSettings& settings, bool force) { int sampleRate = m_settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -693,9 +663,6 @@ void RTLSDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("biasTee")) { settings.m_biasTee = response.getRtlSdrSettings()->getBiasTee() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getRtlSdrSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getRtlSdrSettings()->getUseReverseApi() != 0; } @@ -730,12 +697,6 @@ void RTLSDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& res response.getRtlSdrSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); response.getRtlSdrSettings()->setRfBandwidth(settings.m_rfBandwidth); - if (response.getRtlSdrSettings()->getFileRecordName()) { - *response.getRtlSdrSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getRtlSdrSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getRtlSdrSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getRtlSdrSettings()->getReverseApiAddress()) { @@ -787,37 +748,6 @@ int RTLSDRInput::webapiReportGet( return 200; } -int RTLSDRInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGRtlSdrActions *swgRtlSdrActions = query.getRtlSdrActions(); - - if (swgRtlSdrActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgRtlSdrActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing RtlSdrActions in query"; - return 400; - } -} - void RTLSDRInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response) { response.getRtlSdrReport()->setGains(new QList); @@ -891,9 +821,6 @@ void RTLSDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("biasTee") || force) { swgRtlSdrSettings->setBiasTee(settings.m_biasTee ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgRtlSdrSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString channelSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.h b/plugins/samplesource/rtlsdr/rtlsdrinput.h index 7beb9da88..0dce81a82 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.h +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.h @@ -23,13 +23,12 @@ #include #include -#include +#include "dsp/devicesamplesource.h" #include "rtlsdrsettings.h" #include class DeviceAPI; class RTLSDRThread; -class FileRecord; class QNetworkAccessManager; class QNetworkReply; @@ -59,25 +58,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -131,11 +111,6 @@ public: SWGSDRangel::SWGDeviceReport& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - virtual int webapiRunGet( SWGSDRangel::SWGDeviceState& response, QString& errorMessage); @@ -168,7 +143,6 @@ public: private: DeviceAPI *m_deviceAPI; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QMutex m_mutex; RTLSDRSettings m_settings; rtlsdr_dev_t* m_dev; diff --git a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp index 0d7d94a74..00b1cdc65 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrplugin.cpp @@ -15,7 +15,7 @@ const PluginDescriptor RTLSDRPlugin::m_pluginDescriptor = { QString("RTLSDR"), QString("RTL-SDR Input"), - QString("4.14.12"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp index da9b9cc3e..ace5e0f89 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.cpp @@ -41,7 +41,6 @@ void RTLSDRSettings::resetToDefaults() m_iqOrder = true; m_transverterDeltaFrequency = 0; m_rfBandwidth = 2500 * 1000; // Hz - m_fileRecordName = ""; m_offsetTuning = false; m_biasTee = false; m_useReverseAPI = false; diff --git a/plugins/samplesource/rtlsdr/rtlsdrsettings.h b/plugins/samplesource/rtlsdr/rtlsdrsettings.h index 8abfb8b6f..a80649339 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrsettings.h +++ b/plugins/samplesource/rtlsdr/rtlsdrsettings.h @@ -42,7 +42,6 @@ struct RTLSDRSettings { bool m_iqOrder; qint64 m_transverterDeltaFrequency; quint32 m_rfBandwidth; //!< RF filter bandwidth in Hz - QString m_fileRecordName; bool m_offsetTuning; bool m_biasTee; bool m_useReverseAPI; diff --git a/plugins/samplesource/sdrplay/sdrplaygui.cpp b/plugins/samplesource/sdrplay/sdrplaygui.cpp index 53fbaf3a8..22bf38fb0 100644 --- a/plugins/samplesource/sdrplay/sdrplaygui.cpp +++ b/plugins/samplesource/sdrplay/sdrplaygui.cpp @@ -77,9 +77,6 @@ SDRPlayGui::SDRPlayGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -193,23 +190,6 @@ bool SDRPlayGui::handleMessage(const Message& message) return true; } - else if (SDRPlayInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const SDRPlayInput::MsgFileRecord& notif = (const SDRPlayInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -487,18 +467,6 @@ void SDRPlayGui::on_startStop_toggled(bool checked) } } -void SDRPlayGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - SDRPlayInput::MsgFileRecord* message = SDRPlayInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p) { BasicDeviceSettingsDialog dialog(this); @@ -517,29 +485,3 @@ void SDRPlayGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void SDRPlayGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/sdrplay/sdrplaygui.h b/plugins/samplesource/sdrplay/sdrplaygui.h index db334414e..7eae71a0e 100644 --- a/plugins/samplesource/sdrplay/sdrplaygui.h +++ b/plugins/samplesource/sdrplay/sdrplaygui.h @@ -94,9 +94,7 @@ private slots: void on_gainMixer_toggled(bool checked); void on_gainBaseband_valueChanged(int value); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif /* PLUGINS_SAMPLESOURCE_SDRPLAY_SDRPLAYGUI_H_ */ diff --git a/plugins/samplesource/sdrplay/sdrplaygui.ui b/plugins/samplesource/sdrplay/sdrplaygui.ui index 77b267deb..e9d07e273 100644 --- a/plugins/samplesource/sdrplay/sdrplaygui.ui +++ b/plugins/samplesource/sdrplay/sdrplaygui.ui @@ -71,21 +71,6 @@ - - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp index fd9177478..a30c20f94 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.cpp +++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp @@ -25,14 +25,11 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGSDRPlayReport.h" -#include "SWGSDRPlayActions.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include #include "sdrplayinput.h" #include @@ -41,7 +38,6 @@ MESSAGE_CLASS_DEFINITION(SDRPlayInput::MsgConfigureSDRPlay, Message) MESSAGE_CLASS_DEFINITION(SDRPlayInput::MsgReportSDRPlayGains, Message) -MESSAGE_CLASS_DEFINITION(SDRPlayInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(SDRPlayInput::MsgStartStop, Message) SDRPlayInput::SDRPlayInput(DeviceAPI *deviceAPI) : @@ -55,9 +51,7 @@ SDRPlayInput::SDRPlayInput(DeviceAPI *deviceAPI) : m_running(false) { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -72,8 +66,6 @@ SDRPlayInput::~SDRPlayInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); } @@ -311,28 +303,6 @@ bool SDRPlayInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "SDRPlayInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -625,7 +595,6 @@ bool SDRPlayInput::applySettings(const SDRPlaySettings& settings, bool forwardCh { int sampleRate = getSampleRate(); DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency); - m_fileSink->handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -713,37 +682,6 @@ int SDRPlayInput::webapiSettingsPutPatch( return 200; } -int SDRPlayInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGSDRPlayActions *swgSDRPlayActions = query.getSdrPlayActions(); - - if (swgSDRPlayActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgSDRPlayActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing SDRPlayActions in query"; - return 400; - } -} - void SDRPlayInput::webapiUpdateDeviceSettings( SDRPlaySettings& settings, const QStringList& deviceSettingsKeys, @@ -800,9 +738,6 @@ void SDRPlayInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("basebandGain")) { settings.m_basebandGain = response.getSdrPlaySettings()->getBasebandGain(); } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getSdrPlaySettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getSdrPlaySettings()->getUseReverseApi() != 0; } @@ -836,12 +771,6 @@ void SDRPlayInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getSdrPlaySettings()->setMixerAmpOn(settings.m_mixerAmpOn ? 1 : 0); response.getSdrPlaySettings()->setBasebandGain(settings.m_basebandGain); - if (response.getSdrPlaySettings()->getFileRecordName()) { - *response.getSdrPlaySettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getSdrPlaySettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getSdrPlaySettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getSdrPlaySettings()->getReverseApiAddress()) { @@ -961,9 +890,6 @@ void SDRPlayInput::webapiReverseSendSettings(QList& deviceSettingsKeys, if (deviceSettingsKeys.contains("basebandGain") || force) { swgSDRPlaySettings->setBasebandGain(settings.m_basebandGain); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgSDRPlaySettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/sdrplay/sdrplayinput.h b/plugins/samplesource/sdrplay/sdrplayinput.h index c89278eef..ae6070cf7 100644 --- a/plugins/samplesource/sdrplay/sdrplayinput.h +++ b/plugins/samplesource/sdrplay/sdrplayinput.h @@ -32,7 +32,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class SDRPlayThread; -class FileRecord; class SDRPlayInput : public DeviceSampleSource { Q_OBJECT @@ -97,25 +96,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -178,11 +158,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const SDRPlaySettings& settings); @@ -204,7 +179,6 @@ private: QString m_deviceDescription; int m_devNumber; bool m_running; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.cpp b/plugins/samplesource/sdrplay/sdrplaysettings.cpp index 8405e90d7..4828bb086 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.cpp +++ b/plugins/samplesource/sdrplay/sdrplaysettings.cpp @@ -43,7 +43,6 @@ void SDRPlaySettings::resetToDefaults() m_mixerAmpOn = false; m_basebandGain = 29; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/sdrplay/sdrplaysettings.h b/plugins/samplesource/sdrplay/sdrplaysettings.h index 7966cd88c..7dbe2765c 100644 --- a/plugins/samplesource/sdrplay/sdrplaysettings.h +++ b/plugins/samplesource/sdrplay/sdrplaysettings.h @@ -46,7 +46,6 @@ struct SDRPlaySettings { bool m_mixerAmpOn; int m_basebandGain; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/soapysdrinput/readme.md b/plugins/samplesource/soapysdrinput/readme.md index a35a276ed..05b8b6fab 100644 --- a/plugins/samplesource/soapysdrinput/readme.md +++ b/plugins/samplesource/soapysdrinput/readme.md @@ -95,11 +95,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. Check the console log for possible errors. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device sample rate (the "SR" SoapySDR control) divided by the decimation factor (4). diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp index 3eb502feb..e7e95e8f5 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.cpp @@ -25,13 +25,10 @@ #include "SWGSoapySDRInputSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGSoapySDRReport.h" -#include "SWGSoapySDRInputActions.h" #include "device/deviceapi.h" #include "dsp/dspcommands.h" -#include "dsp/filerecord.h" #include "dsp/dspengine.h" #include "soapysdr/devicesoapysdr.h" @@ -39,7 +36,6 @@ #include "soapysdrinput.h" MESSAGE_CLASS_DEFINITION(SoapySDRInput::MsgConfigureSoapySDRInput, Message) -MESSAGE_CLASS_DEFINITION(SoapySDRInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(SoapySDRInput::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(SoapySDRInput::MsgReportGainChange, Message) @@ -56,9 +52,7 @@ SoapySDRInput::SoapySDRInput(DeviceAPI *deviceAPI) : initStreamArgSettings(m_settings); initDeviceArgSettings(m_settings); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); @@ -73,9 +67,6 @@ SoapySDRInput::~SoapySDRInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; - closeDevice(); } @@ -797,28 +788,6 @@ bool SoapySDRInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "SoapySDRInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -1282,7 +1251,6 @@ bool SoapySDRInput::applySettings(const SoapySDRInputSettings& settings, bool fo { int sampleRate = settings.m_devSampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -1492,9 +1460,6 @@ void SoapySDRInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("transverterMode")) { settings.m_transverterMode = response.getSoapySdrInputSettings()->getTransverterMode() != 0; } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getSoapySdrInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("antenna")) { settings.m_antenna = *response.getSoapySdrInputSettings()->getAntenna(); } @@ -1648,37 +1613,6 @@ int SoapySDRInput::webapiRun( return 200; } -int SoapySDRInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGSoapySDRInputActions *swgSoapySDRInputActions = query.getSoapySdrInputActions(); - - if (swgSoapySDRInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgSoapySDRInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing SoapySDRInputActions in query"; - return 400; - } -} - void SoapySDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SoapySDRInputSettings& settings) { response.getSoapySdrInputSettings()->setCenterFrequency(settings.m_centerFrequency); @@ -1692,12 +1626,6 @@ void SoapySDRInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& r response.getSoapySdrInputSettings()->setTransverterDeltaFrequency(settings.m_transverterDeltaFrequency); response.getSoapySdrInputSettings()->setTransverterMode(settings.m_transverterMode ? 1 : 0); - if (response.getSoapySdrInputSettings()->getFileRecordName()) { - *response.getSoapySdrInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getSoapySdrInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - if (response.getSoapySdrInputSettings()->getAntenna()) { *response.getSoapySdrInputSettings()->getAntenna() = settings.m_antenna; } else { @@ -2025,9 +1953,6 @@ void SoapySDRInput::webapiReverseSendSettings(QList& deviceSettingsKeys if (deviceSettingsKeys.contains("transverterMode") || force) { swgSoapySDRInputSettings->setTransverterMode(settings.m_transverterMode ? 1 : 0); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgSoapySDRInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } if (deviceSettingsKeys.contains("antenna") || force) { swgSoapySDRInputSettings->setAntenna(new QString(settings.m_antenna)); } diff --git a/plugins/samplesource/soapysdrinput/soapysdrinput.h b/plugins/samplesource/soapysdrinput/soapysdrinput.h index 9475d2416..55e3844ed 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinput.h +++ b/plugins/samplesource/soapysdrinput/soapysdrinput.h @@ -33,7 +33,6 @@ class QNetworkAccessManager; class QNetworkReply; class DeviceAPI; class SoapySDRInputThread; -class FileRecord; namespace SoapySDR { @@ -74,25 +73,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -203,11 +183,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const SoapySDRInputSettings& settings); @@ -225,7 +200,6 @@ private: bool m_running; SoapySDRInputThread *m_thread; DeviceSoapySDRShared m_deviceShared; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp index a29809126..fd1906147 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinputgui.cpp @@ -95,9 +95,6 @@ SoapySDRInputGui::SoapySDRInputGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -516,23 +513,6 @@ bool SoapySDRInputGui::handleMessage(const Message& message) return true; } - else if (SoapySDRInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const SoapySDRInput::MsgFileRecord& notif = (const SoapySDRInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -732,18 +712,6 @@ void SoapySDRInputGui::on_startStop_toggled(bool checked) } } -void SoapySDRInputGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - SoapySDRInput::MsgFileRecord* message = SoapySDRInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void SoapySDRInputGui::displaySettings() { blockApplySettings(true); @@ -978,29 +946,3 @@ void SoapySDRInputGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void SoapySDRInputGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputgui.h b/plugins/samplesource/soapysdrinput/soapysdrinputgui.h index b3e7badd3..f6ee896dc 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputgui.h +++ b/plugins/samplesource/soapysdrinput/soapysdrinputgui.h @@ -137,11 +137,9 @@ private slots: void on_fcPos_currentIndexChanged(int index); void on_transverter_clicked(); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputgui.ui b/plugins/samplesource/soapysdrinput/soapysdrinputgui.ui index 994f16bb5..ee59b8d69 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputgui.ui +++ b/plugins/samplesource/soapysdrinput/soapysdrinputgui.ui @@ -65,20 +65,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputplugin.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputplugin.cpp index eb2900aed..b3991d8fd 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputplugin.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinputplugin.cpp @@ -32,7 +32,7 @@ const PluginDescriptor SoapySDRInputPlugin::m_pluginDescriptor = { QString("SoapySDR"), QString("SoapySDR Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp index bc5eb524d..6583dde0a 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp +++ b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.cpp @@ -38,7 +38,6 @@ void SoapySDRInputSettings::resetToDefaults() m_transverterMode = false; m_transverterDeltaFrequency = 0; m_iqOrder = true; - m_fileRecordName = ""; m_antenna = "NONE"; m_bandwidth = 1000000; m_globalGain = 0; diff --git a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h index b971a22cb..baab1b235 100644 --- a/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h +++ b/plugins/samplesource/soapysdrinput/soapysdrinputsettings.h @@ -40,7 +40,6 @@ struct SoapySDRInputSettings { bool m_transverterMode; qint64 m_transverterDeltaFrequency; bool m_iqOrder; - QString m_fileRecordName; QString m_antenna; quint32 m_bandwidth; QMap m_tunableElements; diff --git a/plugins/samplesource/testsource/readme.md b/plugins/samplesource/testsource/readme.md index 1f66d548e..1681d6b99 100644 --- a/plugins/samplesource/testsource/readme.md +++ b/plugins/samplesource/testsource/readme.md @@ -28,11 +28,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon, plug back in and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device to host sample rate (3) divided by the decimation factor (4). diff --git a/plugins/samplesource/testsource/testsourcegui.cpp b/plugins/samplesource/testsource/testsourcegui.cpp index 13c2e6aa5..e2df0a97e 100644 --- a/plugins/samplesource/testsource/testsourcegui.cpp +++ b/plugins/samplesource/testsource/testsourcegui.cpp @@ -73,9 +73,6 @@ TestSourceGui::TestSourceGui(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); } TestSourceGui::~TestSourceGui() @@ -284,18 +281,6 @@ void TestSourceGui::on_phaseImbalance_valueChanged(int value) sendSettings(); } -void TestSourceGui::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - TestSourceInput::MsgFileRecord* message = TestSourceInput::MsgFileRecord::create(checked); - m_sampleSource->getInputMessageQueue()->push(message); -} - void TestSourceGui::displayAmplitude() { int amplitudeInt = ui->amplitudeCoarse->value() * 100 + ui->amplitudeFine->value(); @@ -481,23 +466,6 @@ bool TestSourceGui::handleMessage(const Message& message) return true; } - else if (TestSourceInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const TestSourceInput::MsgFileRecord& notif = (const TestSourceInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } else { return false; @@ -557,29 +525,3 @@ void TestSourceGui::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void TestSourceGui::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/testsource/testsourcegui.h b/plugins/samplesource/testsource/testsourcegui.h index 50294332b..6f41f399d 100644 --- a/plugins/samplesource/testsource/testsourcegui.h +++ b/plugins/samplesource/testsource/testsourcegui.h @@ -97,9 +97,7 @@ private slots: void on_iBias_valueChanged(int value); void on_qBias_valueChanged(int value); void on_phaseImbalance_valueChanged(int value); - void on_record_toggled(bool checked); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); void updateStatus(); void updateHardware(); }; diff --git a/plugins/samplesource/testsource/testsourcegui.ui b/plugins/samplesource/testsource/testsourcegui.ui index 022772fbd..d5768cdd8 100644 --- a/plugins/samplesource/testsource/testsourcegui.ui +++ b/plugins/samplesource/testsource/testsourcegui.ui @@ -74,20 +74,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png:/record_off.png - - - diff --git a/plugins/samplesource/testsource/testsourceinput.cpp b/plugins/samplesource/testsource/testsourceinput.cpp index e29778d7c..08d973fc2 100644 --- a/plugins/samplesource/testsource/testsourceinput.cpp +++ b/plugins/samplesource/testsource/testsourceinput.cpp @@ -25,18 +25,14 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" -#include "SWGDeviceActions.h" -#include "SWGTestSourceActions.h" #include "testsourceinput.h" #include "device/deviceapi.h" #include "testsourceworker.h" #include "dsp/dspcommands.h" #include "dsp/dspengine.h" -#include "dsp/filerecord.h" MESSAGE_CLASS_DEFINITION(TestSourceInput::MsgConfigureTestSource, Message) -MESSAGE_CLASS_DEFINITION(TestSourceInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(TestSourceInput::MsgStartStop, Message) @@ -48,9 +44,7 @@ TestSourceInput::TestSourceInput(DeviceAPI *deviceAPI) : m_running(false), m_masterTimer(deviceAPI->getMasterTimer()) { - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); if (!m_sampleFifo.setSize(96000 * 4)) { qCritical("TestSourceInput::TestSourceInput: Could not allocate SampleFifo"); @@ -68,9 +62,6 @@ TestSourceInput::~TestSourceInput() if (m_running) { stop(); } - - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; } void TestSourceInput::destroy() @@ -205,28 +196,6 @@ bool TestSourceInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "TestSourceInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) - { - if (m_settings.m_fileRecordName.size() != 0) { - m_fileSink->setFileName(m_settings.m_fileRecordName); - } else { - m_fileSink->genUniqueFileName(m_deviceAPI->getDeviceUID()); - } - - m_fileSink->startRecording(); - } - else - { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -406,7 +375,6 @@ bool TestSourceInput::applySettings(const TestSourceSettings& settings, bool for { int sampleRate = settings.m_sampleRate/(1<handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); } @@ -531,37 +499,6 @@ int TestSourceInput::webapiSettingsPutPatch( return 200; } -int TestSourceInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGTestSourceActions *swgTestSourceActions = query.getTestSourceActions(); - - if (swgTestSourceActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgTestSourceActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing TestSourceActions in query"; - return 400; - } -} - void TestSourceInput::webapiUpdateDeviceSettings( TestSourceSettings& settings, const QStringList& deviceSettingsKeys, @@ -623,9 +560,6 @@ void TestSourceInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("phaseImbalance")) { settings.m_phaseImbalance = response.getTestSourceSettings()->getPhaseImbalance(); }; - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getTestSourceSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getTestSourceSettings()->getUseReverseApi() != 0; } @@ -659,12 +593,6 @@ void TestSourceInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response.getTestSourceSettings()->setQFactor(settings.m_qFactor); response.getTestSourceSettings()->setPhaseImbalance(settings.m_phaseImbalance); - if (response.getTestSourceSettings()->getFileRecordName()) { - *response.getTestSourceSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getTestSourceSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getTestSourceSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getTestSourceSettings()->getReverseApiAddress()) { @@ -736,9 +664,6 @@ void TestSourceInput::webapiReverseSendSettings(QList& deviceSettingsKe if (deviceSettingsKeys.contains("phaseImbalance") || force) { swgTestSourceSettings->setPhaseImbalance(settings.m_phaseImbalance); }; - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgTestSourceSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString channelSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/testsource/testsourceinput.h b/plugins/samplesource/testsource/testsourceinput.h index 8280770ec..fd6d41f1d 100644 --- a/plugins/samplesource/testsource/testsourceinput.h +++ b/plugins/samplesource/testsource/testsourceinput.h @@ -29,7 +29,6 @@ class DeviceAPI; class TestSourceWorker; -class FileRecord; class QNetworkAccessManager; class QNetworkReply; @@ -59,25 +58,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - class MsgStartStop : public Message { MESSAGE_CLASS_DECLARATION @@ -136,11 +116,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const TestSourceSettings& settings); @@ -152,7 +127,6 @@ public: private: DeviceAPI *m_deviceAPI; - FileRecord *m_fileSink; //!< File sink to record device I/Q output QMutex m_mutex; TestSourceSettings m_settings; TestSourceWorker* m_testSourceWorker; diff --git a/plugins/samplesource/testsource/testsourceplugin.cpp b/plugins/samplesource/testsource/testsourceplugin.cpp index 3e2deef19..5f64a77e2 100644 --- a/plugins/samplesource/testsource/testsourceplugin.cpp +++ b/plugins/samplesource/testsource/testsourceplugin.cpp @@ -31,7 +31,7 @@ const PluginDescriptor TestSourcePlugin::m_pluginDescriptor = { QString("TestSource"), QString("Test Source input"), - QString("4.14.16"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/testsource/testsourcesettings.cpp b/plugins/samplesource/testsource/testsourcesettings.cpp index 46e468cde..2c343f242 100644 --- a/plugins/samplesource/testsource/testsourcesettings.cpp +++ b/plugins/samplesource/testsource/testsourcesettings.cpp @@ -42,7 +42,6 @@ void TestSourceSettings::resetToDefaults() m_iFactor = 0.0f; m_qFactor = 0.0f; m_phaseImbalance = 0.0f; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; diff --git a/plugins/samplesource/testsource/testsourcesettings.h b/plugins/samplesource/testsource/testsourcesettings.h index 3003de5ab..e7529d51a 100644 --- a/plugins/samplesource/testsource/testsourcesettings.h +++ b/plugins/samplesource/testsource/testsourcesettings.h @@ -60,7 +60,6 @@ struct TestSourceSettings { float m_iFactor; //!< -1.0 < x < 1.0 float m_qFactor; //!< -1.0 < x < 1.0 float m_phaseImbalance; //!< -1.0 < x < 1.0 - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplesource/xtrxinput/readme.md b/plugins/samplesource/xtrxinput/readme.md index 320915392..57c63f134 100644 --- a/plugins/samplesource/xtrxinput/readme.md +++ b/plugins/samplesource/xtrxinput/readme.md @@ -62,11 +62,6 @@ Device start / stop button. - Green square icon: device is running and can be stopped - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon to stop, plug back in, check the source on the sampling devices control panel and start again. -

1.3: Record

- - - Left click: record baseband I/Q stream toggle button - - Right click: choose record file -

1.4: ADC sample rate

This is the sample rate at which the ADC runs in kS/s (k) or MS/s (M) before hardware decimation (3). Thus this is the device to host sample rate (5) multiplied by the hardware decimation factor (3). diff --git a/plugins/samplesource/xtrxinput/xtrxinput.cpp b/plugins/samplesource/xtrxinput/xtrxinput.cpp index 3878b1fc1..b1d9a82bc 100644 --- a/plugins/samplesource/xtrxinput/xtrxinput.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinput.cpp @@ -28,13 +28,10 @@ #include "SWGXtrxInputSettings.h" #include "SWGDeviceState.h" #include "SWGDeviceReport.h" -#include "SWGDeviceActions.h" #include "SWGXtrxInputReport.h" -#include "SWGXtrxInputActions.h" #include "device/deviceapi.h" #include "dsp/dspcommands.h" -#include "dsp/filerecord.h" #include "xtrxinput.h" #include "xtrxinputthread.h" #include "xtrx/devicextrxparam.h" @@ -46,7 +43,6 @@ MESSAGE_CLASS_DEFINITION(XTRXInput::MsgGetStreamInfo, Message) MESSAGE_CLASS_DEFINITION(XTRXInput::MsgGetDeviceInfo, Message) MESSAGE_CLASS_DEFINITION(XTRXInput::MsgReportClockGenChange, Message) MESSAGE_CLASS_DEFINITION(XTRXInput::MsgReportStreamInfo, Message) -MESSAGE_CLASS_DEFINITION(XTRXInput::MsgFileRecord, Message) MESSAGE_CLASS_DEFINITION(XTRXInput::MsgStartStop, Message) XTRXInput::XTRXInput(DeviceAPI *deviceAPI) : @@ -58,10 +54,7 @@ XTRXInput::XTRXInput(DeviceAPI *deviceAPI) : { openDevice(); - m_fileSink = new FileRecord(QString("test_%1.sdriq").arg(m_deviceAPI->getDeviceUID())); m_deviceAPI->setNbSourceStreams(1); - m_deviceAPI->addAncillarySink(m_fileSink); - m_networkManager = new QNetworkAccessManager(); connect(m_networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(networkManagerFinished(QNetworkReply*))); } @@ -75,8 +68,6 @@ XTRXInput::~XTRXInput() stop(); } - m_deviceAPI->removeAncillarySink(m_fileSink); - delete m_fileSink; closeDevice(); } @@ -731,19 +722,6 @@ bool XTRXInput::handleMessage(const Message& message) return true; } - else if (MsgFileRecord::match(message)) - { - MsgFileRecord& conf = (MsgFileRecord&) message; - qDebug() << "XTRXInput::handleMessage: MsgFileRecord: " << conf.getStartStop(); - - if (conf.getStartStop()) { - m_fileSink->startRecording(); - } else { - m_fileSink->stopRecording(); - } - - return true; - } else if (MsgStartStop::match(message)) { MsgStartStop& cmd = (MsgStartStop&) message; @@ -1280,7 +1258,6 @@ bool XTRXInput::applySettings(const XTRXInputSettings& settings, bool force, boo int ncoShift = m_settings.m_ncoEnable ? m_settings.m_ncoFrequency : 0; DSPSignalNotification *notif = new DSPSignalNotification(getSampleRate(), m_settings.m_centerFrequency + ncoShift); - m_fileSink->handleMessage(*notif); // forward to file sink m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); if (getMessageQueueToGUI()) @@ -1414,9 +1391,6 @@ void XTRXInput::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("pwrmode")) { settings.m_pwrmode = response.getXtrxInputSettings()->getPwrmode(); } - if (deviceSettingsKeys.contains("fileRecordName")) { - settings.m_fileRecordName = *response.getXtrxInputSettings()->getFileRecordName(); - } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getXtrxInputSettings()->getUseReverseApi() != 0; } @@ -1453,12 +1427,6 @@ void XTRXInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& respo response.getXtrxInputSettings()->setExtClockFreq(settings.m_extClockFreq); response.getXtrxInputSettings()->setPwrmode(settings.m_pwrmode); - if (response.getXtrxInputSettings()->getFileRecordName()) { - *response.getXtrxInputSettings()->getFileRecordName() = settings.m_fileRecordName; - } else { - response.getXtrxInputSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); - } - response.getXtrxInputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); if (response.getXtrxInputSettings()->getReverseApiAddress()) { @@ -1510,37 +1478,6 @@ int XTRXInput::webapiRun( return 200; } -int XTRXInput::webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& query, - QString& errorMessage) -{ - SWGSDRangel::SWGXtrxInputActions *swgXtrxInputActions = query.getXtrxInputActions(); - - if (swgXtrxInputActions) - { - if (deviceActionsKeys.contains("record")) - { - bool record = swgXtrxInputActions->getRecord() != 0; - MsgFileRecord *msg = MsgFileRecord::create(record); - getInputMessageQueue()->push(msg); - - if (getMessageQueueToGUI()) - { - MsgFileRecord *msgToGUI = MsgFileRecord::create(record); - getMessageQueueToGUI()->push(msgToGUI); - } - } - - return 202; - } - else - { - errorMessage = "Missing XtrxInputActions in query"; - return 400; - } -} - void XTRXInput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response) { int ret; @@ -1634,9 +1571,6 @@ void XTRXInput::webapiReverseSendSettings(QList& deviceSettingsKeys, co if (deviceSettingsKeys.contains("pwrmode") || force) { swgXtrxInputSettings->setPwrmode(settings.m_pwrmode); } - if (deviceSettingsKeys.contains("fileRecordName") || force) { - swgXtrxInputSettings->setFileRecordName(new QString(settings.m_fileRecordName)); - } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplesource/xtrxinput/xtrxinput.h b/plugins/samplesource/xtrxinput/xtrxinput.h index a0cbd4f94..3023fd235 100644 --- a/plugins/samplesource/xtrxinput/xtrxinput.h +++ b/plugins/samplesource/xtrxinput/xtrxinput.h @@ -33,7 +33,6 @@ class QNetworkReply; class DeviceAPI; class XTRXInputThread; struct DeviceXTRXParams; -class FileRecord; class XTRXInput : public DeviceSampleSource { @@ -171,25 +170,6 @@ public: { } }; - class MsgFileRecord : public Message { - MESSAGE_CLASS_DECLARATION - - public: - bool getStartStop() const { return m_startStop; } - - static MsgFileRecord* create(bool startStop) { - return new MsgFileRecord(startStop); - } - - protected: - bool m_startStop; - - MsgFileRecord(bool startStop) : - Message(), - m_startStop(startStop) - { } - }; - XTRXInput(DeviceAPI *deviceAPI); virtual ~XTRXInput(); virtual void destroy(); @@ -238,11 +218,6 @@ public: SWGSDRangel::SWGDeviceState& response, QString& errorMessage); - virtual int webapiActionsPost( - const QStringList& deviceActionsKeys, - SWGSDRangel::SWGDeviceActions& actions, - QString& errorMessage); - static void webapiFormatDeviceSettings( SWGSDRangel::SWGDeviceSettings& response, const XTRXInputSettings& settings); @@ -273,8 +248,6 @@ private: QNetworkAccessManager *m_networkManager; QNetworkRequest m_networkRequest; - FileRecord *m_fileSink; //!< File sink to record device I/Q output - bool openDevice(); void closeDevice(); XTRXInputThread *findThread(); diff --git a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp index 9f1f2b86b..2d45dc408 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputgui.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinputgui.cpp @@ -76,9 +76,6 @@ XTRXInputGUI::XTRXInputGUI(DeviceUISet *deviceUISet, QWidget* parent) : CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop); connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &))); - CRightClickEnabler *fileRecordRightClickEnabler = new CRightClickEnabler(ui->record); - connect(fileRecordRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openFileRecordDialog(const QPoint &))); - displaySettings(); connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection); @@ -232,23 +229,7 @@ bool XTRXInputGUI::handleMessage(const Message& message) return true; } - else if (XTRXInput::MsgFileRecord::match(message)) // API action "record" feedback - { - const XTRXInput::MsgFileRecord& notif = (const XTRXInput::MsgFileRecord&) message; - bool record = notif.getStartStop(); - ui->record->blockSignals(true); - ui->record->setChecked(record); - - if (record) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - ui->record->blockSignals(false); - return true; - } return false; } @@ -513,18 +494,6 @@ void XTRXInputGUI::on_startStop_toggled(bool checked) } } -void XTRXInputGUI::on_record_toggled(bool checked) -{ - if (checked) { - ui->record->setStyleSheet("QToolButton { background-color : red; }"); - } else { - ui->record->setStyleSheet("QToolButton { background:rgb(79,79,79); }"); - } - - XTRXInput::MsgFileRecord* message = XTRXInput::MsgFileRecord::create(checked); - m_XTRXInput->getInputMessageQueue()->push(message); -} - void XTRXInputGUI::on_centerFrequency_changed(quint64 value) { setCenterFrequencySetting(value); @@ -700,29 +669,3 @@ void XTRXInputGUI::openDeviceSettingsDialog(const QPoint& p) sendSettings(); } - -void XTRXInputGUI::openFileRecordDialog(const QPoint& p) -{ - QFileDialog fileDialog( - this, - tr("Save I/Q record file"), - m_settings.m_fileRecordName, - tr("SDR I/Q Files (*.sdriq)") - ); - - fileDialog.setOptions(QFileDialog::DontUseNativeDialog); - fileDialog.setFileMode(QFileDialog::AnyFile); - fileDialog.move(p); - QStringList fileNames; - - if (fileDialog.exec()) - { - fileNames = fileDialog.selectedFiles(); - - if (fileNames.size() > 0) - { - m_settings.m_fileRecordName = fileNames.at(0); - sendSettings(); - } - } -} diff --git a/plugins/samplesource/xtrxinput/xtrxinputgui.h b/plugins/samplesource/xtrxinput/xtrxinputgui.h index 46f2b9aaa..44eb1865f 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputgui.h +++ b/plugins/samplesource/xtrxinput/xtrxinputgui.h @@ -83,7 +83,6 @@ private: private slots: void handleInputMessages(); void on_startStop_toggled(bool checked); - void on_record_toggled(bool checked); void on_centerFrequency_changed(quint64 value); void on_ncoFrequency_changed(qint64 value); void on_ncoEnable_toggled(bool checked); @@ -106,7 +105,6 @@ private slots: void updateHardware(); void updateStatus(); void openDeviceSettingsDialog(const QPoint& p); - void openFileRecordDialog(const QPoint& p); }; #endif /* PLUGINS_SAMPLESOURCE_XTRXINPUT_XTRXINPUTGUI_H_ */ diff --git a/plugins/samplesource/xtrxinput/xtrxinputgui.ui b/plugins/samplesource/xtrxinput/xtrxinputgui.ui index 42139f59a..de4b9edce 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputgui.ui +++ b/plugins/samplesource/xtrxinput/xtrxinputgui.ui @@ -71,21 +71,6 @@
- - - - Left: toggle record I/Q samples from device - Right: select output file - - - - - - - :/record_off.png - :/record_on.png:/record_off.png - - - diff --git a/plugins/samplesource/xtrxinput/xtrxinputplugin.cpp b/plugins/samplesource/xtrxinput/xtrxinputplugin.cpp index a0b59d902..40c56e054 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputplugin.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinputplugin.cpp @@ -38,7 +38,7 @@ const PluginDescriptor XTRXInputPlugin::m_pluginDescriptor = { QString("XTRX"), QString("XTRX Input"), - QString("4.14.11"), + QString("4.15.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp b/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp index b9a616f9d..98584835d 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp +++ b/plugins/samplesource/xtrxinput/xtrxinputsettings.cpp @@ -44,7 +44,6 @@ void XTRXInputSettings::resetToDefaults() m_extClockFreq = 0; // Auto m_pwrmode = 1; m_iqOrder = true; - m_fileRecordName = ""; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -72,7 +71,6 @@ QByteArray XTRXInputSettings::serialize() const s.writeBool(18, m_extClock); s.writeU32(19, m_extClockFreq); s.writeU32(20, m_pwrmode); - s.writeString(21, m_fileRecordName); s.writeBool(22, m_useReverseAPI); s.writeString(23, m_reverseAPIAddress); s.writeU32(24, m_reverseAPIPort); @@ -116,7 +114,6 @@ bool XTRXInputSettings::deserialize(const QByteArray& data) d.readBool(18, &m_extClock, false); d.readU32(19, &m_extClockFreq, 0); d.readU32(20, &m_pwrmode, 2); - d.readString(21, &m_fileRecordName, ""); d.readBool(22, &m_useReverseAPI, false); d.readString(23, &m_reverseAPIAddress, "127.0.0.1"); d.readU32(24, &uintval, 0); diff --git a/plugins/samplesource/xtrxinput/xtrxinputsettings.h b/plugins/samplesource/xtrxinput/xtrxinputsettings.h index 4a5173bae..fb0e9a63e 100644 --- a/plugins/samplesource/xtrxinput/xtrxinputsettings.h +++ b/plugins/samplesource/xtrxinput/xtrxinputsettings.h @@ -57,7 +57,6 @@ struct XTRXInputSettings uint32_t m_extClockFreq; //!< Frequency (Hz) of external clock source uint32_t m_pwrmode; bool m_iqOrder; - QString m_fileRecordName; bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 7a19084c1..622e98c0c 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -1142,24 +1142,6 @@ margin-bottom: 20px; } }, "description" : "ATVMod" -}; - defs.AirspyActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "Airspy" -}; - defs.AirspyHFActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "AirspyHF" }; defs.AirspyHFReport = { "properties" : { @@ -1201,9 +1183,6 @@ margin-bottom: 20px; "bandIndex" : { "type" : "integer" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -1314,9 +1293,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -1602,6 +1578,7 @@ margin-bottom: 20px; }, "description" : "A bandwidth expressed in Hertz (Hz)" }; +<<<<<<< ours defs.BladeRF1InputActions = { "properties" : { "record" : { @@ -1610,6 +1587,43 @@ margin-bottom: 20px; } }, "description" : "BladeRF1" +======= + defs.BeamSteeringCWModSettings = { + "properties" : { + "steerDegrees" : { + "type" : "integer" + }, + "rgbColor" : { + "type" : "integer" + }, + "title" : { + "type" : "string" + }, + "log2Interp" : { + "type" : "integer" + }, + "filterChainHash" : { + "type" : "integer" + }, + "useReverseAPI" : { + "type" : "integer", + "description" : "Synchronize with reverse API (1 for yes, 0 for no)" + }, + "reverseAPIAddress" : { + "type" : "string" + }, + "reverseAPIPort" : { + "type" : "integer" + }, + "reverseAPIDeviceIndex" : { + "type" : "integer" + }, + "reverseAPIChannelIndex" : { + "type" : "integer" + } + }, + "description" : "BeamSteeringCWMod" +>>>>>>> theirs }; defs.BladeRF1InputSettings = { "properties" : { @@ -1657,9 +1671,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -1721,15 +1732,6 @@ margin-bottom: 20px; } }, "description" : "BladeRF1" -}; - defs.BladeRF2InputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "BladeRF2" }; defs.BladeRF2InputReport = { "properties" : { @@ -1801,9 +1803,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -2718,6 +2717,7 @@ margin-bottom: 20px; "type" : "integer", "description" : "Optional for reverse API. This is the device set index from where the message comes from." }, +<<<<<<< ours "airspyActions" : { "$ref" : "#/definitions/AirspyActions" }, @@ -2771,6 +2771,10 @@ margin-bottom: 20px; }, "xtrxInputActions" : { "$ref" : "#/definitions/XtrxInputActions" +======= + "sigMFFileInputActions" : { + "$ref" : "#/definitions/SigMFFileInputActions" +>>>>>>> theirs } }, "description" : "Base device actions. Only the device actions corresponding to the device specified in the deviceHwType field is or should be present." @@ -3074,24 +3078,6 @@ margin-bottom: 20px; "example" : "KO" } } -}; - defs.FCDProActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "FCDPro" -}; - defs.FCDProPlusActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "FCDProPlus" }; defs.FCDProPlusSettings = { "properties" : { @@ -3150,9 +3136,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -3249,9 +3232,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -3964,15 +3944,6 @@ margin-bottom: 20px; } }, "description" : "A gain expressed in centi-Bels (tenths of dB)" -}; - defs.HackRFInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "HackRF" }; defs.HackRFInputSettings = { "properties" : { @@ -4014,9 +3985,6 @@ margin-bottom: 20px; "iqCorrection" : { "type" : "integer" }, - "fileRecordName" : { - "type" : "string" - }, "transverterMode" : { "type" : "integer" }, @@ -4197,6 +4165,7 @@ margin-bottom: 20px; }, "description" : "Summarized information about this SDRangel instance" }; +<<<<<<< ours defs.KiwiSDRActions = { "properties" : { "record" : { @@ -4205,6 +4174,50 @@ margin-bottom: 20px; } }, "description" : "KiwiSDR" +======= + defs.InterferometerSettings = { + "properties" : { + "correlationType" : { + "type" : "integer", + "description" : "see InterferometerSettings::CorrelationType" + }, + "rgbColor" : { + "type" : "integer" + }, + "title" : { + "type" : "string" + }, + "log2Decim" : { + "type" : "integer" + }, + "filterChainHash" : { + "type" : "integer" + }, + "useReverseAPI" : { + "type" : "integer", + "description" : "Synchronize with reverse API (1 for yes, 0 for no)" + }, + "reverseAPIAddress" : { + "type" : "string" + }, + "reverseAPIPort" : { + "type" : "integer" + }, + "reverseAPIDeviceIndex" : { + "type" : "integer" + }, + "reverseAPIChannelIndex" : { + "type" : "integer" + }, + "spectrumConfig" : { + "$ref" : "#/definitions/GLSpectrum" + }, + "scopeConfig" : { + "$ref" : "#/definitions/GLScope" + } + }, + "description" : "Interferometer" +>>>>>>> theirs }; defs.KiwiSDRReport = { "properties" : { @@ -4235,9 +4248,6 @@ margin-bottom: 20px; "type" : "string", "description" : "Distant KiwiSDR instance URL or IPv4 address with port" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -4364,15 +4374,6 @@ margin-bottom: 20px; } }, "description" : "LimeRFE" -}; - defs.LimeSdrInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "LimeSDR" }; defs.LimeSdrInputReport = { "properties" : { @@ -4494,9 +4495,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "gpioDir" : { "type" : "integer", "format" : "int8" @@ -4642,15 +4640,6 @@ margin-bottom: 20px; } }, "description" : "LimeSDR" -}; - defs.LocalInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "LocalInput" }; defs.LocalInputReport = { "properties" : { @@ -4672,9 +4661,6 @@ margin-bottom: 20px; "iqCorrection" : { "type" : "integer" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -5055,15 +5041,6 @@ margin-bottom: 20px; } }, "description" : "Enumeration with name for values" -}; - defs.PerseusActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "Perseus" }; defs.PerseusReport = { "properties" : { @@ -5114,9 +5091,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "attenuator" : { "type" : "integer", "description" : "Attenuator setting in Bels (0, 10, 20 30 dB)" @@ -5136,15 +5110,6 @@ margin-bottom: 20px; } }, "description" : "Perseus" -}; - defs.PlutoSdrInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "PlutoSDR" }; defs.PlutoSdrInputReport = { "properties" : { @@ -5239,9 +5204,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -5646,15 +5608,6 @@ margin-bottom: 20px; } }, "description" : "An arbitrary range of floating point values" -}; - defs.RemoteInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "RemoteInput" }; defs.RemoteInputReport = { "properties" : { @@ -5704,9 +5657,6 @@ margin-bottom: 20px; "iqCorrection" : { "type" : "integer" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -5936,15 +5886,6 @@ margin-bottom: 20px; } }, "description" : "Remote channel source settings" -}; - defs.RtlSdrActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "RTLSDR" }; defs.RtlSdrReport = { "properties" : { @@ -6014,9 +5955,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "Bias tee\n * 0 - inactive\n * 1 - active\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -6032,15 +5970,6 @@ margin-bottom: 20px; } }, "description" : "RTLSDR" -}; - defs.SDRPlayActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "SDRplay1" }; defs.SDRPlayReport = { "properties" : { @@ -6124,9 +6053,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -6439,15 +6365,6 @@ margin-bottom: 20px; } }, "description" : "A named gain setting specified by its range" -}; - defs.SoapySDRInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording" - } - }, - "description" : "SoapySDR" }; defs.SoapySDRInputSettings = { "properties" : { @@ -6487,9 +6404,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "antenna" : { "type" : "string" }, @@ -6731,6 +6645,7 @@ margin-bottom: 20px; } } }; +<<<<<<< ours defs.TestSourceActions = { "properties" : { "record" : { @@ -6739,6 +6654,114 @@ margin-bottom: 20px; } }, "description" : "TestSource" +======= + defs.TestMISettings = { + "properties" : { + "useReverseAPI" : { + "type" : "integer", + "description" : "Synchronize with reverse API (1 for yes, 0 for no)" + }, + "reverseAPIAddress" : { + "type" : "string" + }, + "reverseAPIPort" : { + "type" : "integer" + }, + "reverseAPIDeviceIndex" : { + "type" : "integer" + }, + "streams" : { + "type" : "array", + "description" : "Settings for each of the streams", + "items" : { + "$ref" : "#/definitions/TestMiStreamSettings" + } + } + }, + "description" : "TestMISettings" +}; + defs.TestMOSyncSettings = { + "properties" : { + "centerFrequency" : { + "type" : "integer", + "format" : "int64" + }, + "sampleRate" : { + "type" : "integer", + "format" : "int64" + }, + "log2Interp" : { + "type" : "integer" + }, + "fcPosTx" : { + "type" : "integer", + "description" : "See BladeRF2MIMO::fcPos_t" + } + }, + "description" : "TestMOSync" +}; + defs.TestMiStreamSettings = { + "properties" : { + "streamIndex" : { + "type" : "integer", + "description" : "Index of the stream to which the settings apply" + }, + "centerFrequency" : { + "type" : "integer", + "format" : "uint64" + }, + "frequencyShift" : { + "type" : "integer" + }, + "sampleRate" : { + "type" : "integer" + }, + "log2Decim" : { + "type" : "integer" + }, + "fcPos" : { + "type" : "integer" + }, + "sampleSizeIndex" : { + "type" : "integer" + }, + "amplitudeBits" : { + "type" : "integer" + }, + "autoCorrOptions" : { + "type" : "integer" + }, + "modulation" : { + "type" : "integer" + }, + "modulationTone" : { + "type" : "integer" + }, + "amModulation" : { + "type" : "integer" + }, + "fmDeviation" : { + "type" : "integer" + }, + "dcFactor" : { + "type" : "number", + "format" : "float" + }, + "iFactor" : { + "type" : "number", + "format" : "float" + }, + "qFactor" : { + "type" : "number", + "format" : "float" + }, + "phaseImbalance" : { + "type" : "number", + "format" : "float" + } + }, + "description" : "TestMiStreamSettings" +>>>>>>> theirs }; defs.TestSourceSettings = { "properties" : { @@ -6795,9 +6818,6 @@ margin-bottom: 20px; "type" : "number", "format" : "float" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -7372,15 +7392,6 @@ margin-bottom: 20px; } }, "description" : "WFMMod" -}; - defs.XtrxInputActions = { - "properties" : { - "record" : { - "type" : "integer", - "description" : "Record IQ stream action\n * 0 - stop recording\n * 1 - start recording\n" - } - }, - "description" : "XTRX" }; defs.XtrxInputReport = { "properties" : { @@ -7480,9 +7491,6 @@ margin-bottom: 20px; "type" : "integer", "description" : "IQ samples order\n * 0 - Q then I (swapped)\n * 1 - I then Q (straight)\n" }, - "fileRecordName" : { - "type" : "string" - }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -33585,7 +33593,11 @@ except ApiException as e:
+<<<<<<< ours Generated 2020-08-08T23:29:13.057+02:00 +======= + Generated 2020-08-08T10:04:58.845+02:00 +>>>>>>> theirs
diff --git a/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml b/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml index 101d88f5e..0e6d4d452 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Airspy.yaml @@ -43,8 +43,6 @@ AirspySettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -62,13 +60,3 @@ AirspyReport: type: array items: $ref: "/doc/swagger/include/Structs.yaml#/SampleRate" - -AirspyActions: - description: Airspy - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml b/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml index 21c51f93b..5ac8e321c 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AirspyHF.yaml @@ -23,8 +23,6 @@ AirspyHFSettings: * 1 - I then Q (straight) bandIndex: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -61,13 +59,3 @@ AirspyHFReport: type: array items: $ref: "/doc/swagger/include/Structs.yaml#/SampleRate" - -AirspyHFActions: - description: AirspyHF - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml b/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml index d65e2fb60..1444272d8 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/BladeRF1.yaml @@ -34,8 +34,6 @@ BladeRF1InputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -46,16 +44,6 @@ BladeRF1InputSettings: reverseAPIDeviceIndex: type: integer -BladeRF1InputActions: - description: BladeRF1 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - BladeRF1OutputSettings: description: BladeRF1 properties: diff --git a/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml b/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml index ed0e0aadc..bfeac7262 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/BladeRF2.yaml @@ -35,8 +35,6 @@ BladeRF2InputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -63,16 +61,6 @@ BladeRF2InputReport: items: $ref: "/doc/swagger/include/Structs.yaml#/NamedEnum" -BladeRF2InputActions: - description: BladeRF2 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - BladeRF2OutputSettings: description: BladeRF2 properties: diff --git a/sdrbase/resources/webapi/doc/swagger/include/DeviceActions.yaml b/sdrbase/resources/webapi/doc/swagger/include/DeviceActions.yaml index beab35b84..c7abaffc0 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/DeviceActions.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/DeviceActions.yaml @@ -14,6 +14,7 @@ DeviceActions: originatorIndex: description: Optional for reverse API. This is the device set index from where the message comes from. type: integer +<<<<<<< ours airspyActions: $ref: "/doc/swagger/include/Airspy.yaml#/AirspyActions" airspyHFActions: @@ -50,3 +51,7 @@ DeviceActions: $ref: "/doc/swagger/include/TestSource.yaml#/TestSourceActions" xtrxInputActions: $ref: "/doc/swagger/include/Xtrx.yaml#/XtrxInputActions" +======= + sigMFFileInputActions: + $ref: "/doc/swagger/include/SigMFFileInput.yaml#/SigMFFileInputActions" +>>>>>>> theirs diff --git a/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml b/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml index ab69fc7b5..0fbad784b 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FCDPro.yaml @@ -57,8 +57,6 @@ FCDProSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -68,13 +66,3 @@ FCDProSettings: type: integer reverseAPIDeviceIndex: type: integer - -FCDProActions: - description: FCDPro - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml b/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml index 9c57d23ce..6f2e0d3cb 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/FCDProPlus.yaml @@ -43,8 +43,6 @@ FCDProPlusSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -54,13 +52,3 @@ FCDProPlusSettings: type: integer reverseAPIDeviceIndex: type: integer - -FCDProPlusActions: - description: FCDProPlus - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml b/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml index 374c0bcb9..e9bb65b36 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/HackRF.yaml @@ -27,8 +27,6 @@ HackRFInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string transverterMode: type: integer transverterDeltaFrequency: @@ -50,16 +48,6 @@ HackRFInputSettings: reverseAPIDeviceIndex: type: integer -HackRFInputActions: - description: HackRF - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - HackRFOutputSettings: description: HackRF properties: diff --git a/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml b/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml index e93a06560..d02981dbe 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/KiwiSDR.yaml @@ -14,8 +14,6 @@ KiwiSDRSettings: serverAddress: description: Distant KiwiSDR instance URL or IPv4 address with port type: string - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -32,13 +30,3 @@ KiwiSDRReport: status: description: 0 for Idle, 1 for Connecting, 2 for Connected, 3 for Error, 4 for Disconnected type: integer - -KiwiSDRActions: - description: KiwiSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml index c122d419c..df2e22497 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LimeSdr.yaml @@ -51,8 +51,6 @@ LimeSdrInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string gpioDir: type: integer format: int8 @@ -156,16 +154,6 @@ LimeSdrInputReport: type: integer format: int8 -LimeSdrInputActions: - description: LimeSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - LimeSdrOutputReport: description: LimeSDR properties: diff --git a/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml index decc03bb9..cb4a0ef00 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LocalInput.yaml @@ -5,8 +5,6 @@ LocalInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -25,13 +23,3 @@ LocalInputReport: format: uint64 sampleRate: type: integer - -LocalInputActions: - description: LocalInput - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml b/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml index 718c3074d..d2030886c 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Perseus.yaml @@ -30,8 +30,6 @@ PerseusSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string attenuator: description: Attenuator setting in Bels (0, 10, 20 30 dB) type: integer @@ -52,13 +50,3 @@ PerseusReport: type: array items: $ref: "/doc/swagger/include/Structs.yaml#/SampleRate" - -PerseusActions: - description: Perseus - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml index 2111d0a52..0d59b1270 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/PlutoSdr.yaml @@ -56,8 +56,6 @@ PlutoSdrInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -138,13 +136,3 @@ PlutoSdrOutputReport: temperature: type: number format: float - -PlutoSdrInputActions: - description: PlutoSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml b/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml index 832de6cd3..a35e4dbb3 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RemoteInput.yaml @@ -13,8 +13,6 @@ RemoteInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -45,13 +43,3 @@ RemoteInputReport: maxNbRecovery: description: Maximum number of recovery blocks used per frame type: integer - -RemoteInputActions: - description: RemoteInput - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml b/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml index 66e04a3f8..253012cc9 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/RtlSdr.yaml @@ -45,8 +45,6 @@ RtlSdrSettings: Bias tee * 0 - inactive * 1 - active - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -64,13 +62,3 @@ RtlSdrReport: type: array items: $ref: "/doc/swagger/include/Structs.yaml#/Gain" - -RtlSdrActions: - description: RTLSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml b/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml index 84b45fb4e..528a5a70e 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SDRPlay.yaml @@ -39,8 +39,6 @@ SDRPlaySettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -70,13 +68,3 @@ SDRPlayReport: type: array items: $ref: "/doc/swagger/include/Structs.yaml#/FrequencyBand" - -SDRPlayActions: - description: SDRplay1 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml b/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml index 9858dc7a8..637b7834c 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/SoapySDR.yaml @@ -30,8 +30,6 @@ SoapySDRInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string antenna: type: string bandwidth: @@ -250,13 +248,3 @@ definitions: type: array items: type: string - -SoapySDRInputActions: - description: SoapySDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml b/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml index bb8499d37..01443cf61 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/TestSource.yaml @@ -38,8 +38,6 @@ TestSourceSettings: phaseImbalance: type: number format: float - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -49,13 +47,3 @@ TestSourceSettings: type: integer reverseAPIDeviceIndex: type: integer - -TestSourceActions: - description: TestSource - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml b/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml index 273bd22ac..11d462ef9 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Xtrx.yaml @@ -58,8 +58,6 @@ XtrxInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -87,16 +85,6 @@ XtrxInputReport: description: 1 if GPSDO is locked else 0 type: integer -XtrxInputActions: - description: XTRX - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - XtrxOutputSettings: description: XTRX properties: diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp index 74b7e8456..a29abe57b 100644 --- a/sdrbase/webapi/webapirequestmapper.cpp +++ b/sdrbase/webapi/webapirequestmapper.cpp @@ -3487,100 +3487,20 @@ bool WebAPIRequestMapper::getDeviceActions( if (deviceKeys.contains(deviceActionsKey) && deviceActionsJson[deviceActionsKey].isObject()) { - QJsonObject actionsJsonObject = deviceActionsJson[deviceActionsKey].toObject(); - deviceActionsKeys = actionsJsonObject.keys(); + // QJsonObject actionsJsonObject = deviceActionsJson[deviceActionsKey].toObject(); + // deviceActionsKeys = actionsJsonObject.keys(); - if (deviceActionsKey == "airspyActions") - { - deviceActions->setAirspyActions(new SWGSDRangel::SWGAirspyActions()); - deviceActions->getAirspyActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "airspyHFActions") - { - deviceActions->setAirspyHfActions(new SWGSDRangel::SWGAirspyHFActions()); - deviceActions->getAirspyHfActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "bladeRF1InputActions") - { - deviceActions->setBladeRf1InputActions(new SWGSDRangel::SWGBladeRF1InputActions()); - deviceActions->getBladeRf1InputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "fcdProActions") - { - deviceActions->setFcdProActions(new SWGSDRangel::SWGFCDProActions()); - deviceActions->getFcdProActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "fcdProPlusActions") - { - deviceActions->setFcdProPlusActions(new SWGSDRangel::SWGFCDProPlusActions()); - deviceActions->getFcdProPlusActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "hackRFInputActions") - { - deviceActions->setHackRfInputActions(new SWGSDRangel::SWGHackRFInputActions()); - deviceActions->getHackRfInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "kiwiSDRActions") - { - deviceActions->setKiwiSdrActions(new SWGSDRangel::SWGKiwiSDRActions()); - deviceActions->getKiwiSdrActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "limeSdrInputActions") - { - deviceActions->setLimeSdrInputActions(new SWGSDRangel::SWGLimeSdrInputActions()); - deviceActions->getLimeSdrInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "localInputActions") - { - deviceActions->setLocalInputActions(new SWGSDRangel::SWGLocalInputActions()); - deviceActions->getLocalInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "perseusActions") - { - deviceActions->setPerseusActions(new SWGSDRangel::SWGPerseusActions()); - deviceActions->getPerseusActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "plutoSdrInputActions") - { - deviceActions->setPlutoSdrInputActions(new SWGSDRangel::SWGPlutoSdrInputActions()); - deviceActions->getPlutoSdrInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "remoteInputActions") - { - deviceActions->setRemoteInputActions(new SWGSDRangel::SWGRemoteInputActions()); - deviceActions->getRemoteInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "rtlSdrActions") - { - deviceActions->setRtlSdrActions(new SWGSDRangel::SWGRtlSdrActions()); - deviceActions->getRtlSdrActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "sdrPlayActions") - { - deviceActions->setSdrPlayActions(new SWGSDRangel::SWGSDRPlayActions()); - deviceActions->getSdrPlayActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "soapySDRInputActions") - { - deviceActions->setSoapySdrInputActions(new SWGSDRangel::SWGSoapySDRInputActions()); - deviceActions->getSoapySdrInputActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "testSourceActions") - { - deviceActions->setTestSourceActions(new SWGSDRangel::SWGTestSourceActions()); - deviceActions->getTestSourceActions()->fromJsonObject(actionsJsonObject); - } - else if (deviceActionsKey == "xtrxInputActions") - { - deviceActions->setXtrxInputActions(new SWGSDRangel::SWGXtrxInputActions()); - deviceActions->getXtrxInputActions()->fromJsonObject(actionsJsonObject); - } - else - { + // if (deviceActionsKey == "xtrxInputActions") + // { + // deviceActions->setXtrxInputActions(new SWGSDRangel::SWGXtrxInputActions()); + // deviceActions->getXtrxInputActions()->fromJsonObject(actionsJsonObject); + // } + // else + // { return false; - } + // } - return true; + // return true; } else { @@ -3674,23 +3594,7 @@ void WebAPIRequestMapper::resetDeviceActions(SWGSDRangel::SWGDeviceActions& devi { deviceActions.cleanup(); deviceActions.setDeviceHwType(nullptr); - deviceActions.setAirspyActions(nullptr); - deviceActions.setAirspyHfActions(nullptr); - deviceActions.setBladeRf1InputActions(nullptr); - deviceActions.setFcdProActions(nullptr); - deviceActions.setFcdProPlusActions(nullptr); - deviceActions.setHackRfInputActions(nullptr); - deviceActions.setKiwiSdrActions(nullptr); - deviceActions.setLimeSdrInputActions(nullptr); - deviceActions.setLocalInputActions(nullptr); - deviceActions.setPerseusActions(nullptr); - deviceActions.setPlutoSdrInputActions(nullptr); - deviceActions.setRemoteInputActions(nullptr); - deviceActions.setRtlSdrActions(nullptr); - deviceActions.setSdrPlayActions(nullptr); - deviceActions.setSoapySdrInputActions(nullptr); - deviceActions.setTestSourceActions(nullptr); - deviceActions.setXtrxInputActions(nullptr); + // deviceActions.setXtrxInputActions(nullptr); } void WebAPIRequestMapper::resetChannelSettings(SWGSDRangel::SWGChannelSettings& channelSettings) @@ -3915,9 +3819,6 @@ void WebAPIRequestMapper::processSoapySDRSettings( if (deviceSettingsJson.contains("transverterDeltaFrequency")) { swgSoapySDRInputSettings->setTransverterDeltaFrequency(deviceSettingsJson["transverterDeltaFrequency"].toInt()); } - if (deviceSettingsJson.contains("fileRecordName")) { - swgSoapySDRInputSettings->setFileRecordName(new QString(deviceSettingsJson["fileRecordName"].toString())); - } if (deviceSettingsJson.contains("antenna")) { swgSoapySDRInputSettings->setAntenna(new QString(deviceSettingsJson["antenna"].toString())); } diff --git a/swagger/sdrangel/api/swagger/include/Airspy.yaml b/swagger/sdrangel/api/swagger/include/Airspy.yaml index 79049672a..db109df77 100644 --- a/swagger/sdrangel/api/swagger/include/Airspy.yaml +++ b/swagger/sdrangel/api/swagger/include/Airspy.yaml @@ -43,8 +43,6 @@ AirspySettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -62,13 +60,3 @@ AirspyReport: type: array items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/SampleRate" - -AirspyActions: - description: Airspy - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/AirspyHF.yaml b/swagger/sdrangel/api/swagger/include/AirspyHF.yaml index ddc1618b8..af53f5db2 100644 --- a/swagger/sdrangel/api/swagger/include/AirspyHF.yaml +++ b/swagger/sdrangel/api/swagger/include/AirspyHF.yaml @@ -23,8 +23,6 @@ AirspyHFSettings: * 1 - I then Q (straight) bandIndex: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -61,13 +59,3 @@ AirspyHFReport: type: array items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/SampleRate" - -AirspyHFActions: - description: AirspyHF - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/BladeRF1.yaml b/swagger/sdrangel/api/swagger/include/BladeRF1.yaml index d65e2fb60..1444272d8 100644 --- a/swagger/sdrangel/api/swagger/include/BladeRF1.yaml +++ b/swagger/sdrangel/api/swagger/include/BladeRF1.yaml @@ -34,8 +34,6 @@ BladeRF1InputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -46,16 +44,6 @@ BladeRF1InputSettings: reverseAPIDeviceIndex: type: integer -BladeRF1InputActions: - description: BladeRF1 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - BladeRF1OutputSettings: description: BladeRF1 properties: diff --git a/swagger/sdrangel/api/swagger/include/BladeRF2.yaml b/swagger/sdrangel/api/swagger/include/BladeRF2.yaml index 6bde2ccf7..962006d91 100644 --- a/swagger/sdrangel/api/swagger/include/BladeRF2.yaml +++ b/swagger/sdrangel/api/swagger/include/BladeRF2.yaml @@ -35,8 +35,6 @@ BladeRF2InputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -63,16 +61,6 @@ BladeRF2InputReport: items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/NamedEnum" -BladeRF2InputActions: - description: BladeRF2 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - BladeRF2OutputSettings: description: BladeRF2 properties: diff --git a/swagger/sdrangel/api/swagger/include/DeviceActions.yaml b/swagger/sdrangel/api/swagger/include/DeviceActions.yaml index 03cf6c2a9..ebf77b159 100644 --- a/swagger/sdrangel/api/swagger/include/DeviceActions.yaml +++ b/swagger/sdrangel/api/swagger/include/DeviceActions.yaml @@ -14,39 +14,3 @@ DeviceActions: originatorIndex: description: Optional for reverse API. This is the device set index from where the message comes from. type: integer - airspyActions: - $ref: "http://swgserver:8081/api/swagger/include/Airspy.yaml#/AirspyActions" - airspyHFActions: - $ref: "http://swgserver:8081/api/swagger/include/AirspyHF.yaml#/AirspyHFActions" - bladeRF1InputActions: - $ref: "http://swgserver:8081/api/swagger/include/BladeRF1.yaml#/BladeRF1InputActions" - bladeRF2InputActions: - $ref: "http://swgserver:8081/api/swagger/include/BladeRF2.yaml#/BladeRF2InputActions" - fcdProActions: - $ref: "http://swgserver:8081/api/swagger/include/FCDPro.yaml#/FCDProActions" - fcdProPlusActions: - $ref: "http://swgserver:8081/api/swagger/include/FCDProPlus.yaml#/FCDProPlusActions" - hackRFInputActions: - $ref: "http://swgserver:8081/api/swagger/include/HackRF.yaml#/HackRFInputActions" - kiwiSDRActions: - $ref: "http://swgserver:8081/api/swagger/include/KiwiSDR.yaml#/KiwiSDRActions" - limeSdrInputActions: - $ref: "http://swgserver:8081/api/swagger/include/LimeSdr.yaml#/LimeSdrInputActions" - localInputActions: - $ref: "http://swgserver:8081/api/swagger/include/LocalInput.yaml#/LocalInputActions" - perseusActions: - $ref: "http://swgserver:8081/api/swagger/include/Perseus.yaml#/PerseusActions" - plutoSdrInputActions: - $ref: "http://swgserver:8081/api/swagger/include/PlutoSdr.yaml#/PlutoSdrInputActions" - remoteInputActions: - $ref: "http://swgserver:8081/api/swagger/include/RemoteInput.yaml#/RemoteInputActions" - rtlSdrActions: - $ref: "http://swgserver:8081/api/swagger/include/RtlSdr.yaml#/RtlSdrActions" - sdrPlayActions: - $ref: "http://swgserver:8081/api/swagger/include/SDRPlay.yaml#/SDRPlayActions" - soapySDRInputActions: - $ref: "http://swgserver:8081/api/swagger/include/SoapySDR.yaml#/SoapySDRInputActions" - testSourceActions: - $ref: "http://swgserver:8081/api/swagger/include/TestSource.yaml#/TestSourceActions" - xtrxInputActions: - $ref: "http://swgserver:8081/api/swagger/include/Xtrx.yaml#/XtrxInputActions" diff --git a/swagger/sdrangel/api/swagger/include/FCDPro.yaml b/swagger/sdrangel/api/swagger/include/FCDPro.yaml index ab69fc7b5..0fbad784b 100644 --- a/swagger/sdrangel/api/swagger/include/FCDPro.yaml +++ b/swagger/sdrangel/api/swagger/include/FCDPro.yaml @@ -57,8 +57,6 @@ FCDProSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -68,13 +66,3 @@ FCDProSettings: type: integer reverseAPIDeviceIndex: type: integer - -FCDProActions: - description: FCDPro - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml b/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml index 9c57d23ce..6f2e0d3cb 100644 --- a/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml +++ b/swagger/sdrangel/api/swagger/include/FCDProPlus.yaml @@ -43,8 +43,6 @@ FCDProPlusSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -54,13 +52,3 @@ FCDProPlusSettings: type: integer reverseAPIDeviceIndex: type: integer - -FCDProPlusActions: - description: FCDProPlus - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/HackRF.yaml b/swagger/sdrangel/api/swagger/include/HackRF.yaml index 374c0bcb9..e9bb65b36 100644 --- a/swagger/sdrangel/api/swagger/include/HackRF.yaml +++ b/swagger/sdrangel/api/swagger/include/HackRF.yaml @@ -27,8 +27,6 @@ HackRFInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string transverterMode: type: integer transverterDeltaFrequency: @@ -50,16 +48,6 @@ HackRFInputSettings: reverseAPIDeviceIndex: type: integer -HackRFInputActions: - description: HackRF - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - HackRFOutputSettings: description: HackRF properties: diff --git a/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml b/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml index e93a06560..d02981dbe 100644 --- a/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml +++ b/swagger/sdrangel/api/swagger/include/KiwiSDR.yaml @@ -14,8 +14,6 @@ KiwiSDRSettings: serverAddress: description: Distant KiwiSDR instance URL or IPv4 address with port type: string - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -32,13 +30,3 @@ KiwiSDRReport: status: description: 0 for Idle, 1 for Connecting, 2 for Connected, 3 for Error, 4 for Disconnected type: integer - -KiwiSDRActions: - description: KiwiSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/LimeSdr.yaml b/swagger/sdrangel/api/swagger/include/LimeSdr.yaml index c122d419c..df2e22497 100644 --- a/swagger/sdrangel/api/swagger/include/LimeSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/LimeSdr.yaml @@ -51,8 +51,6 @@ LimeSdrInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string gpioDir: type: integer format: int8 @@ -156,16 +154,6 @@ LimeSdrInputReport: type: integer format: int8 -LimeSdrInputActions: - description: LimeSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - LimeSdrOutputReport: description: LimeSDR properties: diff --git a/swagger/sdrangel/api/swagger/include/LocalInput.yaml b/swagger/sdrangel/api/swagger/include/LocalInput.yaml index decc03bb9..cb4a0ef00 100644 --- a/swagger/sdrangel/api/swagger/include/LocalInput.yaml +++ b/swagger/sdrangel/api/swagger/include/LocalInput.yaml @@ -5,8 +5,6 @@ LocalInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -25,13 +23,3 @@ LocalInputReport: format: uint64 sampleRate: type: integer - -LocalInputActions: - description: LocalInput - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/Perseus.yaml b/swagger/sdrangel/api/swagger/include/Perseus.yaml index b8dc2ad78..73f75127a 100644 --- a/swagger/sdrangel/api/swagger/include/Perseus.yaml +++ b/swagger/sdrangel/api/swagger/include/Perseus.yaml @@ -30,8 +30,6 @@ PerseusSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string attenuator: description: Attenuator setting in Bels (0, 10, 20 30 dB) type: integer @@ -52,13 +50,3 @@ PerseusReport: type: array items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/SampleRate" - -PerseusActions: - description: Perseus - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml b/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml index 2111d0a52..0d59b1270 100644 --- a/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/PlutoSdr.yaml @@ -56,8 +56,6 @@ PlutoSdrInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -138,13 +136,3 @@ PlutoSdrOutputReport: temperature: type: number format: float - -PlutoSdrInputActions: - description: PlutoSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/RemoteInput.yaml b/swagger/sdrangel/api/swagger/include/RemoteInput.yaml index 832de6cd3..a35e4dbb3 100644 --- a/swagger/sdrangel/api/swagger/include/RemoteInput.yaml +++ b/swagger/sdrangel/api/swagger/include/RemoteInput.yaml @@ -13,8 +13,6 @@ RemoteInputSettings: type: integer iqCorrection: type: integer - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -45,13 +43,3 @@ RemoteInputReport: maxNbRecovery: description: Maximum number of recovery blocks used per frame type: integer - -RemoteInputActions: - description: RemoteInput - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/RtlSdr.yaml b/swagger/sdrangel/api/swagger/include/RtlSdr.yaml index d53c6d746..f66b0d360 100644 --- a/swagger/sdrangel/api/swagger/include/RtlSdr.yaml +++ b/swagger/sdrangel/api/swagger/include/RtlSdr.yaml @@ -45,8 +45,6 @@ RtlSdrSettings: Bias tee * 0 - inactive * 1 - active - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -64,13 +62,3 @@ RtlSdrReport: type: array items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/Gain" - -RtlSdrActions: - description: RTLSDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording diff --git a/swagger/sdrangel/api/swagger/include/SDRPlay.yaml b/swagger/sdrangel/api/swagger/include/SDRPlay.yaml index ff4f9fd74..f3fdcab02 100644 --- a/swagger/sdrangel/api/swagger/include/SDRPlay.yaml +++ b/swagger/sdrangel/api/swagger/include/SDRPlay.yaml @@ -39,8 +39,6 @@ SDRPlaySettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -70,13 +68,3 @@ SDRPlayReport: type: array items: $ref: "http://swgserver:8081/api/swagger/include/Structs.yaml#/FrequencyBand" - -SDRPlayActions: - description: SDRplay1 - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/SoapySDR.yaml b/swagger/sdrangel/api/swagger/include/SoapySDR.yaml index eaf88b30e..87e9357e0 100644 --- a/swagger/sdrangel/api/swagger/include/SoapySDR.yaml +++ b/swagger/sdrangel/api/swagger/include/SoapySDR.yaml @@ -30,8 +30,6 @@ SoapySDRInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string antenna: type: string bandwidth: @@ -250,13 +248,3 @@ definitions: type: array items: type: string - -SoapySDRInputActions: - description: SoapySDR - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/TestSource.yaml b/swagger/sdrangel/api/swagger/include/TestSource.yaml index bb8499d37..01443cf61 100644 --- a/swagger/sdrangel/api/swagger/include/TestSource.yaml +++ b/swagger/sdrangel/api/swagger/include/TestSource.yaml @@ -38,8 +38,6 @@ TestSourceSettings: phaseImbalance: type: number format: float - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -49,13 +47,3 @@ TestSourceSettings: type: integer reverseAPIDeviceIndex: type: integer - -TestSourceActions: - description: TestSource - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/include/Xtrx.yaml b/swagger/sdrangel/api/swagger/include/Xtrx.yaml index 273bd22ac..11d462ef9 100644 --- a/swagger/sdrangel/api/swagger/include/Xtrx.yaml +++ b/swagger/sdrangel/api/swagger/include/Xtrx.yaml @@ -58,8 +58,6 @@ XtrxInputSettings: IQ samples order * 0 - Q then I (swapped) * 1 - I then Q (straight) - fileRecordName: - type: string useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer @@ -87,16 +85,6 @@ XtrxInputReport: description: 1 if GPSDO is locked else 0 type: integer -XtrxInputActions: - description: XTRX - properties: - record: - type: integer - description: > - Record IQ stream action - * 0 - stop recording - * 1 - start recording - XtrxOutputSettings: description: XTRX properties: