]> git.pld-linux.org Git - packages/uhd.git/blobdiff - uhd-boost.patch
- updated link patch (fixes tests build)
[packages/uhd.git] / uhd-boost.patch
diff --git a/uhd-boost.patch b/uhd-boost.patch
deleted file mode 100644 (file)
index f0d55d5..0000000
+++ /dev/null
@@ -1,875 +0,0 @@
---- uhd-3.15.0.0/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp.orig      2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp   2020-07-10 08:20:19.298928111 +0200
-@@ -12,8 +12,8 @@
- #include <uhdlib/rfnoc/wb_iface_adapter.hpp>
- #include <uhdlib/usrp/cores/dma_fifo_core_3000.hpp>
- #include <boost/format.hpp>
--#include <boost/make_shared.hpp>
- #include <boost/thread/mutex.hpp>
-+#include <functional>
- using namespace uhd;
- using namespace uhd::rfnoc;
-@@ -56,17 +56,17 @@
-                 }
-             }
-             _tree->access<int>(get_arg_path("base_addr/value", i))
--                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
-+                .add_coerced_subscriber(std::bind(&dma_fifo_block_ctrl_impl::resize,
-                     this,
--                    _1,
--                    boost::ref(_perifs[i].depth),
-+                    std::placeholders::_1,
-+                    std::ref(_perifs[i].depth),
-                     i))
-                 .set(_perifs[i].base_addr);
-             _tree->access<int>(get_arg_path("depth/value", i))
--                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
-+                .add_coerced_subscriber(std::bind(&dma_fifo_block_ctrl_impl::resize,
-                     this,
--                    boost::ref(_perifs[i].base_addr),
--                    _1,
-+                    std::ref(_perifs[i].base_addr),
-+                    std::placeholders::_1,
-                     i))
-                 .set(_perifs[i].depth);
-         }
---- uhd-3.15.0.0/host/lib/usrp/multi_usrp.cpp.orig     2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/multi_usrp.cpp  2020-07-10 08:21:23.055249380 +0200
-@@ -24,6 +24,7 @@
- #include <boost/format.hpp>
- #include <boost/algorithm/string.hpp>
- #include <algorithm>
-+#include <functional>
- #include <cmath>
- #include <bitset>
- #include <chrono>
-@@ -214,9 +215,9 @@
- static gain_fcns_t make_gain_fcns_from_subtree(property_tree::sptr subtree){
-     gain_fcns_t gain_fcns;
--    gain_fcns.get_range = boost::bind(&get_gain_range, subtree);
--    gain_fcns.get_value = boost::bind(&get_gain_value, subtree);
--    gain_fcns.set_value = boost::bind(&set_gain_value, subtree, _1);
-+    gain_fcns.get_range = std::bind(&get_gain_range, subtree);
-+    gain_fcns.get_value = std::bind(&get_gain_value, subtree);
-+    gain_fcns.set_value = std::bind(&set_gain_value, subtree, std::placeholders::_1);
-     return gain_fcns;
- }
---- uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_3000.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_3000.cpp      2020-07-10 09:11:51.962173717 +0200
-@@ -297,16 +297,16 @@
-     void populate_subtree(property_tree::sptr subtree)
-     {
-         subtree->create<meta_range_t>("rate/range")
--            .set_publisher(boost::bind(&rx_dsp_core_3000::get_host_rates, this));
-+            .set_publisher(std::bind(&rx_dsp_core_3000::get_host_rates, this));
-         subtree->create<double>("rate/value")
-             .set(DEFAULT_RATE)
--            .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, _1));
-+            .set_coercer(std::bind(&rx_dsp_core_3000::set_host_rate, this, std::placeholders::_1));
-         subtree->create<double>("freq/value")
-             .set(DEFAULT_CORDIC_FREQ)
--            .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, _1))
-+            .set_coercer(std::bind(&rx_dsp_core_3000::set_freq, this, std::placeholders::_1))
-             .set_publisher([this]() { return this->get_freq(); });
-         subtree->create<meta_range_t>("freq/range")
--            .set_publisher(boost::bind(&rx_dsp_core_3000::get_freq_range, this));
-+            .set_publisher(std::bind(&rx_dsp_core_3000::get_freq_range, this));
-     }
- private:
---- uhd-3.15.0.0/host/lib/usrp/cores/tx_dsp_core_3000.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/cores/tx_dsp_core_3000.cpp      2020-07-10 11:18:11.977775916 +0200
-@@ -16,6 +16,7 @@
- #include <boost/thread/thread.hpp> //sleep
- #include <algorithm>
- #include <cmath>
-+#include <functional>
- #define REG_DSP_TX_FREQ _dsp_base + 0
- #define REG_DSP_TX_SCALE_IQ _dsp_base + 4
-@@ -184,16 +185,16 @@
-     void populate_subtree(property_tree::sptr subtree)
-     {
-         subtree->create<meta_range_t>("rate/range")
--            .set_publisher(boost::bind(&tx_dsp_core_3000::get_host_rates, this));
-+            .set_publisher(std::bind(&tx_dsp_core_3000::get_host_rates, this));
-         subtree->create<double>("rate/value")
-             .set(DEFAULT_RATE)
--            .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, _1));
-+            .set_coercer(std::bind(&tx_dsp_core_3000::set_host_rate, this, std::placeholders::_1));
-         subtree->create<double>("freq/value")
-             .set(DEFAULT_CORDIC_FREQ)
--            .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, _1))
-+            .set_coercer(std::bind(&tx_dsp_core_3000::set_freq, this, std::placeholders::_1))
-             .set_publisher([this]() { return this->get_freq(); });
-         subtree->create<meta_range_t>("freq/range")
--            .set_publisher(boost::bind(&tx_dsp_core_3000::get_freq_range, this));
-+            .set_publisher(std::bind(&tx_dsp_core_3000::get_freq_range, this));
-     }
- private:
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_xcvr2450.cpp.orig     2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_xcvr2450.cpp  2020-07-10 11:37:10.671607082 +0200
-@@ -222,23 +222,23 @@
-     this->get_rx_subtree()->create<std::string>("name")
-         .set("XCVR2450 RX");
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&xcvr2450::get_locked, this));
-+        .set_publisher(std::bind(&xcvr2450::get_locked, this));
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/rssi")
--        .set_publisher(boost::bind(&xcvr2450::get_rssi, this));
-+        .set_publisher(std::bind(&xcvr2450::get_rssi, this));
-     for(const std::string &name:  xcvr_rx_gain_ranges.keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, _1, name))
-+            .set_coercer(std::bind(&xcvr2450::set_rx_gain, this, std::placeholders::_1, name))
-             .set(xcvr_rx_gain_ranges[name].start());
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(xcvr_rx_gain_ranges[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
-+        .set_coercer(std::bind(&xcvr2450::set_lo_freq, this, std::placeholders::_1))
-         .set(double(2.45e9));
-     this->get_rx_subtree()->create<meta_range_t>("freq/range")
-         .set(xcvr_freq_range);
-     this->get_rx_subtree()->create<std::string>("antenna/value")
--        .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, _1))
-+        .add_coerced_subscriber(std::bind(&xcvr2450::set_rx_ant, this, std::placeholders::_1))
-         .set(xcvr_antennas.at(0));
-     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
-         .set(xcvr_antennas);
-@@ -249,7 +249,7 @@
-     this->get_rx_subtree()->create<bool>("use_lo_offset")
-         .set(false);
-     this->get_rx_subtree()->create<double>("bandwidth/value")
--        .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, _1)) //complex bandpass bandwidth 
-+        .set_coercer(std::bind(&xcvr2450::set_rx_bandwidth, this, std::placeholders::_1)) //complex bandpass bandwidth 
-         .set(2.0*_rx_bandwidth); //_rx_bandwidth in lowpass, convert to complex bandpass
-     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
-         .set(xcvr_rx_bandwidth_range);
-@@ -260,21 +260,21 @@
-     this->get_tx_subtree()->create<std::string>("name")
-         .set("XCVR2450 TX");
-     this->get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&xcvr2450::get_locked, this));
-+        .set_publisher(std::bind(&xcvr2450::get_locked, this));
-     for(const std::string &name:  xcvr_tx_gain_ranges.keys()){
-         this->get_tx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, _1, name))
-+            .set_coercer(std::bind(&xcvr2450::set_tx_gain, this, std::placeholders::_1, name))
-             .set(xcvr_tx_gain_ranges[name].start());
-         this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(xcvr_tx_gain_ranges[name]);
-     }
-     this->get_tx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
-+        .set_coercer(std::bind(&xcvr2450::set_lo_freq, this, std::placeholders::_1))
-         .set(double(2.45e9));
-     this->get_tx_subtree()->create<meta_range_t>("freq/range")
-         .set(xcvr_freq_range);
-     this->get_tx_subtree()->create<std::string>("antenna/value")
--        .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, _1))
-+        .add_coerced_subscriber(std::bind(&xcvr2450::set_tx_ant, this, std::placeholders::_1))
-         .set(xcvr_antennas.at(1));
-     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
-         .set(xcvr_antennas);
-@@ -285,7 +285,7 @@
-     this->get_tx_subtree()->create<bool>("use_lo_offset")
-         .set(false);
-     this->get_tx_subtree()->create<double>("bandwidth/value")
--        .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, _1)) //complex bandpass bandwidth
-+        .set_coercer(std::bind(&xcvr2450::set_tx_bandwidth, this, std::placeholders::_1)) //complex bandpass bandwidth
-         .set(2.0*_tx_bandwidth); //_tx_bandwidth in lowpass, convert to complex bandpass
-     this->get_tx_subtree()->create<meta_range_t>("bandwidth/range")
-         .set(xcvr_tx_bandwidth_range);
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_common.cpp.orig   2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_common.cpp        2020-07-10 13:05:02.423047555 +0200
-@@ -146,20 +146,20 @@
-     else this->get_rx_subtree()->create<std::string>("name").set("SBX/CBX RX");
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
-+        .set_publisher(std::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
-     for(const std::string &name:  sbx_rx_gain_ranges.keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, _1, name))
-+            .set_coercer(std::bind(&sbx_xcvr::set_rx_gain, this, std::placeholders::_1, name))
-             .set(sbx_rx_gain_ranges[name].start());
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(sbx_rx_gain_ranges[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
-+        .set_coercer(std::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, std::placeholders::_1))
-         .set((freq_range.start() + freq_range.stop())/2.0);
-     this->get_rx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
-     this->get_rx_subtree()->create<std::string>("antenna/value")
--        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, _1))
-+        .add_coerced_subscriber(std::bind(&sbx_xcvr::set_rx_ant, this, std::placeholders::_1))
-         .set("RX2");
-     this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
-         .set(sbx_rx_antennas);
-@@ -187,20 +187,20 @@
-     else this->get_tx_subtree()->create<std::string>("name").set("SBX/CBX TX");
-     this->get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
-+        .set_publisher(std::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
-     for(const std::string &name:  sbx_tx_gain_ranges.keys()){
-         this->get_tx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, _1, name))
-+            .set_coercer(std::bind(&sbx_xcvr::set_tx_gain, this, std::placeholders::_1, name))
-             .set(sbx_tx_gain_ranges[name].start());
-         this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(sbx_tx_gain_ranges[name]);
-     }
-     this->get_tx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
-+        .set_coercer(std::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, std::placeholders::_1))
-         .set((freq_range.start() + freq_range.stop())/2.0);
-     this->get_tx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
-     this->get_tx_subtree()->create<std::string>("antenna/value")
--        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, _1))
-+        .add_coerced_subscriber(std::bind(&sbx_xcvr::set_tx_ant, this, std::placeholders::_1))
-         .set(sbx_tx_antennas.at(0));
-     this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
-         .set(sbx_tx_antennas);
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version3.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version3.cpp      2020-07-10 13:05:49.216127388 +0200
-@@ -20,8 +20,8 @@
- sbx_xcvr::sbx_version3::sbx_version3(sbx_xcvr *_self_sbx_xcvr) {
-     //register the handle to our base SBX class
-     self_base = _self_sbx_xcvr;
--    _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
--    _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
-+    _txlo = adf435x_iface::make_adf4350(std::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
-+    _rxlo = adf435x_iface::make_adf4350(std::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
- }
- sbx_xcvr::sbx_version3::~sbx_version3(void){
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version4.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version4.cpp      2020-07-10 13:06:38.189195412 +0200
-@@ -20,8 +20,8 @@
- sbx_xcvr::sbx_version4::sbx_version4(sbx_xcvr *_self_sbx_xcvr) {
-     //register the handle to our base SBX class
-     self_base = _self_sbx_xcvr;
--    _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
--    _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
-+    _txlo = adf435x_iface::make_adf4351(std::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
-+    _rxlo = adf435x_iface::make_adf4351(std::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
- }
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_cbx.cpp.orig  2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_cbx.cpp       2020-07-10 13:13:36.733594629 +0200
-@@ -19,8 +19,8 @@
- sbx_xcvr::cbx::cbx(sbx_xcvr *_self_sbx_xcvr) {
-     //register the handle to our base CBX class
-     self_base = _self_sbx_xcvr;
--    _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
--    _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
-+    _txlo = max287x_iface::make<max2870>(std::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
-+    _rxlo = max287x_iface::make<max2870>(std::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
- }
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_ubx.cpp.orig  2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_ubx.cpp       2020-07-10 14:55:54.540343277 +0200
-@@ -395,10 +395,10 @@
-         // Initialize LOs
-         if (_rev == 0)
-         {
--            _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
--            _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
--            _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
--            _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
-+            _txlo1 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, std::placeholders::_1));
-+            _txlo2 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, std::placeholders::_1));
-+            _rxlo1 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, std::placeholders::_1));
-+            _rxlo2 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, std::placeholders::_1));
-             std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
-             for(max287x_iface::sptr lo:  los)
-             {
-@@ -409,10 +409,10 @@
-         }
-         else if (_rev == 1 or _rev == 2)
-         {
--            _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
--            _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
--            _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
--            _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
-+            _txlo1 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, std::placeholders::_1));
-+            _txlo2 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, std::placeholders::_1));
-+            _rxlo1 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, std::placeholders::_1));
-+            _rxlo2 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, std::placeholders::_1));
-             std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
-             for(max287x_iface::sptr lo:  los)
-             {
-@@ -439,12 +439,12 @@
-         get_rx_subtree()->create<std::vector<std::string> >("power_mode/options")
-             .set(ubx_power_modes);
-         get_rx_subtree()->create<std::string>("power_mode/value")
--            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, _1))
-+            .add_coerced_subscriber(std::bind(&ubx_xcvr::set_power_mode, this, std::placeholders::_1))
-             .set("performance");
-         get_rx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
-             .set(ubx_xcvr_modes);
-         get_rx_subtree()->create<std::string>("xcvr_mode/value")
--            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, _1))
-+            .add_coerced_subscriber(std::bind(&ubx_xcvr::set_xcvr_mode, this, std::placeholders::_1))
-             .set("FDX");
-         get_rx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
-             .set(ubx_temp_comp_modes);
-@@ -456,13 +456,13 @@
-         get_tx_subtree()->create<std::vector<std::string> >("power_mode/options")
-             .set(ubx_power_modes);
-         get_tx_subtree()->create<std::string>("power_mode/value")
--            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), _1))
--            .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
-+            .add_coerced_subscriber(std::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), std::placeholders::_1))
-+            .set_publisher(std::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
-         get_tx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
-             .set(ubx_xcvr_modes);
-         get_tx_subtree()->create<std::string>("xcvr_mode/value")
--            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), _1))
--            .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
-+            .add_coerced_subscriber(std::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), std::placeholders::_1))
-+            .set_publisher(std::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
-         get_tx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
-             .set(ubx_temp_comp_modes);
-         get_tx_subtree()
-@@ -486,20 +486,20 @@
-         get_tx_subtree()->create<device_addr_t>("tune_args")
-             .set(device_addr_t());
-         get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--            .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "TXLO"));
-+            .set_publisher(std::bind(&ubx_xcvr::get_locked, this, "TXLO"));
-         get_tx_subtree()->create<double>("gains/PGA0/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, _1)).set(0);
-+            .set_coercer(std::bind(&ubx_xcvr::set_tx_gain, this, std::placeholders::_1)).set(0);
-         get_tx_subtree()->create<meta_range_t>("gains/PGA0/range")
-             .set(ubx_tx_gain_range);
-         get_tx_subtree()->create<double>("freq/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, _1))
-+            .set_coercer(std::bind(&ubx_xcvr::set_tx_freq, this, std::placeholders::_1))
-             .set(ubx_freq_range.start());
-         get_tx_subtree()->create<meta_range_t>("freq/range")
-             .set(ubx_freq_range);
-         get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
-             .set(ubx_tx_antennas);
-         get_tx_subtree()->create<std::string>("antenna/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_tx_ant, this, _1))
-+            .set_coercer(std::bind(&ubx_xcvr::set_tx_ant, this, std::placeholders::_1))
-             .set(ubx_tx_antennas.at(0));
-         get_tx_subtree()->create<std::string>("connection")
-             .set("QI");
-@@ -512,7 +512,7 @@
-         get_tx_subtree()->create<meta_range_t>("bandwidth/range")
-             .set(freq_range_t(bw, bw));
-         get_tx_subtree()->create<int64_t>("sync_delay")
--            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, _1))
-+            .add_coerced_subscriber(std::bind(&ubx_xcvr::set_sync_delay, this, true, std::placeholders::_1))
-             .set(0);
-         ////////////////////////////////////////////////////////////////////
-@@ -522,21 +522,21 @@
-         get_rx_subtree()->create<device_addr_t>("tune_args")
-             .set(device_addr_t());
-         get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--            .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "RXLO"));
-+            .set_publisher(std::bind(&ubx_xcvr::get_locked, this, "RXLO"));
-         get_rx_subtree()->create<double>("gains/PGA0/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, _1))
-+            .set_coercer(std::bind(&ubx_xcvr::set_rx_gain, this, std::placeholders::_1))
-             .set(0);
-         get_rx_subtree()->create<meta_range_t>("gains/PGA0/range")
-             .set(ubx_rx_gain_range);
-         get_rx_subtree()->create<double>("freq/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, _1))
-+            .set_coercer(std::bind(&ubx_xcvr::set_rx_freq, this, std::placeholders::_1))
-             .set(ubx_freq_range.start());
-         get_rx_subtree()->create<meta_range_t>("freq/range")
-             .set(ubx_freq_range);
-         get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
-             .set(ubx_rx_antennas);
-         get_rx_subtree()->create<std::string>("antenna/value")
--            .set_coercer(boost::bind(&ubx_xcvr::set_rx_ant, this, _1)).set("RX2");
-+            .set_coercer(std::bind(&ubx_xcvr::set_rx_ant, this, std::placeholders::_1)).set("RX2");
-         get_rx_subtree()->create<std::string>("connection")
-             .set("IQ");
-         get_rx_subtree()->create<bool>("enabled")
-@@ -548,7 +548,7 @@
-         get_rx_subtree()->create<meta_range_t>("bandwidth/range")
-             .set(freq_range_t(bw, bw));
-         get_rx_subtree()->create<int64_t>("sync_delay")
--            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, _1))
-+            .add_coerced_subscriber(std::bind(&ubx_xcvr::set_sync_delay, this, false, std::placeholders::_1))
-             .set(0);
-     }
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx.cpp.orig        2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx.cpp     2020-07-10 16:14:10.521569631 +0200
-@@ -195,16 +195,16 @@
-     this->get_rx_subtree()->create<std::string>("name")
-         .set("DBSRX");
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&dbsrx::get_locked, this));
-+        .set_publisher(std::bind(&dbsrx::get_locked, this));
-     for(const std::string &name:  dbsrx_gain_ranges.keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&dbsrx::set_gain, this, _1, name))
-+            .set_coercer(std::bind(&dbsrx::set_gain, this, std::placeholders::_1, name))
-             .set(dbsrx_gain_ranges[name].start());
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(dbsrx_gain_ranges[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, _1));
-+        .set_coercer(std::bind(&dbsrx::set_lo_freq, this, std::placeholders::_1));
-     this->get_rx_subtree()->create<meta_range_t>("freq/range")
-         .set(dbsrx_freq_range);
-     this->get_rx_subtree()->create<std::string>("antenna/value")
-@@ -218,7 +218,7 @@
-     this->get_rx_subtree()->create<bool>("use_lo_offset")
-         .set(false);
-     this->get_rx_subtree()->create<double>("bandwidth/value")
--        .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, _1));
-+        .set_coercer(std::bind(&dbsrx::set_bandwidth, this, std::placeholders::_1));
-     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
-         .set(dbsrx_bandwidth_range);
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx.cpp      2020-07-10 16:20:42.599445562 +0200
-@@ -180,12 +180,12 @@
-     this->get_rx_subtree()->create<int>("sensors"); //phony property so this dir exists
-     for(const std::string &name:  get_tvrx_gain_ranges().keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&tvrx::set_gain, this, _1, name));
-+            .set_coercer(std::bind(&tvrx::set_gain, this, std::placeholders::_1, name));
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(get_tvrx_gain_ranges()[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&tvrx::set_freq, this, _1));
-+        .set_coercer(std::bind(&tvrx::set_freq, this, std::placeholders::_1));
-     this->get_rx_subtree()->create<meta_range_t>("freq/range")
-         .set(tvrx_freq_range);
-     this->get_rx_subtree()->create<std::string>("antenna/value")
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx2.cpp.orig       2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx2.cpp    2020-07-10 16:21:28.555863262 +0200
-@@ -176,16 +176,16 @@
-     this->get_rx_subtree()->create<std::string>("name")
-         .set("DBSRX");
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&dbsrx2::get_locked, this));
-+        .set_publisher(std::bind(&dbsrx2::get_locked, this));
-     for(const std::string &name:  dbsrx2_gain_ranges.keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&dbsrx2::set_gain, this, _1, name))
-+            .set_coercer(std::bind(&dbsrx2::set_gain, this, std::placeholders::_1, name))
-             .set(dbsrx2_gain_ranges[name].start());
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(dbsrx2_gain_ranges[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, _1))
-+        .set_coercer(std::bind(&dbsrx2::set_lo_freq, this, std::placeholders::_1))
-         .set(dbsrx2_freq_range.start());
-     this->get_rx_subtree()->create<meta_range_t>("freq/range")
-         .set(dbsrx2_freq_range);
-@@ -203,7 +203,7 @@
-     double codec_rate = this->get_iface()->get_codec_rate(dboard_iface::UNIT_RX);
-     this->get_rx_subtree()->create<double>("bandwidth/value")
--        .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, _1))
-+        .set_coercer(std::bind(&dbsrx2::set_bandwidth, this, std::placeholders::_1))
-         .set(2.0*(0.8*codec_rate/2.0)); //bandwidth in lowpass, convert to complex bandpass
-                                         //default to anti-alias at different codec_rate
-     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
---- uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx2.cpp.orig        2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx2.cpp     2020-07-10 16:22:25.432221803 +0200
-@@ -951,19 +951,19 @@
-     this->get_rx_subtree()->create<std::string>("name")
-         .set("TVRX2");
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
--        .set_publisher(boost::bind(&tvrx2::get_locked, this));
-+        .set_publisher(std::bind(&tvrx2::get_locked, this));
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/rssi")
--        .set_publisher(boost::bind(&tvrx2::get_rssi, this));
-+        .set_publisher(std::bind(&tvrx2::get_rssi, this));
-     this->get_rx_subtree()->create<sensor_value_t>("sensors/temperature")
--        .set_publisher(boost::bind(&tvrx2::get_temp, this));
-+        .set_publisher(std::bind(&tvrx2::get_temp, this));
-     for(const std::string &name:  tvrx2_gain_ranges.keys()){
-         this->get_rx_subtree()->create<double>("gains/"+name+"/value")
--            .set_coercer(boost::bind(&tvrx2::set_gain, this, _1, name));
-+            .set_coercer(std::bind(&tvrx2::set_gain, this, std::placeholders::_1, name));
-         this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
-             .set(tvrx2_gain_ranges[name]);
-     }
-     this->get_rx_subtree()->create<double>("freq/value")
--        .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, _1));
-+        .set_coercer(std::bind(&tvrx2::set_lo_freq, this, std::placeholders::_1));
-     this->get_rx_subtree()->create<meta_range_t>("freq/range")
-         .set(tvrx2_freq_range);
-     this->get_rx_subtree()->create<std::string>("antenna/value")
-@@ -973,12 +973,12 @@
-     this->get_rx_subtree()->create<std::string>("connection")
-         .set(tvrx2_sd_name_to_conn[get_subdev_name()]);
-     this->get_rx_subtree()->create<bool>("enabled")
--        .set_coercer(boost::bind(&tvrx2::set_enabled, this, _1))
-+        .set_coercer(std::bind(&tvrx2::set_enabled, this, std::placeholders::_1))
-         .set(_enabled);
-     this->get_rx_subtree()->create<bool>("use_lo_offset")
-         .set(false);
-     this->get_rx_subtree()->create<double>("bandwidth/value")
--        .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, _1))
-+        .set_coercer(std::bind(&tvrx2::set_bandwidth, this, std::placeholders::_1))
-         .set(_bandwidth);
-     this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
-         .set(tvrx2_bandwidth_range);
---- uhd-3.15.0.0/host/lib/usrp/b100/b100_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/b100/b100_impl.cpp      2020-07-10 16:59:19.426894232 +0200
-@@ -274,7 +274,7 @@
-     _tree->create<std::string>(mb_path / "name").set("B100");
-     _tree->create<std::string>(mb_path / "codename").set("B-Hundo");
-     _tree->create<std::string>(mb_path / "load_eeprom")
--        .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, _1));
-+        .add_coerced_subscriber(std::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, std::placeholders::_1));
-     ////////////////////////////////////////////////////////////////////
-     // setup the mboard eeprom
-@@ -282,20 +282,20 @@
-     const mboard_eeprom_t mb_eeprom = this->get_mb_eeprom(_fx2_ctrl);
-     _tree->create<mboard_eeprom_t>(mb_path / "eeprom")
-         .set(mb_eeprom)
--        .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::set_mb_eeprom, this, std::placeholders::_1));
-     ////////////////////////////////////////////////////////////////////
-     // create clock control objects
-     ////////////////////////////////////////////////////////////////////
-     //^^^ clock created up top, just reg props here... ^^^
-     _tree->create<double>(mb_path / "tick_rate")
--        .set_publisher(boost::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
--        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, _1))
--        .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, _1));
-+        .set_publisher(std::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
-+        .add_coerced_subscriber(std::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, std::placeholders::_1))
-+        .add_coerced_subscriber(std::bind(&b100_impl::update_tick_rate, this, std::placeholders::_1));
-     //add_coerced_subscriber the command time while we are at it
-     _tree->create<time_spec_t>(mb_path / "time/cmd")
--        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, _1));
-+        .add_coerced_subscriber(std::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, std::placeholders::_1));
-     ////////////////////////////////////////////////////////////////////
-     // create codec control objects
-@@ -306,20 +306,20 @@
-     _tree->create<std::string>(rx_codec_path / "name").set("ad9522");
-     _tree->create<meta_range_t>(rx_codec_path / "gains/pga/range").set(b100_codec_ctrl::rx_pga_gain_range);
-     _tree->create<double>(rx_codec_path / "gains/pga/value")
--        .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, _1))
-+        .set_coercer(std::bind(&b100_impl::update_rx_codec_gain, this, std::placeholders::_1))
-         .set(0.0);
-     _tree->create<std::string>(tx_codec_path / "name").set("ad9522");
-     _tree->create<meta_range_t>(tx_codec_path / "gains/pga/range").set(b100_codec_ctrl::tx_pga_gain_range);
-     _tree->create<double>(tx_codec_path / "gains/pga/value")
--        .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, _1))
--        .set_publisher(boost::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
-+        .add_coerced_subscriber(std::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, std::placeholders::_1))
-+        .set_publisher(std::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
-         .set(0.0);
-     ////////////////////////////////////////////////////////////////////
-     // and do the misc mboard sensors
-     ////////////////////////////////////////////////////////////////////
-     _tree->create<sensor_value_t>(mb_path / "sensors/ref_locked")
--        .set_publisher(boost::bind(&b100_impl::get_ref_locked, this));
-+        .set_publisher(std::bind(&b100_impl::get_ref_locked, this));
-     ////////////////////////////////////////////////////////////////////
-     // create frontend control objects
-@@ -328,27 +328,27 @@
-     _tx_fe = tx_frontend_core_200::make(_fifo_ctrl, TOREG(SR_TX_FE));
-     _tree->create<subdev_spec_t>(mb_path / "rx_subdev_spec")
--        .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::update_rx_subdev_spec, this, std::placeholders::_1));
-     _tree->create<subdev_spec_t>(mb_path / "tx_subdev_spec")
--        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::update_tx_subdev_spec, this, std::placeholders::_1));
-     const fs_path rx_fe_path = mb_path / "rx_frontends" / "A";
-     const fs_path tx_fe_path = mb_path / "tx_frontends" / "A";
-     _tree->create<std::complex<double> >(rx_fe_path / "dc_offset" / "value")
--        .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, _1))
-+        .set_coercer(std::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, std::placeholders::_1))
-         .set(std::complex<double>(0.0, 0.0));
-     _tree->create<bool>(rx_fe_path / "dc_offset" / "enable")
--        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, _1))
-+        .add_coerced_subscriber(std::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, std::placeholders::_1))
-         .set(true);
-     _tree->create<std::complex<double> >(rx_fe_path / "iq_balance" / "value")
--        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, _1))
-+        .add_coerced_subscriber(std::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, std::placeholders::_1))
-         .set(std::complex<double>(0.0, 0.0));
-     _tree->create<std::complex<double> >(tx_fe_path / "dc_offset" / "value")
--        .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, _1))
-+        .set_coercer(std::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, std::placeholders::_1))
-         .set(std::complex<double>(0.0, 0.0));
-     _tree->create<std::complex<double> >(tx_fe_path / "iq_balance" / "value")
--        .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, _1))
-+        .add_coerced_subscriber(std::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, std::placeholders::_1))
-         .set(std::complex<double>(0.0, 0.0));
-     ////////////////////////////////////////////////////////////////////
-@@ -367,20 +367,20 @@
-         _rx_dsps[dspno]->set_link_rate(B100_LINK_RATE_BPS);
-         _tree->access<double>(mb_path / "tick_rate")
--            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], _1));
-+            .add_coerced_subscriber(std::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], std::placeholders::_1));
-         fs_path rx_dsp_path = mb_path / str(boost::format("rx_dsps/%u") % dspno);
-         _tree->create<meta_range_t>(rx_dsp_path / "rate/range")
--            .set_publisher(boost::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
-+            .set_publisher(std::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
-         _tree->create<double>(rx_dsp_path / "rate/value")
-             .set(1e6) //some default
--            .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], _1))
--            .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, _1));
-+            .set_coercer(std::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], std::placeholders::_1))
-+            .add_coerced_subscriber(std::bind(&b100_impl::update_rx_samp_rate, this, dspno, std::placeholders::_1));
-         _tree->create<double>(rx_dsp_path / "freq/value")
--            .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], _1));
-+            .set_coercer(std::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], std::placeholders::_1));
-         _tree->create<meta_range_t>(rx_dsp_path / "freq/range")
--            .set_publisher(boost::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
-+            .set_publisher(std::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
-         _tree->create<stream_cmd_t>(rx_dsp_path / "stream_cmd")
--            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], _1));
-+            .add_coerced_subscriber(std::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], std::placeholders::_1));
-     }
-     ////////////////////////////////////////////////////////////////////
-@@ -391,17 +391,17 @@
-     );
-     _tx_dsp->set_link_rate(B100_LINK_RATE_BPS);
-     _tree->access<double>(mb_path / "tick_rate")
--        .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, _1));
-+        .add_coerced_subscriber(std::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, std::placeholders::_1));
-     _tree->create<meta_range_t>(mb_path / "tx_dsps/0/rate/range")
--        .set_publisher(boost::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
-+        .set_publisher(std::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
-     _tree->create<double>(mb_path / "tx_dsps/0/rate/value")
-         .set(1e6) //some default
--        .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, _1))
--        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, _1));
-+        .set_coercer(std::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, std::placeholders::_1))
-+        .add_coerced_subscriber(std::bind(&b100_impl::update_tx_samp_rate, this, 0, std::placeholders::_1));
-     _tree->create<double>(mb_path / "tx_dsps/0/freq/value")
--        .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, _1));
-+        .set_coercer(std::bind(&tx_dsp_core_200::set_freq, _tx_dsp, std::placeholders::_1));
-     _tree->create<meta_range_t>(mb_path / "tx_dsps/0/freq/range")
--        .set_publisher(boost::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
-+        .set_publisher(std::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
-     ////////////////////////////////////////////////////////////////////
-     // create time control objects
-@@ -415,21 +415,21 @@
-         _fifo_ctrl, TOREG(SR_TIME64), time64_rb_bases
-     );
-     _tree->access<double>(mb_path / "tick_rate")
--        .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, _1));
-+        .add_coerced_subscriber(std::bind(&time64_core_200::set_tick_rate, _time64, std::placeholders::_1));
-     _tree->create<time_spec_t>(mb_path / "time/now")
--        .set_publisher(boost::bind(&time64_core_200::get_time_now, _time64))
--        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, _1));
-+        .set_publisher(std::bind(&time64_core_200::get_time_now, _time64))
-+        .add_coerced_subscriber(std::bind(&time64_core_200::set_time_now, _time64, std::placeholders::_1));
-     _tree->create<time_spec_t>(mb_path / "time/pps")
--        .set_publisher(boost::bind(&time64_core_200::get_time_last_pps, _time64))
--        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, _1));
-+        .set_publisher(std::bind(&time64_core_200::get_time_last_pps, _time64))
-+        .add_coerced_subscriber(std::bind(&time64_core_200::set_time_next_pps, _time64, std::placeholders::_1));
-     //setup time source props
-     _tree->create<std::string>(mb_path / "time_source/value")
--        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, _1));
-+        .add_coerced_subscriber(std::bind(&time64_core_200::set_time_source, _time64, std::placeholders::_1));
-     _tree->create<std::vector<std::string> >(mb_path / "time_source/options")
--        .set_publisher(boost::bind(&time64_core_200::get_time_sources, _time64));
-+        .set_publisher(std::bind(&time64_core_200::get_time_sources, _time64));
-     //setup reference source props
-     _tree->create<std::string>(mb_path / "clock_source/value")
--        .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::update_clock_source, this, std::placeholders::_1));
-     static const std::vector<std::string> clock_sources = {
-         "internal", "external", "auto"
-     };
-@@ -440,7 +440,7 @@
-     ////////////////////////////////////////////////////////////////////
-     _user = user_settings_core_200::make(_fifo_ctrl, TOREG(SR_USER_REGS));
-     _tree->create<user_settings_core_200::user_reg_t>(mb_path / "user/regs")
--        .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, _1));
-+        .add_coerced_subscriber(std::bind(&user_settings_core_200::set_reg, _user, std::placeholders::_1));
-     ////////////////////////////////////////////////////////////////////
-     // create dboard control objects
-@@ -458,13 +458,13 @@
-     //create the properties and register subscribers
-     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/rx_eeprom")
-         .set(rx_db_eeprom)
--        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "rx", std::placeholders::_1));
-     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/tx_eeprom")
-         .set(tx_db_eeprom)
--        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "tx", std::placeholders::_1));
-     _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/gdb_eeprom")
-         .set(gdb_eeprom)
--        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", _1));
-+        .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "gdb", std::placeholders::_1));
-     //create a new dboard interface and manager
-     _dboard_manager = dboard_manager::make(
-@@ -477,12 +477,12 @@
-     const fs_path db_tx_fe_path = mb_path / "dboards" / "A" / "tx_frontends";
-     for(const std::string &name:  _tree->list(db_tx_fe_path)){
-         _tree->access<double>(db_tx_fe_path / name / "freq" / "value")
--            .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, _1));
-+            .add_coerced_subscriber(std::bind(&b100_impl::set_tx_fe_corrections, this, std::placeholders::_1));
-     }
-     const fs_path db_rx_fe_path = mb_path / "dboards" / "A" / "rx_frontends";
-     for(const std::string &name:  _tree->list(db_rx_fe_path)){
-         _tree->access<double>(db_rx_fe_path / name / "freq" / "value")
--            .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, _1));
-+            .add_coerced_subscriber(std::bind(&b100_impl::set_rx_fe_corrections, this, std::placeholders::_1));
-     }
-     //initialize io handling
-@@ -498,7 +498,7 @@
-     this->update_rates();
-     _tree->access<double>(mb_path / "tick_rate") //now add_coerced_subscriber the clock rate setter
--        .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, _1));
-+        .add_coerced_subscriber(std::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, std::placeholders::_1));
-     //reset cordic rates and their properties to zero
-     for(const std::string &name:  _tree->list(mb_path / "rx_dsps")){
---- uhd-3.15.0.0/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp.orig      2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp   2020-07-10 17:00:26.443197840 +0200
-@@ -151,7 +151,7 @@
-     _tree->create<meta_range_t>("rx_codecs" / _radio_slot / "gains" / "digital" / "range")
-         .set(meta_range_t(0, 6.0, 0.5));
-     _tree->create<double>("rx_codecs" / _radio_slot / "gains" / "digital" / "value")
--        .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, _1))
-+        .add_coerced_subscriber(std::bind(&x300_adc_ctrl::set_gain, _adc, std::placeholders::_1))
-         .set(0);
-     ////////////////////////////////////////////////////////////////
-@@ -187,7 +187,7 @@
-         if (_tree->exists(fs_path("time") / "cmd")) {
-             _tree->access<time_spec_t>(fs_path("time") / "cmd")
-                 .add_coerced_subscriber(
--                    boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, _1, i));
-+                    std::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, std::placeholders::_1, i));
-         }
-     }
-@@ -816,11 +816,11 @@
-         // Add to tree
-         _tree->create<dboard_eeprom_t>(db_path / EEPROM_PATHS[i])
-             .set(_db_eeproms[addr])
--            .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::_set_db_eeprom,
-+            .add_coerced_subscriber(std::bind(&x300_radio_ctrl_impl::_set_db_eeprom,
-                 this,
-                 zpu_i2c,
-                 (BASE_ADDR | addr),
--                _1));
-+                std::placeholders::_1));
-     }
-     // create a new dboard interface
-@@ -893,8 +893,8 @@
-                     ->access<std::string>(db_path / "rx_frontends"
-                                           / _rx_fe_map[i].db_fe_name / "antenna"
-                                           / "value")
--                    .add_desired_subscriber(boost::bind(
--                        &x300_radio_ctrl_impl::_update_atr_leds, this, _1, i));
-+                    .add_desired_subscriber(std::bind(
-+                        &x300_radio_ctrl_impl::_update_atr_leds, this, std::placeholders::_1, i));
-                 _update_atr_leds(_tree
-                                      ->access<std::string>(db_path / "rx_frontends"
-                                                            / _rx_fe_map[i].db_fe_name
-@@ -917,11 +917,11 @@
-                     ->access<double>(
-                         db_tx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
-                     .add_coerced_subscriber(
--                        boost::bind(&x300_radio_ctrl_impl::set_tx_fe_corrections,
-+                        std::bind(&x300_radio_ctrl_impl::set_tx_fe_corrections,
-                             this,
-                             db_path,
-                             _root_path / "tx_fe_corrections" / _tx_fe_map[i].db_fe_name,
--                            _1));
-+                            std::placeholders::_1));
-             }
-         }
-     }
-@@ -934,11 +934,11 @@
-                     ->access<double>(
-                         db_rx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
-                     .add_coerced_subscriber(
--                        boost::bind(&x300_radio_ctrl_impl::set_rx_fe_corrections,
-+                        std::bind(&x300_radio_ctrl_impl::set_rx_fe_corrections,
-                             this,
-                             db_path,
-                             _root_path / "rx_fe_corrections" / _tx_fe_map[i].db_fe_name,
--                            _1));
-+                            std::placeholders::_1));
-             }
-         }
-     }
---- uhd-3.15.0.0/host/lib/usrp_clock/octoclock/octoclock_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
-+++ uhd-3.15.0.0/host/lib/usrp_clock/octoclock/octoclock_impl.cpp      2020-07-10 17:05:19.151612102 +0200
-@@ -232,21 +232,21 @@
-         _oc_dict[oc].eeprom = octoclock_eeprom_t(_oc_dict[oc].ctrl_xport, _proto_ver);
-         _tree->create<octoclock_eeprom_t>(oc_path / "eeprom")
-             .set(_oc_dict[oc].eeprom)
--            .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, _1));
-+            .add_coerced_subscriber(std::bind(&octoclock_impl::_set_eeprom, this, oc, std::placeholders::_1));
-         ////////////////////////////////////////////////////////////////////
-         // Initialize non-GPSDO sensors
-         ////////////////////////////////////////////////////////////////////
-         _tree->create<uint32_t>(oc_path / "time")
--            .set_publisher(boost::bind(&octoclock_impl::_get_time, this, oc));
-+            .set_publisher(std::bind(&octoclock_impl::_get_time, this, oc));
-         _tree->create<sensor_value_t>(oc_path / "sensors/ext_ref_detected")
--            .set_publisher(boost::bind(&octoclock_impl::_ext_ref_detected, this, oc));
-+            .set_publisher(std::bind(&octoclock_impl::_ext_ref_detected, this, oc));
-         _tree->create<sensor_value_t>(oc_path / "sensors/gps_detected")
--            .set_publisher(boost::bind(&octoclock_impl::_gps_detected, this, oc));
-+            .set_publisher(std::bind(&octoclock_impl::_gps_detected, this, oc));
-         _tree->create<sensor_value_t>(oc_path / "sensors/using_ref")
--            .set_publisher(boost::bind(&octoclock_impl::_which_ref, this, oc));
-+            .set_publisher(std::bind(&octoclock_impl::_which_ref, this, oc));
-         _tree->create<sensor_value_t>(oc_path / "sensors/switch_pos")
--            .set_publisher(boost::bind(&octoclock_impl::_switch_pos, this, oc));
-+            .set_publisher(std::bind(&octoclock_impl::_switch_pos, this, oc));
-         ////////////////////////////////////////////////////////////////////
-         // Check reference and GPSDO
-@@ -266,7 +266,7 @@
-                 if(_oc_dict[oc].gps and _oc_dict[oc].gps->gps_detected()){
-                     for(const std::string &name:  _oc_dict[oc].gps->get_sensors()){
-                         _tree->create<sensor_value_t>(oc_path / "sensors" / name)
--                            .set_publisher(boost::bind(&gps_ctrl::get_sensor, _oc_dict[oc].gps, name));
-+                            .set_publisher(std::bind(&gps_ctrl::get_sensor, _oc_dict[oc].gps, name));
-                     }
-                 }
-                 else{
This page took 0.103804 seconds and 4 git commands to generate.