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.cc199
1 files changed, 111 insertions, 88 deletions
diff --git a/lib/source_impl.cc b/lib/source_impl.cc
index 8f2028b..f9a7e64 100644
--- a/lib/source_impl.cc
+++ b/lib/source_impl.cc
@@ -32,6 +32,10 @@
#include <gnuradio/blocks/throttle.h>
#include <gnuradio/constants.h>
+#ifdef ENABLE_OSMOSDR
+#include <osmosdr_src_c.h>
+#endif
+
#ifdef ENABLE_FCD
#include <fcd_source_c.h>
#endif
@@ -52,6 +56,10 @@
#include <uhd_source_c.h>
#endif
+#ifdef ENABLE_MIRI
+#include <miri_source_c.h>
+#endif
+
#ifdef ENABLE_SDRPLAY
#include <sdrplay_source_c.h>
#endif
@@ -72,10 +80,6 @@
#include <airspy_source_c.h>
#endif
-#ifdef ENABLE_AIRSPYHF
-#include <airspyhf_source_c.h>
-#endif
-
#ifdef ENABLE_SOAPY
#include <soapy_source_c.h>
#endif
@@ -88,10 +92,6 @@
#include <freesrp_source_c.h>
#endif
-#ifdef ENABLE_XTRX
-#include <xtrx_source_c.h>
-#endif
-
#include "arg_helpers.h"
#include "source_impl.h"
@@ -124,6 +124,9 @@ source_impl::source_impl( const std::string &args )
#ifdef ENABLE_FILE
dev_types.push_back("file");
#endif
+#ifdef ENABLE_OSMOSDR
+ dev_types.push_back("osmosdr");
+#endif
#ifdef ENABLE_FCD
dev_types.push_back("fcd");
#endif
@@ -136,6 +139,9 @@ source_impl::source_impl( const std::string &args )
#ifdef ENABLE_UHD
dev_types.push_back("uhd");
#endif
+#ifdef ENABLE_MIRI
+ dev_types.push_back("miri");
+#endif
#ifdef ENABLE_SDRPLAY
dev_types.push_back("sdrplay");
#endif
@@ -151,9 +157,6 @@ source_impl::source_impl( const std::string &args )
#ifdef ENABLE_AIRSPY
dev_types.push_back("airspy");
#endif
-#ifdef ENABLE_AIRSPYHF
- dev_types.push_back("airspyhf");
-#endif
#ifdef ENABLE_SOAPY
dev_types.push_back("soapy");
#endif
@@ -163,14 +166,11 @@ source_impl::source_impl( const std::string &args )
#ifdef ENABLE_FREESRP
dev_types.push_back("freesrp");
#endif
-#ifdef ENABLE_XTRX
- dev_types.push_back("xtrx");
-#endif
std::cerr << "gr-osmosdr "
<< GR_OSMOSDR_VERSION << " (" << GR_OSMOSDR_LIBVER << ") "
<< "gnuradio " << gr::version() << std::endl;
std::cerr << "built-in source types: ";
- for (std::string dev_type : dev_types)
+ BOOST_FOREACH(std::string dev_type, dev_types)
std::cerr << dev_type << " ";
std::cerr << std::endl;
@@ -181,9 +181,9 @@ source_impl::source_impl( const std::string &args )
dev_types.push_back("cloudiq");
#endif
- for (std::string arg : arg_list) {
+ BOOST_FOREACH(std::string arg, arg_list) {
dict_t dict = params_to_dict(arg);
- for (std::string dev_type : dev_types) {
+ BOOST_FOREACH(std::string dev_type, dev_types) {
if ( dict.count( dev_type ) ) {
device_specified = true;
break;
@@ -191,63 +191,76 @@ source_impl::source_impl( const std::string &args )
}
}
+ bool force_arg = false;
+ int force_val = 0;
+
+ if (arg_list.size() <= 2) {
+ BOOST_FOREACH(std::string arg, arg_list) {
+ if ( arg.find( "numchan=" ) == 0 ) {
+ pair_t pair = param_to_pair( arg );
+ force_arg = true;
+ force_val = boost::lexical_cast<size_t>( pair.second );
+ }
+ }
+ }
+
if ( ! device_specified ) {
std::vector< std::string > dev_list;
+#ifdef ENABLE_OSMOSDR
+ BOOST_FOREACH( std::string dev, osmosdr_src_c::get_devices() )
+ dev_list.push_back( dev );
+#endif
#ifdef ENABLE_FCD
- for (std::string dev : fcd_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, fcd_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_RTL
- for (std::string dev : rtl_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, rtl_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_UHD
- for (std::string dev : uhd_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, uhd_source_c::get_devices() )
+ dev_list.push_back( dev );
+#endif
+#ifdef ENABLE_MIRI
+ BOOST_FOREACH( std::string dev, miri_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_SDRPLAY
- for (std::string dev : sdrplay_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, sdrplay_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_BLADERF
- for (std::string dev : bladerf_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, bladerf_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_RFSPACE
- for (std::string dev : rfspace_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, rfspace_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_HACKRF
- for (std::string dev : hackrf_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, hackrf_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_AIRSPY
- for (std::string dev : airspy_source_c::get_devices())
- dev_list.push_back( dev );
-#endif
-#ifdef ENABLE_AIRSPYHF
- for (std::string dev : airspyhf_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, airspy_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_SOAPY
- for (std::string dev : soapy_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, soapy_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_REDPITAYA
- for (std::string dev : redpitaya_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, redpitaya_source_c::get_devices() )
dev_list.push_back( dev );
#endif
#ifdef ENABLE_FREESRP
- for (std::string dev : freesrp_source_c::get_devices())
- dev_list.push_back( dev );
-#endif
-#ifdef ENABLE_XTRX
- for (std::string dev : xtrx_source_c::get_devices())
+ BOOST_FOREACH( std::string dev, freesrp_source_c::get_devices() )
dev_list.push_back( dev );
#endif
// std::cerr << std::endl;
-// for (std::string dev : dev_list)
+// BOOST_FOREACH( std::string dev, dev_list )
// std::cerr << "'" << dev << "'" << std::endl;
if ( dev_list.size() )
@@ -256,17 +269,27 @@ source_impl::source_impl( const std::string &args )
throw std::runtime_error("No supported devices found (check the connection and/or udev rules).");
}
- for (std::string arg : arg_list) {
+ BOOST_FOREACH(std::string arg, arg_list) {
+
+ if(force_arg)
+ arg += ",nchan=" + std::to_string(force_val);
dict_t dict = params_to_dict(arg);
// std::cerr << std::endl;
-// for (dict_t::value_type &entry : dict)
+// BOOST_FOREACH( dict_t::value_type &entry, dict )
// std::cerr << "'" << entry.first << "' = '" << entry.second << "'" << std::endl;
source_iface *iface = NULL;
gr::basic_block_sptr block;
+#ifdef ENABLE_OSMOSDR
+ if ( dict.count("osmosdr") ) {
+ osmosdr_src_c_sptr src = osmosdr_make_src_c( arg );
+ block = src; iface = src.get();
+ }
+#endif
+
#ifdef ENABLE_FCD
if ( dict.count("fcd") ) {
fcd_source_c_sptr src = make_fcd_source_c( arg );
@@ -302,6 +325,13 @@ source_impl::source_impl( const std::string &args )
}
#endif
+#ifdef ENABLE_MIRI
+ if ( dict.count("miri") ) {
+ miri_source_c_sptr src = make_miri_source_c( arg );
+ block = src; iface = src.get();
+ }
+#endif
+
#ifdef ENABLE_SDRPLAY
if ( dict.count("sdrplay") ) {
sdrplay_source_c_sptr src = make_sdrplay_source_c( arg );
@@ -341,13 +371,6 @@ source_impl::source_impl( const std::string &args )
}
#endif
-#ifdef ENABLE_AIRSPYHF
- if ( dict.count("airspyhf") ) {
- airspyhf_source_c_sptr src = make_airspyhf_source_c( arg );
- block = src; iface = src.get();
- }
-#endif
-
#ifdef ENABLE_SOAPY
if ( dict.count("soapy") ) {
soapy_source_c_sptr src = make_soapy_source_c( arg );
@@ -369,13 +392,6 @@ source_impl::source_impl( const std::string &args )
}
#endif
-#ifdef ENABLE_XTRX
- if ( dict.count("xtrx") ) {
- xtrx_source_c_sptr src = make_xtrx_source_c( arg );
- block = src; iface = src.get();
- }
-#endif
-
if ( iface != NULL && long(block.get()) != 0 ) {
_devs.push_back( iface );
@@ -403,13 +419,20 @@ source_impl::source_impl( const std::string &args )
if (!_devs.size())
throw std::runtime_error("No devices specified via device arguments.");
+
+ /* Populate the _gain and _gain_mode arrays with the hardware state */
+ BOOST_FOREACH( source_iface *dev, _devs )
+ for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++) {
+ _gain_mode[dev_chan] = dev->get_gain_mode(dev_chan);
+ _gain[dev_chan] = dev->get_gain(dev_chan);
+ }
}
size_t source_impl::get_num_channels()
{
size_t channels = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
channels += dev->get_num_channels();
return channels;
@@ -418,7 +441,7 @@ size_t source_impl::get_num_channels()
bool source_impl::seek( long seek_point, int whence, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->seek( seek_point, whence, dev_chan );
@@ -448,12 +471,12 @@ double source_impl::set_sample_rate(double rate)
if (_devs.empty())
throw std::runtime_error(NO_DEVICES_MSG);
#endif
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
sample_rate = dev->set_sample_rate(rate);
#ifdef HAVE_IQBALANCE
size_t channel = 0;
- for (source_iface *dev : _devs) {
+ BOOST_FOREACH( source_iface *dev, _devs ) {
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++) {
if ( channel < _iq_opt.size() ) {
gr::iqbalance::optimize_c *opt = _iq_opt[channel];
@@ -472,7 +495,7 @@ double source_impl::set_sample_rate(double rate)
_sample_rate = sample_rate;
}
- return _sample_rate;
+ return sample_rate;
}
double source_impl::get_sample_rate()
@@ -491,7 +514,7 @@ double source_impl::get_sample_rate()
osmosdr::freq_range_t source_impl::get_freq_range( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_freq_range( dev_chan );
@@ -502,7 +525,7 @@ osmosdr::freq_range_t source_impl::get_freq_range( size_t chan )
double source_impl::set_center_freq( double freq, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _center_freq[ chan ] != freq ) {
@@ -517,7 +540,7 @@ double source_impl::set_center_freq( double freq, size_t chan )
double source_impl::get_center_freq( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_center_freq( dev_chan );
@@ -528,7 +551,7 @@ double source_impl::get_center_freq( size_t chan )
double source_impl::set_freq_corr( double ppm, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _freq_corr[ chan ] != ppm ) {
@@ -543,7 +566,7 @@ double source_impl::set_freq_corr( double ppm, size_t chan )
double source_impl::get_freq_corr( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_freq_corr( dev_chan );
@@ -554,7 +577,7 @@ double source_impl::get_freq_corr( size_t chan )
std::vector<std::string> source_impl::get_gain_names( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain_names( dev_chan );
@@ -565,7 +588,7 @@ std::vector<std::string> source_impl::get_gain_names( size_t chan )
osmosdr::gain_range_t source_impl::get_gain_range( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain_range( dev_chan );
@@ -576,7 +599,7 @@ osmosdr::gain_range_t source_impl::get_gain_range( size_t chan )
osmosdr::gain_range_t source_impl::get_gain_range( const std::string & name, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain_range( name, dev_chan );
@@ -587,7 +610,7 @@ osmosdr::gain_range_t source_impl::get_gain_range( const std::string & name, siz
bool source_impl::set_gain_mode( bool automatic, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _gain_mode[ chan ] != automatic ) {
@@ -605,7 +628,7 @@ bool source_impl::set_gain_mode( bool automatic, size_t chan )
bool source_impl::get_gain_mode( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain_mode( dev_chan );
@@ -616,7 +639,7 @@ bool source_impl::get_gain_mode( size_t chan )
double source_impl::set_gain( double gain, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _gain[ chan ] != gain ) {
@@ -631,7 +654,7 @@ double source_impl::set_gain( double gain, size_t chan )
double source_impl::set_gain( double gain, const std::string & name, size_t chan)
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->set_gain( gain, name, dev_chan );
@@ -642,7 +665,7 @@ double source_impl::set_gain( double gain, const std::string & name, size_t chan
double source_impl::get_gain( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain( dev_chan );
@@ -653,7 +676,7 @@ double source_impl::get_gain( size_t chan )
double source_impl::get_gain( const std::string & name, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_gain( name, dev_chan );
@@ -664,7 +687,7 @@ double source_impl::get_gain( const std::string & name, size_t chan )
double source_impl::set_if_gain( double gain, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _if_gain[ chan ] != gain ) {
@@ -679,7 +702,7 @@ double source_impl::set_if_gain( double gain, size_t chan )
double source_impl::set_bb_gain( double gain, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _bb_gain[ chan ] != gain ) {
@@ -694,7 +717,7 @@ double source_impl::set_bb_gain( double gain, size_t chan )
std::vector< std::string > source_impl::get_antennas( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_antennas( dev_chan );
@@ -705,7 +728,7 @@ std::vector< std::string > source_impl::get_antennas( size_t chan )
std::string source_impl::set_antenna( const std::string & antenna, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _antenna[ chan ] != antenna ) {
@@ -720,7 +743,7 @@ std::string source_impl::set_antenna( const std::string & antenna, size_t chan )
std::string source_impl::get_antenna( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_antenna( dev_chan );
@@ -731,7 +754,7 @@ std::string source_impl::get_antenna( size_t chan )
void source_impl::set_dc_offset_mode( int mode, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
dev->set_dc_offset_mode( mode, dev_chan );
@@ -740,7 +763,7 @@ void source_impl::set_dc_offset_mode( int mode, size_t chan )
void source_impl::set_dc_offset( const std::complex<double> &offset, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
dev->set_dc_offset( offset, dev_chan );
@@ -750,7 +773,7 @@ void source_impl::set_iq_balance_mode( int mode, size_t chan )
{
size_t channel = 0;
#ifdef HAVE_IQBALANCE
- for (source_iface *dev : _devs) {
+ BOOST_FOREACH( source_iface *dev, _devs ) {
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++) {
if ( chan == channel++ ) {
if ( chan < _iq_opt.size() && chan < _iq_fix.size() ) {
@@ -780,7 +803,7 @@ void source_impl::set_iq_balance_mode( int mode, size_t chan )
}
}
#else
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->set_iq_balance_mode( mode, dev_chan );
@@ -791,7 +814,7 @@ void source_impl::set_iq_balance( const std::complex<double> &balance, size_t ch
{
size_t channel = 0;
#ifdef HAVE_IQBALANCE
- for (source_iface *dev : _devs) {
+ BOOST_FOREACH( source_iface *dev, _devs ) {
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++) {
if ( chan == channel++ ) {
if ( chan < _iq_opt.size() && chan < _iq_fix.size() ) {
@@ -807,7 +830,7 @@ void source_impl::set_iq_balance( const std::complex<double> &balance, size_t ch
}
}
#else
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->set_iq_balance( balance, dev_chan );
@@ -817,7 +840,7 @@ void source_impl::set_iq_balance( const std::complex<double> &balance, size_t ch
double source_impl::set_bandwidth( double bandwidth, size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ ) {
if ( _bandwidth[ chan ] != bandwidth || 0.0f == bandwidth ) {
@@ -832,7 +855,7 @@ double source_impl::set_bandwidth( double bandwidth, size_t chan )
double source_impl::get_bandwidth( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_bandwidth( dev_chan );
@@ -843,7 +866,7 @@ double source_impl::get_bandwidth( size_t chan )
osmosdr::freq_range_t source_impl::get_bandwidth_range( size_t chan )
{
size_t channel = 0;
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
for (size_t dev_chan = 0; dev_chan < dev->get_num_channels(); dev_chan++)
if ( chan == channel++ )
return dev->get_bandwidth_range( dev_chan );
@@ -936,7 +959,7 @@ void source_impl::set_time_now(const osmosdr::time_spec_t &time_spec, size_t mbo
void source_impl::set_time_next_pps(const osmosdr::time_spec_t &time_spec)
{
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
{
dev->set_time_next_pps( time_spec );
}
@@ -944,7 +967,7 @@ void source_impl::set_time_next_pps(const osmosdr::time_spec_t &time_spec)
void source_impl::set_time_unknown_pps(const osmosdr::time_spec_t &time_spec)
{
- for (source_iface *dev : _devs)
+ BOOST_FOREACH( source_iface *dev, _devs )
{
dev->set_time_unknown_pps( time_spec );
}