switch to gr-funcube

due to deprecation, see https://osmocom.org/issues/5445
pull/2/head
Eric Wild 6 months ago
parent 6b11b02947
commit 6a22db7568
  1. 2
      CMakeLists.txt
  2. 3
      README
  3. 27
      cmake/Modules/FindGnuradioFCDPP.cmake
  4. 27
      cmake/Modules/FindGnuradioFuncube.cmake
  5. 2
      lib/CMakeLists.txt
  6. 4
      lib/fcd/CMakeLists.txt
  7. 8
      lib/fcd/fcd_source_c.cc
  8. 10
      lib/fcd/fcd_source_c.h

@ -171,7 +171,7 @@ find_package(LibHackRF)
find_package(LibAIRSPY)
find_package(LibAIRSPYHF)
find_package(LibbladeRF)
find_package(GnuradioFCDPP)
find_package(GnuradioFuncube)
find_package(SoapySDR NO_MODULE)
find_package(LibFreeSRP)
find_package(LibXTRX)

@ -1,8 +1,7 @@
While primarily being developed for the OsmoSDR hardware, this block
as well supports:
* FUNcube Dongle through libgnuradio-fcd
* FUNcube Dongle Pro+ through gr-fcdproplus
* FUNcube Dongle / Pro+ through gr-funcube
* RTL2832U based DVB-T dongles through librtlsdr
* RTL-TCP spectrum server (see librtlsdr project)
* SDRplay RSP through SDRplay API library

