Skip to content
Snippets Groups Projects
Commit 23c93bdc authored by Sergey Musikhin's avatar Sergey Musikhin
Browse files

source ctor

parent 6dfb953f
No related branches found
No related tags found
No related merge requests found
......@@ -32,6 +32,8 @@ add_library(gnuradio-bladeRF SHARED ${bladeRF_sources})
target_link_libraries(gnuradio-bladeRF ${gr_bladerf_libs})
target_include_directories(gnuradio-bladeRF
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${Boost_INCLUDE_DIRS}
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
PUBLIC $<INSTALL_INTERFACE:include>
)
......
......@@ -30,7 +30,7 @@
#include <libbladeRF.h>
#include "osmosdr/ranges.h"
#include "bladeRF/ranges.h"
#include "arg_helpers.h"
#include "bladerf_compat.h"
......
......@@ -9,6 +9,8 @@
#include "source_impl.h"
#include "arg_helpers.h"
namespace gr {
namespace bladeRF {
......@@ -25,10 +27,33 @@ namespace gr {
gr::io_signature::make(0,0,0),
args_to_io_signature(args))
{
//in osmocom args for make source is strings,
//therefore all params is strings
//todo: change to vector<bladerf_devinfo>
auto dev_list = bladerf_source_c::get_devices();
if(dev_list.size() == 0)
throw std::runtime_error("No supported devices found "
"(check the connection and/or udev rules).");
dev_ = make_bladerf_source_c( dev_list[0] ); //todo: get by id from block args
for (size_t i = 0; i < dev_->get_num_channels(); i++) {
#ifdef HAVE_IQBALANCE
gr::iqbalance::optimize_c::sptr iq_opt = gr::iqbalance::optimize_c::make( 0 );
gr::iqbalance::fix_cc::sptr iq_fix = gr::iqbalance::fix_cc::make();
//connect(self(), 0, d_firstblock, 0);
// connect other blocks
//connect(d_lastblock, 0, self(), 0);
connect(block, i, iq_fix, 0);
connect(iq_fix, 0, self(), channel++);
connect(block, i, iq_opt, 0);
msg_connect(iq_opt, "iqbal_corr", iq_fix, "iqbal_corr");
_iq_opt.push_back( iq_opt.get() );
_iq_fix.push_back( iq_fix.get() );
#else
connect(dev_, i, self(), i);
#endif
}
}
/*
......@@ -38,9 +63,9 @@ namespace gr {
{
}
size_t source_impl::get_num_channels() override
size_t source_impl::get_num_channels()
{
return 0;
}
......
......@@ -14,7 +14,7 @@
/* BINDTOOL_GEN_AUTOMATIC(0) */
/* BINDTOOL_USE_PYGCCXML(0) */
/* BINDTOOL_HEADER_FILE(source.h) */
/* BINDTOOL_HEADER_FILE_HASH(66db645c2a179be37e33d0fa63c60b38) */
/* BINDTOOL_HEADER_FILE_HASH(0b4f4e854a322e9c5fccafa1563ff0cb) */
/***********************************************************************************/
#include <pybind11/complex.h>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment