Server: added PlutoSDR output plugin

This commit is contained in:
f4exb 2018-05-29 22:03:47 +02:00
parent d8b4af6dbf
commit f30717bafa
6 changed files with 93 additions and 6 deletions

View File

@ -32,10 +32,10 @@ if (BUILD_DEBIAN)
add_subdirectory(bladerfoutput)
add_subdirectory(hackrfoutput)
add_subdirectory(limesdroutput)
add_subdirectory(plutosdroutput)
if (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsink)
endif (LIBNANOMSG_FOUND)
add_subdirectory(plutosdroutput)
endif (BUILD_DEBIAN)
add_subdirectory(filesink)

View File

@ -23,6 +23,7 @@
#include <dsp/devicesamplesink.h>
#include "util/message.h"
#include "plutosdr/deviceplutosdrshared.h"
#include "plutosdr/deviceplutosdrbox.h"
#include "plutosdroutputsettings.h"
class DeviceSinkAPI;

View File

@ -17,13 +17,14 @@
#ifndef PLUGINS_SAMPLESOURCE_PLUTOSDROUTPUT_PLUTOSDROUTPUTGUI_H_
#define PLUGINS_SAMPLESOURCE_PLUTOSDROUTPUT_PLUTOSDROUTPUTGUI_H_
#include <plugin/plugininstancegui.h>
#include <QObject>
#include <QWidget>
#include <QTimer>
#include "util/messagequeue.h"
#include "plugin/plugininstancegui.h"
#include "plutosdroutput.h"
#include "plutosdroutputsettings.h"
class DeviceSampleSink;

View File

@ -15,20 +15,22 @@
///////////////////////////////////////////////////////////////////////////////////
#include <QtPlugin>
#include <QAction>
#include "plugin/pluginapi.h"
#include "plutosdr/deviceplutosdr.h"
#include "plutosdroutputgui.h"
#ifdef SERVER_MODE
#include "plutosdroutput.h"
#else
#include "plutosdroutputgui.h"
#endif
#include "plutosdroutputplugin.h"
class DeviceSourceAPI;
const PluginDescriptor PlutoSDROutputPlugin::m_pluginDescriptor = {
QString("PlutoSDR Output"),
QString("3.14.5"),
QString("4.0.0"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,
@ -85,6 +87,15 @@ PluginInterface::SamplingDevices PlutoSDROutputPlugin::enumSampleSinks()
return result;
}
#ifdef SERVER_MODE
PluginInstanceGUI* PlutoSDROutputPlugin::createSampleSinkPluginInstanceGUI(
const QString& sinkId __attribute((unused)),
QWidget **widget __attribute((unused)),
DeviceUISet *deviceUISet __attribute((unused)))
{
return 0;
}
#else
PluginInstanceGUI* PlutoSDROutputPlugin::createSampleSinkPluginInstanceGUI(
const QString& sinkId,
QWidget **widget,
@ -101,6 +112,7 @@ PluginInstanceGUI* PlutoSDROutputPlugin::createSampleSinkPluginInstanceGUI(
return 0;
}
}
#endif
DeviceSampleSink *PlutoSDROutputPlugin::createSampleSinkPluginInstanceOutput(const QString& sinkId, DeviceSinkAPI *deviceAPI)
{

View File

@ -17,9 +17,16 @@ if(LIBUSB_FOUND AND LIMESUITE_FOUND)
add_subdirectory(limesdroutput)
endif(LIBUSB_FOUND AND LIMESUITE_FOUND)
find_package(LibIIO)
if(LIBUSB_FOUND AND LIBIIO_FOUND)
add_subdirectory(plutosdroutput)
endif(LIBUSB_FOUND AND LIBIIO_FOUND)
if (BUILD_DEBIAN)
add_subdirectory(limesdroutput)
add_subdirectory(bladerfoutput)
add_subdirectory(hackrfoutput)
add_subdirectory(limesdroutput)
add_subdirectory(bladerfoutput)
endif (BUILD_DEBIAN)
add_subdirectory(filesink)

View File

@ -0,0 +1,66 @@
project(plutosdroutput)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(PLUGIN_PREFIX "../../../plugins/samplesink/plutosdroutput")
set(plutosdroutput_SOURCES
${PLUGIN_PREFIX}/plutosdroutput.cpp
${PLUGIN_PREFIX}/plutosdroutputplugin.cpp
${PLUGIN_PREFIX}/plutosdroutputsettings.cpp
${PLUGIN_PREFIX}/plutosdroutputthread.cpp
)
set(plutosdroutput_HEADERS
${PLUGIN_PREFIX}/plutosdroutput.h
${PLUGIN_PREFIX}/plutosdroutputplugin.h
${PLUGIN_PREFIX}/plutosdroutputsettings.h
${PLUGIN_PREFIX}/plutosdroutputthread.h
)
if (BUILD_DEBIAN)
include_directories(
.
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CMAKE_SOURCE_DIR}/devices
${LIBIIOSRC}
)
else (BUILD_DEBIAN)
include_directories(
.
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CMAKE_SOURCE_DIR}/devices
${LIBIIO_INCLUDE_DIR}
)
endif (BUILD_DEBIAN)
add_definitions(-DQT_PLUGIN)
add_definitions(-DQT_SHARED)
add_library(outputplutosdrsrv SHARED
${plutosdroutput_SOURCES}
${plutosdroutput_HEADERS_MOC}
)
if (BUILD_DEBIAN)
target_link_libraries(outputplutosdrsrv
${QT_LIBRARIES}
iio
sdrbase
swagger
plutosdrdevice
)
else (BUILD_DEBIAN)
target_link_libraries(outputplutosdrsrv
${QT_LIBRARIES}
${LIBIIO_LIBRARIES}
sdrbase
swagger
plutosdrdevice
)
endif (BUILD_DEBIAN)
qt5_use_modules(outputplutosdrsrv Core)
install(TARGETS outputplutosdrsrv DESTINATION lib/pluginssrv/samplesink)