@ -1,27 +0,0 @@
if(NOT GNURADIO_FCDPP_FOUND)
pkg_check_modules (GNURADIO_FCDPP_PKG libgnuradio-fcdproplus)
find_path(GNURADIO_FCDPP_INCLUDE_DIRS NAMES fcdproplus/api.h
PATHS
${GNURADIO_FCDPP_PKG_INCLUDE_DIRS}
/usr/include
/usr/local/include
)
find_library(GNURADIO_FCDPP_LIBRARIES NAMES gnuradio-fcdproplus
PATHS
${GNURADIO_FCDPP_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)
if(GNURADIO_FCDPP_INCLUDE_DIRS AND GNURADIO_FCDPP_LIBRARIES)
set(GNURADIO_FCDPP_FOUND TRUE CACHE INTERNAL "gnuradio-fcdproplus found")
message(STATUS "Found gnuradio-fcdproplus: ${GNURADIO_FCDPP_INCLUDE_DIRS}, ${GNURADIO_FCDPP_LIBRARIES}")
else(GNURADIO_FCDPP_INCLUDE_DIRS AND GNURADIO_FCDPP_LIBRARIES)
set(GNURADIO_FCDPP_FOUND FALSE CACHE INTERNAL "gnuradio-fcdproplus found")
message(STATUS "gnuradio-fcdproplus not found.")
endif(GNURADIO_FCDPP_INCLUDE_DIRS AND GNURADIO_FCDPP_LIBRARIES)
mark_as_advanced(GNURADIO_FCDPP_LIBRARIES GNURADIO_FCDPP_INCLUDE_DIRS)
endif(NOT GNURADIO_FCDPP_FOUND)

@ -0,0 +1,27 @@
if(NOT GNURADIO_FUNCUBE_FOUND)
pkg_check_modules (GNURADIO_FUNCUBE_PKG libgnuradio-funcube)
find_path(GNURADIO_FUNCUBE_INCLUDE_DIRS NAMES funcube/api.h
PATHS
${GNURADIO_FUNCUBE_PKG_INCLUDE_DIRS}
/usr/include
/usr/local/include
)
find_library(GNURADIO_FUNCUBE_LIBRARIES NAMES gnuradio-funcube
PATHS
${GNURADIO_FUNCUBE_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)
if(GNURADIO_FUNCUBE_INCLUDE_DIRS AND GNURADIO_FUNCUBE_LIBRARIES)
set(GNURADIO_FUNCUBE_FOUND TRUE CACHE INTERNAL "gnuradio-funcube found")
message(STATUS "Found gnuradio-funcube: ${GNURADIO_FUNCUBE_INCLUDE_DIRS}, ${GNURADIO_FUNCUBE_LIBRARIES}")
else(GNURADIO_FUNCUBE_INCLUDE_DIRS AND GNURADIO_FUNCUBE_LIBRARIES)
set(GNURADIO_FUNCUBE_FOUND FALSE CACHE INTERNAL "gnuradio-funcube found")
message(STATUS "gnuradio-funcube not found.")
endif(GNURADIO_FUNCUBE_INCLUDE_DIRS AND GNURADIO_FUNCUBE_LIBRARIES)
mark_as_advanced(GNURADIO_FUNCUBE_LIBRARIES GNURADIO_FUNCUBE_INCLUDE_DIRS)
endif(NOT GNURADIO_FUNCUBE_FOUND)

@ -138,7 +138,7 @@ endif(ENABLE_IQBALANCE)
########################################################################
# Setup FCD component
########################################################################
GR_REGISTER_COMPONENT("FUNcube Dongle" ENABLE_FCD GNURADIO_FCDPP_FOUND)
GR_REGISTER_COMPONENT("FUNcube Dongle" ENABLE_FCD GNURADIO_FUNCUBE_FOUND)
if(ENABLE_FCD)
add_subdirectory(fcd)
endif(ENABLE_FCD)

@ -23,11 +23,11 @@
target_include_directories(gnuradio-osmosdr PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${GNURADIO_FCDPP_INCLUDE_DIRS}
${GNURADIO_FUNCUBE_INCLUDE_DIRS}
)
APPEND_LIB_LIST(
${GNURADIO_FCDPP_LIBRARIES}
${GNURADIO_FUNCUBE_LIBRARIES}
)
list(APPEND gr_osmosdr_srcs

@ -143,7 +143,7 @@ fcd_source_c::fcd_source_c(const std::string &args) :
if ( FUNCUBE_V1 == _type )
{
_src_v1 = gr::fcdproplus::fcd::make( dev_name );
_src_v1 = gr::funcube::fcd::make( dev_name );
connect( _src_v1, 0, self(), 0 );
set_gain( 20, "LNA" );
@ -152,7 +152,7 @@ fcd_source_c::fcd_source_c(const std::string &args) :
if ( FUNCUBE_V2 == _type )
{
_src_v2 = gr::fcdproplus::fcdproplus::make( dev_name );
_src_v2 = gr::funcube::fcdpp::make( dev_name );
connect( _src_v2, 0, self(), 0 );
set_gain( 1, "LNA" );
@ -237,10 +237,10 @@ osmosdr::freq_range_t fcd_source_c::get_freq_range( size_t chan )
double fcd_source_c::set_center_freq( double freq, size_t chan )
{
if ( FUNCUBE_V1 == _type )
_src_v1->set_freq( float(freq) );
_src_v1->set_freq( freq );
if ( FUNCUBE_V2 == _type )
_src_v2->set_freq( float(freq) );
_src_v2->set_freq( freq );
_freq = freq;

@ -22,8 +22,8 @@
#include <gnuradio/hier_block2.h>
#include <fcdproplus/fcd.h>
#include <fcdproplus/fcdproplus.h>
#include <funcube/fcd.h>
#include <funcube/fcdpp.h>
#include "source_iface.h"
@ -81,10 +81,10 @@ public:
private:
dongle_type _type;
gr::fcdproplus::fcd::sptr _src_v1;
gr::fcdproplus::fcdproplus::sptr _src_v2;
gr::funcube::fcd::sptr _src_v1;
gr::funcube::fcdpp::sptr _src_v2;
double _lna_gain, _mix_gain, _bb_gain, _freq;
int _correct;
double _correct;
};
#endif // FCD_SOURCE_C_H

Loading…
Cancel
Save