From 7d57e774212a6f26ba8b8dc5ae3bae0ef157aaea Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 1 Mar 2020 10:15:19 +0100 Subject: [PATCH] LoRa demodulator: GUI and server flavors handling --- plugins/channelrx/CMakeLists.txt | 2 +- plugins/channelrx/demodlora/CMakeLists.txt | 34 +++++++++++++++++----- plugins/channelrx/demodlora/loraplugin.cpp | 11 +++++++ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/plugins/channelrx/CMakeLists.txt b/plugins/channelrx/CMakeLists.txt index 60f72906d..040371539 100644 --- a/plugins/channelrx/CMakeLists.txt +++ b/plugins/channelrx/CMakeLists.txt @@ -8,6 +8,7 @@ add_subdirectory(udpsink) add_subdirectory(demodwfm) add_subdirectory(localsink) add_subdirectory(freqtracker) +add_subdirectory(demodlora) if(LIBDSDCC_FOUND AND LIBMBE_FOUND) add_subdirectory(demoddsd) @@ -22,7 +23,6 @@ if (CODEC2_FOUND) endif(CODEC2_FOUND) if(NOT SERVER_MODE) - add_subdirectory(demodlora) add_subdirectory(chanalyzer) add_subdirectory(demodatv) diff --git a/plugins/channelrx/demodlora/CMakeLists.txt b/plugins/channelrx/demodlora/CMakeLists.txt index f4716c269..4e84ae514 100644 --- a/plugins/channelrx/demodlora/CMakeLists.txt +++ b/plugins/channelrx/demodlora/CMakeLists.txt @@ -2,7 +2,6 @@ project(lora) set(lora_SOURCES lorademod.cpp - lorademodgui.cpp lorademodsettings.cpp lorademodsink.cpp lorademodbaseband.cpp @@ -12,12 +11,10 @@ set(lora_SOURCES lorademoddecoderascii.cpp lorademoddecoderlora.cpp lorademodmsg.cpp - lorademodgui.ui ) set(lora_HEADERS lorademod.h - lorademodgui.h lorademodsettings.h lorademodsink.h lorademodbaseband.h @@ -33,16 +30,37 @@ include_directories( ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ) -add_library(demodlora SHARED +if(NOT SERVER_MODE) + set(lora_SOURCES + ${lora_SOURCES} + lorademodgui.cpp + lorademodgui.ui + ) + set(lora_HEADERS + ${lora_HEADERS} + lorademodgui.h + ) + set(TARGET_NAME demodlora) + set(TARGET_LIB "Qt5::Widgets") + set(TARGET_LIB_GUI "sdrgui") + set(INSTALL_FOLDER ${INSTALL_PLUGINS_DIR}) +else() + set(TARGET_NAME demodlorasrv) + set(TARGET_LIB "") + set(TARGET_LIB_GUI "") + set(INSTALL_FOLDER ${INSTALL_PLUGINSSRV_DIR}) +endif() + +add_library(${TARGET_NAME} SHARED ${lora_SOURCES} ) -target_link_libraries(demodlora +target_link_libraries(${TARGET_NAME} Qt5::Core - Qt5::Widgets + ${TARGET_LIB} sdrbase - sdrgui + ${TARGET_LIB_GUI} swagger ) -install(TARGETS demodlora DESTINATION ${INSTALL_PLUGINS_DIR}) +install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) diff --git a/plugins/channelrx/demodlora/loraplugin.cpp b/plugins/channelrx/demodlora/loraplugin.cpp index 7cd8ffba0..0ed5c1cf0 100644 --- a/plugins/channelrx/demodlora/loraplugin.cpp +++ b/plugins/channelrx/demodlora/loraplugin.cpp @@ -19,7 +19,9 @@ #include "plugin/pluginapi.h" #include "loraplugin.h" +#ifndef SERVER_MODE #include "lorademodgui.h" +#endif #include "lorademod.h" const PluginDescriptor LoRaPlugin::m_pluginDescriptor = { @@ -51,10 +53,19 @@ void LoRaPlugin::initPlugin(PluginAPI* pluginAPI) m_pluginAPI->registerRxChannel(LoRaDemod::m_channelIdURI, LoRaDemod::m_channelId, this); } +#ifdef SERVER_MODE +PluginInstanceGUI* LoRaPlugin::createRxChannelGUI( + DeviceUISet *deviceUISet, + BasebandSampleSink *rxChannel) const +{ + return 0; +} +#else PluginInstanceGUI* LoRaPlugin::createRxChannelGUI(DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel) const { return LoRaDemodGUI::create(m_pluginAPI, deviceUISet, rxChannel); } +#endif BasebandSampleSink* LoRaPlugin::createRxChannelBS(DeviceAPI *deviceAPI) const {