mirror of
https://github.com/fairwaves/UHD-Fairwaves.git
synced 2025-10-23 07:42:00 +00:00
host: use std::shared_ptr for UHD objects
UHD 4 moved to C++11 smart pointers instead of Boost ones. Follow this to allow building with UHD 4. This change is limited to symbols interacting with libuhd.
Ref: 1fe98e8701
This commit is contained in:
committed by
Alexander Chemeris
parent
845b9029df
commit
1be7c63ac2
@@ -34,7 +34,7 @@
|
|||||||
class umtrx_fifo_ctrl : public uhd::wb_iface, public uhd::spi_iface
|
class umtrx_fifo_ctrl : public uhd::wb_iface, public uhd::spi_iface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef boost::shared_ptr<umtrx_fifo_ctrl> sptr;
|
typedef std::shared_ptr<umtrx_fifo_ctrl> sptr;
|
||||||
|
|
||||||
//! Make a new FIFO control object
|
//! Make a new FIFO control object
|
||||||
static sptr make(uhd::transport::zero_copy_if::sptr xport, const boost::uint32_t sid, const size_t window_size);
|
static sptr make(uhd::transport::zero_copy_if::sptr xport, const boost::uint32_t sid, const size_t window_size);
|
||||||
|
@@ -34,7 +34,7 @@
|
|||||||
*/
|
*/
|
||||||
class umtrx_iface : public uhd::wb_iface, public uhd::spi_iface, public uhd::i2c_iface{
|
class umtrx_iface : public uhd::wb_iface, public uhd::spi_iface, public uhd::i2c_iface{
|
||||||
public:
|
public:
|
||||||
typedef boost::shared_ptr<umtrx_iface> sptr;
|
typedef std::shared_ptr<umtrx_iface> sptr;
|
||||||
/*!
|
/*!
|
||||||
* Make a new umtrx interface with the control transport.
|
* Make a new umtrx interface with the control transport.
|
||||||
* \param ctrl_transport the udp transport object
|
* \param ctrl_transport the udp transport object
|
||||||
|
@@ -236,8 +236,8 @@ private:
|
|||||||
void client_query_handle1(const boost::property_tree::ptree &request, boost::property_tree::ptree &response);
|
void client_query_handle1(const boost::property_tree::ptree &request, boost::property_tree::ptree &response);
|
||||||
|
|
||||||
//streaming
|
//streaming
|
||||||
std::vector<boost::weak_ptr<uhd::rx_streamer> > _rx_streamers;
|
std::vector<std::weak_ptr<uhd::rx_streamer> > _rx_streamers;
|
||||||
std::vector<boost::weak_ptr<uhd::tx_streamer> > _tx_streamers;
|
std::vector<std::weak_ptr<uhd::tx_streamer> > _tx_streamers;
|
||||||
boost::mutex _setupMutex;
|
boost::mutex _setupMutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -39,7 +39,6 @@ static const size_t DEFAULT_NUM_FRAMES = 32;
|
|||||||
using namespace uhd;
|
using namespace uhd;
|
||||||
using namespace uhd::usrp;
|
using namespace uhd::usrp;
|
||||||
using namespace uhd::transport;
|
using namespace uhd::transport;
|
||||||
namespace asio = boost::asio;
|
|
||||||
namespace pt = boost::posix_time;
|
namespace pt = boost::posix_time;
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
@@ -110,8 +109,8 @@ void umtrx_impl::update_rates(void)
|
|||||||
|
|
||||||
void umtrx_impl::update_rx_samp_rate(const size_t dsp, const double rate)
|
void umtrx_impl::update_rx_samp_rate(const size_t dsp, const double rate)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<sph::recv_packet_streamer> my_streamer =
|
std::shared_ptr<sph::recv_packet_streamer> my_streamer =
|
||||||
boost::dynamic_pointer_cast<sph::recv_packet_streamer>(_rx_streamers[dsp].lock());
|
std::dynamic_pointer_cast<sph::recv_packet_streamer>(_rx_streamers[dsp].lock());
|
||||||
if (not my_streamer) return;
|
if (not my_streamer) return;
|
||||||
|
|
||||||
my_streamer->set_samp_rate(rate);
|
my_streamer->set_samp_rate(rate);
|
||||||
@@ -121,8 +120,8 @@ void umtrx_impl::update_rx_samp_rate(const size_t dsp, const double rate)
|
|||||||
|
|
||||||
void umtrx_impl::update_tx_samp_rate(const size_t dsp, const double rate)
|
void umtrx_impl::update_tx_samp_rate(const size_t dsp, const double rate)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<sph::send_packet_streamer> my_streamer =
|
std::shared_ptr<sph::send_packet_streamer> my_streamer =
|
||||||
boost::dynamic_pointer_cast<sph::send_packet_streamer>(_tx_streamers[dsp].lock());
|
std::dynamic_pointer_cast<sph::send_packet_streamer>(_tx_streamers[dsp].lock());
|
||||||
if (not my_streamer) return;
|
if (not my_streamer) return;
|
||||||
|
|
||||||
my_streamer->set_samp_rate(rate);
|
my_streamer->set_samp_rate(rate);
|
||||||
@@ -135,15 +134,15 @@ void umtrx_impl::update_tick_rate(const double rate)
|
|||||||
//update the tick rate on all existing streamers -> thread safe
|
//update the tick rate on all existing streamers -> thread safe
|
||||||
for (size_t i = 0; i < _rx_streamers.size(); i++)
|
for (size_t i = 0; i < _rx_streamers.size(); i++)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<sph::recv_packet_streamer> my_streamer =
|
std::shared_ptr<sph::recv_packet_streamer> my_streamer =
|
||||||
boost::dynamic_pointer_cast<sph::recv_packet_streamer>(_rx_streamers[i].lock());
|
std::dynamic_pointer_cast<sph::recv_packet_streamer>(_rx_streamers[i].lock());
|
||||||
if (not my_streamer) continue;
|
if (not my_streamer) continue;
|
||||||
my_streamer->set_tick_rate(rate);
|
my_streamer->set_tick_rate(rate);
|
||||||
}
|
}
|
||||||
for (size_t i = 0; i < _tx_streamers.size(); i++)
|
for (size_t i = 0; i < _tx_streamers.size(); i++)
|
||||||
{
|
{
|
||||||
boost::shared_ptr<sph::send_packet_streamer> my_streamer =
|
std::shared_ptr<sph::send_packet_streamer> my_streamer =
|
||||||
boost::dynamic_pointer_cast<sph::send_packet_streamer>(_tx_streamers[i].lock());
|
std::dynamic_pointer_cast<sph::send_packet_streamer>(_tx_streamers[i].lock());
|
||||||
if (not my_streamer) continue;
|
if (not my_streamer) continue;
|
||||||
my_streamer->set_tick_rate(rate);
|
my_streamer->set_tick_rate(rate);
|
||||||
}
|
}
|
||||||
@@ -233,7 +232,7 @@ uhd::rx_streamer::sptr umtrx_impl::get_rx_stream(const uhd::stream_args_t &args_
|
|||||||
const size_t spp = unsigned(args.args.cast<double>("spp", bpp/bpi));
|
const size_t spp = unsigned(args.args.cast<double>("spp", bpp/bpi));
|
||||||
|
|
||||||
//make the new streamer given the samples per packet
|
//make the new streamer given the samples per packet
|
||||||
boost::shared_ptr<sph::recv_packet_streamer> my_streamer = boost::make_shared<sph::recv_packet_streamer>(spp);
|
std::shared_ptr<sph::recv_packet_streamer> my_streamer = std::make_shared<sph::recv_packet_streamer>(spp);
|
||||||
|
|
||||||
//init some streamer stuff
|
//init some streamer stuff
|
||||||
my_streamer->resize(args.channels.size());
|
my_streamer->resize(args.channels.size());
|
||||||
@@ -459,7 +458,7 @@ uhd::tx_streamer::sptr umtrx_impl::get_tx_stream(const uhd::stream_args_t &args_
|
|||||||
const size_t spp = bpp/convert::get_bytes_per_item(args.otw_format);
|
const size_t spp = bpp/convert::get_bytes_per_item(args.otw_format);
|
||||||
|
|
||||||
//make the new streamer given the samples per packet
|
//make the new streamer given the samples per packet
|
||||||
boost::shared_ptr<sph::send_packet_streamer> my_streamer = boost::make_shared<sph::send_packet_streamer>(spp);
|
std::shared_ptr<sph::send_packet_streamer> my_streamer = std::make_shared<sph::send_packet_streamer>(spp);
|
||||||
|
|
||||||
//init some streamer stuff
|
//init some streamer stuff
|
||||||
my_streamer->resize(args.channels.size());
|
my_streamer->resize(args.channels.size());
|
||||||
|
Reference in New Issue
Block a user