aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bladerf/bladerf_common.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bladerf/bladerf_common.cc')
-rw-r--r--lib/bladerf/bladerf_common.cc63
1 files changed, 31 insertions, 32 deletions
diff --git a/lib/bladerf/bladerf_common.cc b/lib/bladerf/bladerf_common.cc
index c10cc2e..0548027 100644
--- a/lib/bladerf/bladerf_common.cc
+++ b/lib/bladerf/bladerf_common.cc
@@ -35,10 +35,8 @@
#include <string>
#include <boost/assign.hpp>
-#include <boost/foreach.hpp>
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
-#include <boost/weak_ptr.hpp>
#include "bladerf_common.h"
@@ -50,8 +48,8 @@ static size_t const STREAM_TIMEOUT_MS = 3000;
using namespace boost::assign;
-boost::mutex bladerf_common::_devs_mutex;
-std::list<boost::weak_ptr<struct bladerf>> bladerf_common::_devs;
+std::mutex bladerf_common::_devs_mutex;
+std::list<std::weak_ptr<struct bladerf> > bladerf_common::_devs;
/* name for system-wide gain (which is not its own libbladeRF gain stage) */
static const char *SYSTEM_GAIN_NAME = "system";
@@ -135,7 +133,7 @@ size_t num_streams(bladerf_channel_layout layout)
* Public methods
******************************************************************************/
bladerf_common::bladerf_common() :
- _dev(NULL),
+ _dev(std::shared_ptr<struct bladerf>()),
_pfx("[bladeRF common] "),
_failures(0),
_num_buffers(NUM_BUFFERS),
@@ -414,7 +412,7 @@ size_t bladerf_common::get_max_channels(bladerf_direction direction)
#ifdef BLADERF_COMPATIBILITY
return 1;
#else
- return bladerf_get_channel_count(_dev.get(), (BLADERF_TX == direction));
+ return bladerf_get_channel_count(_dev.get(), direction);
#endif
}
@@ -499,7 +497,7 @@ int bladerf_common::channel2rfport(bladerf_channel ch)
bladerf_channel bladerf_common::chan2channel(bladerf_direction direction,
size_t chan)
{
- BOOST_FOREACH(bladerf_channel_map::value_type &i, _chanmap) {
+ for (bladerf_channel_map::value_type &i : _chanmap) {
bladerf_channel ch = i.first;
if (
(i.second == (int)chan) && (
@@ -526,7 +524,7 @@ osmosdr::meta_range_t bladerf_common::sample_rates(bladerf_channel ch)
#else
int status;
- bladerf_range brf_sample_rates;
+ const bladerf_range *brf_sample_rates;
status = bladerf_get_sample_rate_range(_dev.get(), ch, &brf_sample_rates);
if (status != 0) {
@@ -534,15 +532,15 @@ osmosdr::meta_range_t bladerf_common::sample_rates(bladerf_channel ch)
}
/* Suggest a variety of sample rates */
- sample_rates += osmosdr::range_t(brf_sample_rates.min,
- brf_sample_rates.max / 4.0,
- brf_sample_rates.max / 16.0);
- sample_rates += osmosdr::range_t(brf_sample_rates.max / 4.0,
- brf_sample_rates.max / 2.0,
- brf_sample_rates.max / 8.0);
- sample_rates += osmosdr::range_t(brf_sample_rates.max / 2.0,
- brf_sample_rates.max,
- brf_sample_rates.max / 4.0);
+ sample_rates += osmosdr::range_t(brf_sample_rates->min,
+ brf_sample_rates->max / 4.0,
+ brf_sample_rates->max / 16.0);
+ sample_rates += osmosdr::range_t(brf_sample_rates->max / 4.0,
+ brf_sample_rates->max / 2.0,
+ brf_sample_rates->max / 8.0);
+ sample_rates += osmosdr::range_t(brf_sample_rates->max / 2.0,
+ brf_sample_rates->max,
+ brf_sample_rates->max / 4.0);
#endif
return sample_rates;
@@ -587,16 +585,16 @@ osmosdr::freq_range_t bladerf_common::freq_range(bladerf_channel ch)
#else
int status;
- struct bladerf_range range;
+ const struct bladerf_range *range;
status = bladerf_get_frequency_range(_dev.get(), ch, &range);
if (status != 0) {
BLADERF_THROW_STATUS(status, "bladerf_get_frequency_range failed");
};
- return osmosdr::freq_range_t(static_cast<double>(range.min),
- static_cast<double>(range.max),
- static_cast<double>(range.step));
+ return osmosdr::freq_range_t(static_cast<double>(range->min),
+ static_cast<double>(range->max),
+ static_cast<double>(range->step));
#endif
}
@@ -643,19 +641,19 @@ osmosdr::freq_range_t bladerf_common::filter_bandwidths(bladerf_channel ch)
0.75, 0.875, 1.25, 1.375, 1.5, 1.92, 2.5,
2.75, 3, 3.5, 4.375, 5, 6, 7, 10, 14;
- BOOST_FOREACH( double half_bw, half_bandwidths )
+ for (double half_bw : half_bandwidths)
bandwidths += osmosdr::range_t( half_bw * 2e6 );
#else
int status;
- bladerf_range range;
+ const bladerf_range *range;
status = bladerf_get_bandwidth_range(_dev.get(), ch, &range);
if (status != 0) {
BLADERF_THROW_STATUS(status, "bladerf_get_bandwidth_range failed");
}
- bandwidths += osmosdr::range_t(range.min, range.max, range.step);
+ bandwidths += osmosdr::range_t(range->min, range->max, range->step);
#endif
return bandwidths;
@@ -717,6 +715,7 @@ std::vector<std::string> bladerf_common::get_gain_names(bladerf_channel ch)
for (int i = 0; i < count; ++i) {
char *tmp = gain_names[i];
+ printf("FOUND %s\n", tmp);
names += std::string(tmp);
};
#endif
@@ -747,7 +746,7 @@ osmosdr::gain_range_t bladerf_common::get_gain_range(std::string const &name,
#else
int status;
- struct bladerf_range range;
+ const bladerf_range *range;
if (name == SYSTEM_GAIN_NAME) {
status = bladerf_get_gain_range(_dev.get(), ch, &range);
@@ -760,7 +759,7 @@ osmosdr::gain_range_t bladerf_common::get_gain_range(std::string const &name,
"range for stage '%s'") % name));
}
- return osmosdr::gain_range_t(range.min, range.max, range.step);
+ return osmosdr::gain_range_t(range->min, range->max, range->step);
#endif
}
@@ -1078,7 +1077,7 @@ bladerf_sptr bladerf_common::open(std::string const &device_name)
struct bladerf *raw_dev = NULL;
struct bladerf_devinfo devinfo;
- boost::unique_lock<boost::mutex> lock(_devs_mutex);
+ std::lock_guard<std::mutex> lock(_devs_mutex);
/* Initialize the information used to identify the desired device
* to all wildcard (i.e., "any device") values */
@@ -1108,15 +1107,15 @@ bladerf_sptr bladerf_common::open(std::string const &device_name)
/* Add the device handle to our cache */
bladerf_sptr dev = bladerf_sptr(raw_dev, bladerf_common::close);
- _devs.push_back(static_cast<boost::weak_ptr<struct bladerf>>(dev));
+ _devs.push_back(static_cast<std::weak_ptr<struct bladerf> >(dev));
return dev;
}
void bladerf_common::close(void *dev)
{
- boost::unique_lock<boost::mutex> lock(_devs_mutex);
- std::list<boost::weak_ptr<struct bladerf>>::iterator it(_devs.begin());
+ std::lock_guard<std::mutex> lock(_devs_mutex);
+ std::list<std::weak_ptr<struct bladerf> >::iterator it(_devs.begin());
/* Prune expired entries from device cache */
while (it != _devs.end()) {
@@ -1136,7 +1135,7 @@ bladerf_sptr bladerf_common::get_cached_device(struct bladerf_devinfo devinfo)
int status;
struct bladerf_devinfo other_devinfo;
- BOOST_FOREACH(boost::weak_ptr<struct bladerf> dev, _devs) {
+ for (std::weak_ptr<struct bladerf> dev : _devs) {
status = bladerf_get_devinfo(bladerf_sptr(dev).get(), &other_devinfo);
if (status < 0) {
BLADERF_THROW_STATUS(status, "Failed to get devinfo for cached device");
@@ -1199,7 +1198,7 @@ void bladerf_common::print_device_info()
bool bladerf_common::is_antenna_valid(bladerf_direction dir,
const std::string &antenna)
{
- BOOST_FOREACH(std::string ant, get_antennas(dir)) {
+ for (std::string ant : get_antennas(dir)) {
if (antenna == ant) {
return true;
}