diff --git a/Readme.md b/Readme.md
index 1701ebb35..cc27b7e91 100644
--- a/Readme.md
+++ b/Readme.md
@@ -103,7 +103,7 @@ HackRF is better used with a sampling rate of 4.8 MS/s and above. The 2.4 and 3.
LimeSDR
-⚠ The plugins should work normally when running as single instances. Support of many Rx and/or Tx instances running concurrently is considered experimental.
+
⚠ The plugins should work normally when running as single instances. Support of many Rx and/or Tx instances running concurrently is considered experimental.
You will need a minimal installation of LimeSuite. Presently version 17.12.1 should be used with its corresponding firmware (v4) and gateware (v2.12) installed in the LimeSDR device:
diff --git a/fcdlib/fcdtraits.cpp b/fcdlib/fcdtraits.cpp
index ca2d0cd70..afa7157cd 100644
--- a/fcdlib/fcdtraits.cpp
+++ b/fcdlib/fcdtraits.cpp
@@ -22,8 +22,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 = "3.8.0";
-const char *fcd_traits::pluginVersion = "3.8.0";
+const char *fcd_traits::pluginVersion = "3.8.6";
+const char *fcd_traits::pluginVersion = "3.8.6";
const int64_t fcd_traits::loLowLimitFreq = 64000000L;
const int64_t fcd_traits::loLowLimitFreq = 150000L;
diff --git a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp
index 66dfd818e..6e89f8eaa 100644
--- a/plugins/samplesink/bladerfoutput/bladerfoutput.cpp
+++ b/plugins/samplesink/bladerfoutput/bladerfoutput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -509,6 +508,7 @@ int BladerfOutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -518,8 +518,6 @@ int BladerfOutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/filesink/filesinkoutput.cpp b/plugins/samplesink/filesink/filesinkoutput.cpp
index 80497575b..b94535a34 100644
--- a/plugins/samplesink/filesink/filesinkoutput.cpp
+++ b/plugins/samplesink/filesink/filesinkoutput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -289,6 +288,7 @@ int FileSinkOutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -298,8 +298,6 @@ int FileSinkOutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/filesink/filesinkplugin.cpp b/plugins/samplesink/filesink/filesinkplugin.cpp
index 5b8ef58f3..f00477966 100644
--- a/plugins/samplesink/filesink/filesinkplugin.cpp
+++ b/plugins/samplesink/filesink/filesinkplugin.cpp
@@ -25,7 +25,7 @@
const PluginDescriptor FileSinkPlugin::m_pluginDescriptor = {
QString("File sink output"),
- QString("3.8.0"),
+ QString("3.8.6"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
diff --git a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp
index dd2bcd71f..e613bc793 100644
--- a/plugins/samplesink/hackrfoutput/hackrfoutput.cpp
+++ b/plugins/samplesink/hackrfoutput/hackrfoutput.cpp
@@ -18,7 +18,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -436,6 +435,7 @@ int HackRFOutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -445,8 +445,6 @@ int HackRFOutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/limesdroutput/limesdroutput.cpp b/plugins/samplesink/limesdroutput/limesdroutput.cpp
index b4c273d2b..e18334b8c 100644
--- a/plugins/samplesink/limesdroutput/limesdroutput.cpp
+++ b/plugins/samplesink/limesdroutput/limesdroutput.cpp
@@ -18,7 +18,6 @@
#include
#include
#include
-#include
#include "lime/LimeSuite.h"
#include "SWGDeviceSettings.h"
@@ -1116,6 +1115,7 @@ int LimeSDROutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -1125,7 +1125,5 @@ int LimeSDROutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp
index 85ab01258..4029c295f 100644
--- a/plugins/samplesink/plutosdroutput/plutosdroutput.cpp
+++ b/plugins/samplesink/plutosdroutput/plutosdroutput.cpp
@@ -15,7 +15,6 @@
///////////////////////////////////////////////////////////////////////////////////
#include
-#include
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
@@ -514,6 +513,7 @@ int PlutoSDROutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -523,8 +523,6 @@ int PlutoSDROutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp
index 2db6bd872..db4e775c2 100644
--- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp
+++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -311,6 +310,7 @@ int SDRdaemonSinkOutput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -320,8 +320,6 @@ int SDRdaemonSinkOutput::webapiRun(
m_guiMessageQueue->push(messagetoGui);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp
index 65e330910..ba335f1f3 100644
--- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp
+++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp
@@ -26,7 +26,7 @@
const PluginDescriptor SDRdaemonSinkPlugin::m_pluginDescriptor = {
QString("SDRdaemon sink output"),
- QString("3.8.0"),
+ QString("3.8.6"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
diff --git a/plugins/samplesource/airspy/airspyinput.cpp b/plugins/samplesource/airspy/airspyinput.cpp
index e6b10d2a6..1e7c82610 100644
--- a/plugins/samplesource/airspy/airspyinput.cpp
+++ b/plugins/samplesource/airspy/airspyinput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -583,6 +582,7 @@ int AirspyInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -592,8 +592,6 @@ int AirspyInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/airspy/airspyplugin.cpp b/plugins/samplesource/airspy/airspyplugin.cpp
index 43fe367a9..0fc7d5003 100644
--- a/plugins/samplesource/airspy/airspyplugin.cpp
+++ b/plugins/samplesource/airspy/airspyplugin.cpp
@@ -27,7 +27,7 @@
const PluginDescriptor AirspyPlugin::m_pluginDescriptor = {
QString("Airspy Input"),
- QString("3.8.0"),
+ QString("3.8.6"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
diff --git a/plugins/samplesource/bladerfinput/bladerfinput.cpp b/plugins/samplesource/bladerfinput/bladerfinput.cpp
index f8e82f5a8..1169e2663 100644
--- a/plugins/samplesource/bladerfinput/bladerfinput.cpp
+++ b/plugins/samplesource/bladerfinput/bladerfinput.cpp
@@ -18,7 +18,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -581,6 +580,7 @@ int BladerfInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -590,8 +590,6 @@ int BladerfInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/fcdpro/fcdproinput.cpp b/plugins/samplesource/fcdpro/fcdproinput.cpp
index 90230f652..e13f0d2ec 100644
--- a/plugins/samplesource/fcdpro/fcdproinput.cpp
+++ b/plugins/samplesource/fcdpro/fcdproinput.cpp
@@ -20,7 +20,6 @@
#include
#include
#include
-#include
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
@@ -715,6 +714,7 @@ int FCDProInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -724,7 +724,5 @@ int FCDProInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp
index dd232ccc7..b17c5ec64 100644
--- a/plugins/samplesource/fcdproplus/fcdproplusinput.cpp
+++ b/plugins/samplesource/fcdproplus/fcdproplusinput.cpp
@@ -19,7 +19,6 @@
#include
#include
#include
-#include
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
@@ -426,6 +425,7 @@ int FCDProPlusInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -435,8 +435,6 @@ int FCDProPlusInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/filesource/filesourceinput.cpp b/plugins/samplesource/filesource/filesourceinput.cpp
index e6189f363..23f0643d4 100644
--- a/plugins/samplesource/filesource/filesourceinput.cpp
+++ b/plugins/samplesource/filesource/filesourceinput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -340,6 +339,7 @@ int FileSourceInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -349,8 +349,6 @@ int FileSourceInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/hackrfinput/hackrfinput.cpp b/plugins/samplesource/hackrfinput/hackrfinput.cpp
index 1ad13ef60..304f99a22 100644
--- a/plugins/samplesource/hackrfinput/hackrfinput.cpp
+++ b/plugins/samplesource/hackrfinput/hackrfinput.cpp
@@ -18,7 +18,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -525,6 +524,7 @@ int HackRFInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -534,8 +534,6 @@ int HackRFInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/limesdrinput/limesdrinput.cpp b/plugins/samplesource/limesdrinput/limesdrinput.cpp
index d8809076f..fc9353df4 100644
--- a/plugins/samplesource/limesdrinput/limesdrinput.cpp
+++ b/plugins/samplesource/limesdrinput/limesdrinput.cpp
@@ -18,7 +18,6 @@
#include
#include
#include
-#include
#include "lime/LimeSuite.h"
#include "SWGDeviceSettings.h"
@@ -1281,6 +1280,7 @@ int LimeSDRInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -1290,8 +1290,6 @@ int LimeSDRInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp
index a00125204..44a903b27 100644
--- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp
+++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp
@@ -15,7 +15,6 @@
///////////////////////////////////////////////////////////////////////////////////
#include
-#include
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
@@ -601,6 +600,7 @@ int PlutoSDRInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -610,8 +610,6 @@ int PlutoSDRInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
index bc1c52978..57e43ce9c 100644
--- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
+++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp
@@ -18,7 +18,6 @@
#include
#include
#include
-#include
#include "SWGDeviceSettings.h"
#include "SWGRtlSdrSettings.h"
@@ -564,6 +563,7 @@ int RTLSDRInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -573,7 +573,5 @@ int RTLSDRInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp
index 86bfb4c5b..9b4ed86d0 100644
--- a/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp
+++ b/plugins/samplesource/sdrdaemonsource/sdrdaemonsourceinput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -245,6 +244,7 @@ int SDRdaemonSourceInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -254,8 +254,6 @@ int SDRdaemonSourceInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/plugins/samplesource/sdrplay/sdrplayinput.cpp b/plugins/samplesource/sdrplay/sdrplayinput.cpp
index 32a4af40a..f63a91c63 100644
--- a/plugins/samplesource/sdrplay/sdrplayinput.cpp
+++ b/plugins/samplesource/sdrplay/sdrplayinput.cpp
@@ -16,7 +16,6 @@
#include
#include
-#include
#include
#include "SWGDeviceSettings.h"
@@ -605,6 +604,7 @@ int SDRPlayInput::webapiRun(
SWGSDRangel::SWGDeviceState& response,
QString& errorMessage __attribute__((unused)))
{
+ m_deviceAPI->getDeviceEngineStateStr(*response.getState());
MsgStartStop *message = MsgStartStop::create(run);
m_inputMessageQueue.push(message);
@@ -614,8 +614,6 @@ int SDRPlayInput::webapiRun(
m_guiMessageQueue->push(msgToGUI);
}
- usleep(100000);
- m_deviceAPI->getDeviceEngineStateStr(*response.getState());
return 200;
}
diff --git a/sdrbase/resources/index.html b/sdrbase/resources/index.html
index 90bfb1166..66a116e0d 100644
--- a/sdrbase/resources/index.html
+++ b/sdrbase/resources/index.html
@@ -4682,7 +4682,7 @@ except ApiException as e:
Responses
- Status: 200 - On success return current state
+ Status: 200 - On success return state before change
-
@@ -4697,7 +4697,7 @@ except ApiException as e: