aboutsummaryrefslogtreecommitdiffstats
path: root/lib/source_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/source_impl.cc')
-rw-r--r--lib/source_impl.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/source_impl.cc b/lib/source_impl.cc
index e4c9be6..b9fead3 100644
--- a/lib/source_impl.cc
+++ b/lib/source_impl.cc
@@ -76,6 +76,10 @@
#include <airspy_source_c.h>
#endif
+#ifdef ENABLE_SOAPY
+#include <soapy_source_c.h>
+#endif
+
#include "arg_helpers.h"
#include "source_impl.h"
@@ -142,6 +146,9 @@ source_impl::source_impl( const std::string &args )
#ifdef ENABLE_AIRSPY
dev_types.push_back("airspy");
#endif
+#ifdef ENABLE_SOAPY
+ dev_types.push_back("soapy");
+#endif
std::cerr << "gr-osmosdr "
<< GR_OSMOSDR_VERSION << " (" << GR_OSMOSDR_LIBVER << ") "
<< "gnuradio " << gr::version() << std::endl;
@@ -206,6 +213,10 @@ source_impl::source_impl( const std::string &args )
BOOST_FOREACH( std::string dev, airspy_source_c::get_devices() )
dev_list.push_back( dev );
#endif
+#ifdef ENABLE_SOAPY
+ BOOST_FOREACH( std::string dev, soapy_source_c::get_devices() )
+ dev_list.push_back( dev );
+#endif
// std::cerr << std::endl;
// BOOST_FOREACH( std::string dev, dev_list )
@@ -308,6 +319,13 @@ source_impl::source_impl( const std::string &args )
}
#endif
+#ifdef ENABLE_SOAPY
+ if ( dict.count("soapy") ) {
+ soapy_source_c_sptr src = make_soapy_source_c( arg );
+ block = src; iface = src.get();
+ }
+#endif
+
if ( iface != NULL && long(block.get()) != 0 ) {
_devs.push_back( iface );