]> git.pld-linux.org Git - packages/uhd.git/blame - uhd-boost.patch
- updated to 3.15.0.0
[packages/uhd.git] / uhd-boost.patch
CommitLineData
0cfe325a
JB
1--- uhd-3.15.0.0/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
2+++ uhd-3.15.0.0/host/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp 2020-07-10 08:20:19.298928111 +0200
3@@ -12,8 +12,8 @@
4 #include <uhdlib/rfnoc/wb_iface_adapter.hpp>
5 #include <uhdlib/usrp/cores/dma_fifo_core_3000.hpp>
6 #include <boost/format.hpp>
7-#include <boost/make_shared.hpp>
8 #include <boost/thread/mutex.hpp>
9+#include <functional>
10
11 using namespace uhd;
12 using namespace uhd::rfnoc;
13@@ -56,17 +56,17 @@
245f21b5
JB
14 }
15 }
16 _tree->access<int>(get_arg_path("base_addr/value", i))
0cfe325a
JB
17- .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
18+ .add_coerced_subscriber(std::bind(&dma_fifo_block_ctrl_impl::resize,
19 this,
20- _1,
21- boost::ref(_perifs[i].depth),
22+ std::placeholders::_1,
23+ std::ref(_perifs[i].depth),
24 i))
25 .set(_perifs[i].base_addr);
245f21b5 26 _tree->access<int>(get_arg_path("depth/value", i))
0cfe325a
JB
27- .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize,
28+ .add_coerced_subscriber(std::bind(&dma_fifo_block_ctrl_impl::resize,
29 this,
30- boost::ref(_perifs[i].base_addr),
31- _1,
32+ std::ref(_perifs[i].base_addr),
33+ std::placeholders::_1,
34 i))
35 .set(_perifs[i].depth);
245f21b5 36 }
0cfe325a
JB
37--- uhd-3.15.0.0/host/lib/usrp/multi_usrp.cpp.orig 2020-01-01 05:21:49.000000000 +0100
38+++ uhd-3.15.0.0/host/lib/usrp/multi_usrp.cpp 2020-07-10 08:21:23.055249380 +0200
39@@ -24,6 +24,7 @@
40 #include <boost/format.hpp>
41 #include <boost/algorithm/string.hpp>
42 #include <algorithm>
43+#include <functional>
44 #include <cmath>
45 #include <bitset>
46 #include <chrono>
47@@ -214,9 +215,9 @@
48
49 static gain_fcns_t make_gain_fcns_from_subtree(property_tree::sptr subtree){
245f21b5 50 gain_fcns_t gain_fcns;
0cfe325a
JB
51- gain_fcns.get_range = boost::bind(&get_gain_range, subtree);
52- gain_fcns.get_value = boost::bind(&get_gain_value, subtree);
245f21b5 53- gain_fcns.set_value = boost::bind(&set_gain_value, subtree, _1);
0cfe325a
JB
54+ gain_fcns.get_range = std::bind(&get_gain_range, subtree);
55+ gain_fcns.get_value = std::bind(&get_gain_value, subtree);
56+ gain_fcns.set_value = std::bind(&set_gain_value, subtree, std::placeholders::_1);
245f21b5
JB
57 return gain_fcns;
58 }
59
0cfe325a
JB
60--- uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_3000.cpp.orig 2020-01-01 05:21:49.000000000 +0100
61+++ uhd-3.15.0.0/host/lib/usrp/cores/rx_dsp_core_3000.cpp 2020-07-10 09:11:51.962173717 +0200
62@@ -297,16 +297,16 @@
63 void populate_subtree(property_tree::sptr subtree)
64 {
65 subtree->create<meta_range_t>("rate/range")
66- .set_publisher(boost::bind(&rx_dsp_core_3000::get_host_rates, this));
67+ .set_publisher(std::bind(&rx_dsp_core_3000::get_host_rates, this));
245f21b5
JB
68 subtree->create<double>("rate/value")
69 .set(DEFAULT_RATE)
0cfe325a
JB
70- .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, _1));
71+ .set_coercer(std::bind(&rx_dsp_core_3000::set_host_rate, this, std::placeholders::_1));
245f21b5
JB
72 subtree->create<double>("freq/value")
73 .set(DEFAULT_CORDIC_FREQ)
74- .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, _1))
0cfe325a
JB
75+ .set_coercer(std::bind(&rx_dsp_core_3000::set_freq, this, std::placeholders::_1))
76 .set_publisher([this]() { return this->get_freq(); });
245f21b5 77 subtree->create<meta_range_t>("freq/range")
0cfe325a
JB
78- .set_publisher(boost::bind(&rx_dsp_core_3000::get_freq_range, this));
79+ .set_publisher(std::bind(&rx_dsp_core_3000::get_freq_range, this));
80 }
81
82 private:
83--- uhd-3.15.0.0/host/lib/usrp/cores/tx_dsp_core_3000.cpp.orig 2020-01-01 05:21:49.000000000 +0100
84+++ uhd-3.15.0.0/host/lib/usrp/cores/tx_dsp_core_3000.cpp 2020-07-10 11:18:11.977775916 +0200
85@@ -16,6 +16,7 @@
86 #include <boost/thread/thread.hpp> //sleep
87 #include <algorithm>
88 #include <cmath>
89+#include <functional>
90
91 #define REG_DSP_TX_FREQ _dsp_base + 0
92 #define REG_DSP_TX_SCALE_IQ _dsp_base + 4
93@@ -184,16 +185,16 @@
94 void populate_subtree(property_tree::sptr subtree)
95 {
96 subtree->create<meta_range_t>("rate/range")
97- .set_publisher(boost::bind(&tx_dsp_core_3000::get_host_rates, this));
98+ .set_publisher(std::bind(&tx_dsp_core_3000::get_host_rates, this));
245f21b5
JB
99 subtree->create<double>("rate/value")
100 .set(DEFAULT_RATE)
0cfe325a
JB
101- .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, _1));
102+ .set_coercer(std::bind(&tx_dsp_core_3000::set_host_rate, this, std::placeholders::_1));
245f21b5
JB
103 subtree->create<double>("freq/value")
104 .set(DEFAULT_CORDIC_FREQ)
105- .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, _1))
0cfe325a
JB
106+ .set_coercer(std::bind(&tx_dsp_core_3000::set_freq, this, std::placeholders::_1))
107 .set_publisher([this]() { return this->get_freq(); });
245f21b5 108 subtree->create<meta_range_t>("freq/range")
0cfe325a
JB
109- .set_publisher(boost::bind(&tx_dsp_core_3000::get_freq_range, this));
110+ .set_publisher(std::bind(&tx_dsp_core_3000::get_freq_range, this));
111 }
112
113 private:
114--- uhd-3.15.0.0/host/lib/usrp/dboard/db_xcvr2450.cpp.orig 2020-01-01 05:21:49.000000000 +0100
115+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_xcvr2450.cpp 2020-07-10 11:37:10.671607082 +0200
116@@ -222,23 +222,23 @@
117 this->get_rx_subtree()->create<std::string>("name")
118 .set("XCVR2450 RX");
119 this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
120- .set_publisher(boost::bind(&xcvr2450::get_locked, this));
121+ .set_publisher(std::bind(&xcvr2450::get_locked, this));
122 this->get_rx_subtree()->create<sensor_value_t>("sensors/rssi")
123- .set_publisher(boost::bind(&xcvr2450::get_rssi, this));
124+ .set_publisher(std::bind(&xcvr2450::get_rssi, this));
125 for(const std::string &name: xcvr_rx_gain_ranges.keys()){
245f21b5
JB
126 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
127- .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, _1, name))
0cfe325a 128+ .set_coercer(std::bind(&xcvr2450::set_rx_gain, this, std::placeholders::_1, name))
245f21b5
JB
129 .set(xcvr_rx_gain_ranges[name].start());
130 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
131 .set(xcvr_rx_gain_ranges[name]);
132 }
133 this->get_rx_subtree()->create<double>("freq/value")
134- .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
0cfe325a 135+ .set_coercer(std::bind(&xcvr2450::set_lo_freq, this, std::placeholders::_1))
245f21b5
JB
136 .set(double(2.45e9));
137 this->get_rx_subtree()->create<meta_range_t>("freq/range")
138 .set(xcvr_freq_range);
139 this->get_rx_subtree()->create<std::string>("antenna/value")
140- .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, _1))
0cfe325a 141+ .add_coerced_subscriber(std::bind(&xcvr2450::set_rx_ant, this, std::placeholders::_1))
245f21b5
JB
142 .set(xcvr_antennas.at(0));
143 this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
144 .set(xcvr_antennas);
0cfe325a 145@@ -249,7 +249,7 @@
245f21b5
JB
146 this->get_rx_subtree()->create<bool>("use_lo_offset")
147 .set(false);
148 this->get_rx_subtree()->create<double>("bandwidth/value")
149- .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, _1)) //complex bandpass bandwidth
0cfe325a 150+ .set_coercer(std::bind(&xcvr2450::set_rx_bandwidth, this, std::placeholders::_1)) //complex bandpass bandwidth
245f21b5
JB
151 .set(2.0*_rx_bandwidth); //_rx_bandwidth in lowpass, convert to complex bandpass
152 this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
153 .set(xcvr_rx_bandwidth_range);
0cfe325a
JB
154@@ -260,21 +260,21 @@
155 this->get_tx_subtree()->create<std::string>("name")
156 .set("XCVR2450 TX");
157 this->get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
158- .set_publisher(boost::bind(&xcvr2450::get_locked, this));
159+ .set_publisher(std::bind(&xcvr2450::get_locked, this));
160 for(const std::string &name: xcvr_tx_gain_ranges.keys()){
245f21b5
JB
161 this->get_tx_subtree()->create<double>("gains/"+name+"/value")
162- .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, _1, name))
0cfe325a 163+ .set_coercer(std::bind(&xcvr2450::set_tx_gain, this, std::placeholders::_1, name))
245f21b5
JB
164 .set(xcvr_tx_gain_ranges[name].start());
165 this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
166 .set(xcvr_tx_gain_ranges[name]);
167 }
168 this->get_tx_subtree()->create<double>("freq/value")
169- .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
0cfe325a 170+ .set_coercer(std::bind(&xcvr2450::set_lo_freq, this, std::placeholders::_1))
245f21b5
JB
171 .set(double(2.45e9));
172 this->get_tx_subtree()->create<meta_range_t>("freq/range")
173 .set(xcvr_freq_range);
174 this->get_tx_subtree()->create<std::string>("antenna/value")
175- .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, _1))
0cfe325a 176+ .add_coerced_subscriber(std::bind(&xcvr2450::set_tx_ant, this, std::placeholders::_1))
245f21b5
JB
177 .set(xcvr_antennas.at(1));
178 this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
179 .set(xcvr_antennas);
0cfe325a 180@@ -285,7 +285,7 @@
245f21b5
JB
181 this->get_tx_subtree()->create<bool>("use_lo_offset")
182 .set(false);
183 this->get_tx_subtree()->create<double>("bandwidth/value")
184- .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, _1)) //complex bandpass bandwidth
0cfe325a 185+ .set_coercer(std::bind(&xcvr2450::set_tx_bandwidth, this, std::placeholders::_1)) //complex bandpass bandwidth
245f21b5
JB
186 .set(2.0*_tx_bandwidth); //_tx_bandwidth in lowpass, convert to complex bandpass
187 this->get_tx_subtree()->create<meta_range_t>("bandwidth/range")
188 .set(xcvr_tx_bandwidth_range);
0cfe325a
JB
189--- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_common.cpp.orig 2020-01-01 05:21:49.000000000 +0100
190+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_common.cpp 2020-07-10 13:05:02.423047555 +0200
191@@ -146,20 +146,20 @@
192 else this->get_rx_subtree()->create<std::string>("name").set("SBX/CBX RX");
193
194 this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
195- .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
196+ .set_publisher(std::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
197 for(const std::string &name: sbx_rx_gain_ranges.keys()){
245f21b5
JB
198 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
199- .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, _1, name))
0cfe325a 200+ .set_coercer(std::bind(&sbx_xcvr::set_rx_gain, this, std::placeholders::_1, name))
245f21b5
JB
201 .set(sbx_rx_gain_ranges[name].start());
202 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
203 .set(sbx_rx_gain_ranges[name]);
204 }
205 this->get_rx_subtree()->create<double>("freq/value")
206- .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
0cfe325a 207+ .set_coercer(std::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, std::placeholders::_1))
245f21b5
JB
208 .set((freq_range.start() + freq_range.stop())/2.0);
209 this->get_rx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
210 this->get_rx_subtree()->create<std::string>("antenna/value")
211- .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, _1))
0cfe325a 212+ .add_coerced_subscriber(std::bind(&sbx_xcvr::set_rx_ant, this, std::placeholders::_1))
245f21b5
JB
213 .set("RX2");
214 this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
215 .set(sbx_rx_antennas);
0cfe325a
JB
216@@ -187,20 +187,20 @@
217 else this->get_tx_subtree()->create<std::string>("name").set("SBX/CBX TX");
218
219 this->get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
220- .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
221+ .set_publisher(std::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
222 for(const std::string &name: sbx_tx_gain_ranges.keys()){
245f21b5
JB
223 this->get_tx_subtree()->create<double>("gains/"+name+"/value")
224- .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, _1, name))
0cfe325a 225+ .set_coercer(std::bind(&sbx_xcvr::set_tx_gain, this, std::placeholders::_1, name))
245f21b5
JB
226 .set(sbx_tx_gain_ranges[name].start());
227 this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
228 .set(sbx_tx_gain_ranges[name]);
229 }
230 this->get_tx_subtree()->create<double>("freq/value")
231- .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
0cfe325a 232+ .set_coercer(std::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, std::placeholders::_1))
245f21b5
JB
233 .set((freq_range.start() + freq_range.stop())/2.0);
234 this->get_tx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
235 this->get_tx_subtree()->create<std::string>("antenna/value")
236- .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, _1))
0cfe325a 237+ .add_coerced_subscriber(std::bind(&sbx_xcvr::set_tx_ant, this, std::placeholders::_1))
245f21b5
JB
238 .set(sbx_tx_antennas.at(0));
239 this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
240 .set(sbx_tx_antennas);
0cfe325a
JB
241--- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version3.cpp.orig 2020-01-01 05:21:49.000000000 +0100
242+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version3.cpp 2020-07-10 13:05:49.216127388 +0200
243@@ -20,8 +20,8 @@
245f21b5
JB
244 sbx_xcvr::sbx_version3::sbx_version3(sbx_xcvr *_self_sbx_xcvr) {
245 //register the handle to our base SBX class
246 self_base = _self_sbx_xcvr;
247- _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
248- _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
0cfe325a
JB
249+ _txlo = adf435x_iface::make_adf4350(std::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
250+ _rxlo = adf435x_iface::make_adf4350(std::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
245f21b5
JB
251 }
252
253 sbx_xcvr::sbx_version3::~sbx_version3(void){
0cfe325a
JB
254--- uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version4.cpp.orig 2020-01-01 05:21:49.000000000 +0100
255+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_sbx_version4.cpp 2020-07-10 13:06:38.189195412 +0200
256@@ -20,8 +20,8 @@
245f21b5
JB
257 sbx_xcvr::sbx_version4::sbx_version4(sbx_xcvr *_self_sbx_xcvr) {
258 //register the handle to our base SBX class
259 self_base = _self_sbx_xcvr;
260- _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
261- _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
0cfe325a
JB
262+ _txlo = adf435x_iface::make_adf4351(std::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
263+ _rxlo = adf435x_iface::make_adf4351(std::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
245f21b5
JB
264 }
265
266
0cfe325a
JB
267--- uhd-3.15.0.0/host/lib/usrp/dboard/db_cbx.cpp.orig 2020-01-01 05:21:49.000000000 +0100
268+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_cbx.cpp 2020-07-10 13:13:36.733594629 +0200
269@@ -19,8 +19,8 @@
245f21b5
JB
270 sbx_xcvr::cbx::cbx(sbx_xcvr *_self_sbx_xcvr) {
271 //register the handle to our base CBX class
272 self_base = _self_sbx_xcvr;
273- _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
274- _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
0cfe325a
JB
275+ _txlo = max287x_iface::make<max2870>(std::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, std::placeholders::_1));
276+ _rxlo = max287x_iface::make<max2870>(std::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, std::placeholders::_1));
245f21b5
JB
277 }
278
279
0cfe325a
JB
280--- uhd-3.15.0.0/host/lib/usrp/dboard/db_ubx.cpp.orig 2020-01-01 05:21:49.000000000 +0100
281+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_ubx.cpp 2020-07-10 14:55:54.540343277 +0200
282@@ -395,10 +395,10 @@
245f21b5
JB
283 // Initialize LOs
284 if (_rev == 0)
285 {
286- _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
287- _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
288- _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
289- _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
0cfe325a
JB
290+ _txlo1 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, std::placeholders::_1));
291+ _txlo2 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, std::placeholders::_1));
292+ _rxlo1 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, std::placeholders::_1));
293+ _rxlo2 = max287x_iface::make<max2870>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, std::placeholders::_1));
294 std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
295 for(max287x_iface::sptr lo: los)
245f21b5 296 {
0cfe325a 297@@ -409,10 +409,10 @@
245f21b5
JB
298 }
299 else if (_rev == 1 or _rev == 2)
300 {
301- _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
302- _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
303- _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
304- _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
0cfe325a
JB
305+ _txlo1 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, std::placeholders::_1));
306+ _txlo2 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, std::placeholders::_1));
307+ _rxlo1 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, std::placeholders::_1));
308+ _rxlo2 = max287x_iface::make<max2871>(std::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, std::placeholders::_1));
309 std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2};
310 for(max287x_iface::sptr lo: los)
245f21b5 311 {
0cfe325a 312@@ -439,12 +439,12 @@
245f21b5
JB
313 get_rx_subtree()->create<std::vector<std::string> >("power_mode/options")
314 .set(ubx_power_modes);
315 get_rx_subtree()->create<std::string>("power_mode/value")
316- .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, _1))
0cfe325a 317+ .add_coerced_subscriber(std::bind(&ubx_xcvr::set_power_mode, this, std::placeholders::_1))
245f21b5
JB
318 .set("performance");
319 get_rx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
320 .set(ubx_xcvr_modes);
321 get_rx_subtree()->create<std::string>("xcvr_mode/value")
322- .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, _1))
0cfe325a 323+ .add_coerced_subscriber(std::bind(&ubx_xcvr::set_xcvr_mode, this, std::placeholders::_1))
245f21b5 324 .set("FDX");
0cfe325a
JB
325 get_rx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
326 .set(ubx_temp_comp_modes);
327@@ -456,13 +456,13 @@
245f21b5
JB
328 get_tx_subtree()->create<std::vector<std::string> >("power_mode/options")
329 .set(ubx_power_modes);
330 get_tx_subtree()->create<std::string>("power_mode/value")
331- .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), _1))
0cfe325a
JB
332- .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
333+ .add_coerced_subscriber(std::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), std::placeholders::_1))
334+ .set_publisher(std::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
245f21b5
JB
335 get_tx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
336 .set(ubx_xcvr_modes);
337 get_tx_subtree()->create<std::string>("xcvr_mode/value")
338- .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), _1))
0cfe325a
JB
339- .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
340+ .add_coerced_subscriber(std::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), std::placeholders::_1))
341+ .set_publisher(std::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
342 get_tx_subtree()->create<std::vector<std::string> >("temp_comp_mode/options")
343 .set(ubx_temp_comp_modes);
344 get_tx_subtree()
345@@ -486,20 +486,20 @@
346 get_tx_subtree()->create<device_addr_t>("tune_args")
347 .set(device_addr_t());
245f21b5 348 get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
0cfe325a
JB
349- .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "TXLO"));
350+ .set_publisher(std::bind(&ubx_xcvr::get_locked, this, "TXLO"));
245f21b5
JB
351 get_tx_subtree()->create<double>("gains/PGA0/value")
352- .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, _1)).set(0);
0cfe325a 353+ .set_coercer(std::bind(&ubx_xcvr::set_tx_gain, this, std::placeholders::_1)).set(0);
245f21b5
JB
354 get_tx_subtree()->create<meta_range_t>("gains/PGA0/range")
355 .set(ubx_tx_gain_range);
356 get_tx_subtree()->create<double>("freq/value")
357- .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, _1))
0cfe325a 358+ .set_coercer(std::bind(&ubx_xcvr::set_tx_freq, this, std::placeholders::_1))
245f21b5
JB
359 .set(ubx_freq_range.start());
360 get_tx_subtree()->create<meta_range_t>("freq/range")
361 .set(ubx_freq_range);
362 get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
363 .set(ubx_tx_antennas);
364 get_tx_subtree()->create<std::string>("antenna/value")
0cfe325a
JB
365- .set_coercer(boost::bind(&ubx_xcvr::set_tx_ant, this, _1))
366+ .set_coercer(std::bind(&ubx_xcvr::set_tx_ant, this, std::placeholders::_1))
245f21b5
JB
367 .set(ubx_tx_antennas.at(0));
368 get_tx_subtree()->create<std::string>("connection")
369 .set("QI");
0cfe325a 370@@ -512,7 +512,7 @@
245f21b5
JB
371 get_tx_subtree()->create<meta_range_t>("bandwidth/range")
372 .set(freq_range_t(bw, bw));
373 get_tx_subtree()->create<int64_t>("sync_delay")
374- .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, _1))
0cfe325a
JB
375+ .add_coerced_subscriber(std::bind(&ubx_xcvr::set_sync_delay, this, true, std::placeholders::_1))
376 .set(0);
245f21b5
JB
377
378 ////////////////////////////////////////////////////////////////////
0cfe325a
JB
379@@ -522,21 +522,21 @@
380 get_rx_subtree()->create<device_addr_t>("tune_args")
381 .set(device_addr_t());
245f21b5 382 get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
0cfe325a
JB
383- .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "RXLO"));
384+ .set_publisher(std::bind(&ubx_xcvr::get_locked, this, "RXLO"));
245f21b5
JB
385 get_rx_subtree()->create<double>("gains/PGA0/value")
386- .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, _1))
0cfe325a 387+ .set_coercer(std::bind(&ubx_xcvr::set_rx_gain, this, std::placeholders::_1))
245f21b5
JB
388 .set(0);
389 get_rx_subtree()->create<meta_range_t>("gains/PGA0/range")
390 .set(ubx_rx_gain_range);
391 get_rx_subtree()->create<double>("freq/value")
392- .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, _1))
0cfe325a 393+ .set_coercer(std::bind(&ubx_xcvr::set_rx_freq, this, std::placeholders::_1))
245f21b5
JB
394 .set(ubx_freq_range.start());
395 get_rx_subtree()->create<meta_range_t>("freq/range")
396 .set(ubx_freq_range);
397 get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
398 .set(ubx_rx_antennas);
399 get_rx_subtree()->create<std::string>("antenna/value")
0cfe325a
JB
400- .set_coercer(boost::bind(&ubx_xcvr::set_rx_ant, this, _1)).set("RX2");
401+ .set_coercer(std::bind(&ubx_xcvr::set_rx_ant, this, std::placeholders::_1)).set("RX2");
245f21b5
JB
402 get_rx_subtree()->create<std::string>("connection")
403 .set("IQ");
404 get_rx_subtree()->create<bool>("enabled")
0cfe325a 405@@ -548,7 +548,7 @@
245f21b5
JB
406 get_rx_subtree()->create<meta_range_t>("bandwidth/range")
407 .set(freq_range_t(bw, bw));
408 get_rx_subtree()->create<int64_t>("sync_delay")
409- .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, _1))
0cfe325a
JB
410+ .add_coerced_subscriber(std::bind(&ubx_xcvr::set_sync_delay, this, false, std::placeholders::_1))
411 .set(0);
245f21b5
JB
412 }
413
0cfe325a
JB
414--- uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx.cpp.orig 2020-01-01 05:21:49.000000000 +0100
415+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx.cpp 2020-07-10 16:14:10.521569631 +0200
416@@ -195,16 +195,16 @@
417 this->get_rx_subtree()->create<std::string>("name")
418 .set("DBSRX");
419 this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
420- .set_publisher(boost::bind(&dbsrx::get_locked, this));
421+ .set_publisher(std::bind(&dbsrx::get_locked, this));
422 for(const std::string &name: dbsrx_gain_ranges.keys()){
245f21b5
JB
423 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
424- .set_coercer(boost::bind(&dbsrx::set_gain, this, _1, name))
0cfe325a 425+ .set_coercer(std::bind(&dbsrx::set_gain, this, std::placeholders::_1, name))
245f21b5
JB
426 .set(dbsrx_gain_ranges[name].start());
427 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
428 .set(dbsrx_gain_ranges[name]);
429 }
430 this->get_rx_subtree()->create<double>("freq/value")
431- .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, _1));
0cfe325a 432+ .set_coercer(std::bind(&dbsrx::set_lo_freq, this, std::placeholders::_1));
245f21b5
JB
433 this->get_rx_subtree()->create<meta_range_t>("freq/range")
434 .set(dbsrx_freq_range);
435 this->get_rx_subtree()->create<std::string>("antenna/value")
0cfe325a 436@@ -218,7 +218,7 @@
245f21b5
JB
437 this->get_rx_subtree()->create<bool>("use_lo_offset")
438 .set(false);
439 this->get_rx_subtree()->create<double>("bandwidth/value")
440- .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, _1));
0cfe325a 441+ .set_coercer(std::bind(&dbsrx::set_bandwidth, this, std::placeholders::_1));
245f21b5
JB
442 this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
443 .set(dbsrx_bandwidth_range);
444
0cfe325a
JB
445--- uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx.cpp.orig 2020-01-01 05:21:49.000000000 +0100
446+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx.cpp 2020-07-10 16:20:42.599445562 +0200
447@@ -180,12 +180,12 @@
245f21b5 448 this->get_rx_subtree()->create<int>("sensors"); //phony property so this dir exists
0cfe325a 449 for(const std::string &name: get_tvrx_gain_ranges().keys()){
245f21b5
JB
450 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
451- .set_coercer(boost::bind(&tvrx::set_gain, this, _1, name));
0cfe325a 452+ .set_coercer(std::bind(&tvrx::set_gain, this, std::placeholders::_1, name));
245f21b5
JB
453 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
454 .set(get_tvrx_gain_ranges()[name]);
455 }
456 this->get_rx_subtree()->create<double>("freq/value")
457- .set_coercer(boost::bind(&tvrx::set_freq, this, _1));
0cfe325a 458+ .set_coercer(std::bind(&tvrx::set_freq, this, std::placeholders::_1));
245f21b5
JB
459 this->get_rx_subtree()->create<meta_range_t>("freq/range")
460 .set(tvrx_freq_range);
461 this->get_rx_subtree()->create<std::string>("antenna/value")
0cfe325a
JB
462--- uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx2.cpp.orig 2020-01-01 05:21:49.000000000 +0100
463+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_dbsrx2.cpp 2020-07-10 16:21:28.555863262 +0200
464@@ -176,16 +176,16 @@
465 this->get_rx_subtree()->create<std::string>("name")
466 .set("DBSRX");
467 this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
468- .set_publisher(boost::bind(&dbsrx2::get_locked, this));
469+ .set_publisher(std::bind(&dbsrx2::get_locked, this));
470 for(const std::string &name: dbsrx2_gain_ranges.keys()){
245f21b5
JB
471 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
472- .set_coercer(boost::bind(&dbsrx2::set_gain, this, _1, name))
0cfe325a 473+ .set_coercer(std::bind(&dbsrx2::set_gain, this, std::placeholders::_1, name))
245f21b5
JB
474 .set(dbsrx2_gain_ranges[name].start());
475 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
476 .set(dbsrx2_gain_ranges[name]);
477 }
478 this->get_rx_subtree()->create<double>("freq/value")
479- .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, _1))
0cfe325a 480+ .set_coercer(std::bind(&dbsrx2::set_lo_freq, this, std::placeholders::_1))
245f21b5
JB
481 .set(dbsrx2_freq_range.start());
482 this->get_rx_subtree()->create<meta_range_t>("freq/range")
483 .set(dbsrx2_freq_range);
0cfe325a 484@@ -203,7 +203,7 @@
245f21b5
JB
485 double codec_rate = this->get_iface()->get_codec_rate(dboard_iface::UNIT_RX);
486
487 this->get_rx_subtree()->create<double>("bandwidth/value")
488- .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, _1))
0cfe325a 489+ .set_coercer(std::bind(&dbsrx2::set_bandwidth, this, std::placeholders::_1))
245f21b5
JB
490 .set(2.0*(0.8*codec_rate/2.0)); //bandwidth in lowpass, convert to complex bandpass
491 //default to anti-alias at different codec_rate
492 this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
0cfe325a
JB
493--- uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx2.cpp.orig 2020-01-01 05:21:49.000000000 +0100
494+++ uhd-3.15.0.0/host/lib/usrp/dboard/db_tvrx2.cpp 2020-07-10 16:22:25.432221803 +0200
495@@ -951,19 +951,19 @@
496 this->get_rx_subtree()->create<std::string>("name")
497 .set("TVRX2");
498 this->get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
499- .set_publisher(boost::bind(&tvrx2::get_locked, this));
500+ .set_publisher(std::bind(&tvrx2::get_locked, this));
501 this->get_rx_subtree()->create<sensor_value_t>("sensors/rssi")
502- .set_publisher(boost::bind(&tvrx2::get_rssi, this));
503+ .set_publisher(std::bind(&tvrx2::get_rssi, this));
504 this->get_rx_subtree()->create<sensor_value_t>("sensors/temperature")
505- .set_publisher(boost::bind(&tvrx2::get_temp, this));
506+ .set_publisher(std::bind(&tvrx2::get_temp, this));
507 for(const std::string &name: tvrx2_gain_ranges.keys()){
245f21b5
JB
508 this->get_rx_subtree()->create<double>("gains/"+name+"/value")
509- .set_coercer(boost::bind(&tvrx2::set_gain, this, _1, name));
0cfe325a 510+ .set_coercer(std::bind(&tvrx2::set_gain, this, std::placeholders::_1, name));
245f21b5
JB
511 this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
512 .set(tvrx2_gain_ranges[name]);
513 }
514 this->get_rx_subtree()->create<double>("freq/value")
515- .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, _1));
0cfe325a 516+ .set_coercer(std::bind(&tvrx2::set_lo_freq, this, std::placeholders::_1));
245f21b5
JB
517 this->get_rx_subtree()->create<meta_range_t>("freq/range")
518 .set(tvrx2_freq_range);
519 this->get_rx_subtree()->create<std::string>("antenna/value")
0cfe325a 520@@ -973,12 +973,12 @@
245f21b5
JB
521 this->get_rx_subtree()->create<std::string>("connection")
522 .set(tvrx2_sd_name_to_conn[get_subdev_name()]);
523 this->get_rx_subtree()->create<bool>("enabled")
524- .set_coercer(boost::bind(&tvrx2::set_enabled, this, _1))
0cfe325a 525+ .set_coercer(std::bind(&tvrx2::set_enabled, this, std::placeholders::_1))
245f21b5
JB
526 .set(_enabled);
527 this->get_rx_subtree()->create<bool>("use_lo_offset")
528 .set(false);
529 this->get_rx_subtree()->create<double>("bandwidth/value")
530- .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, _1))
0cfe325a 531+ .set_coercer(std::bind(&tvrx2::set_bandwidth, this, std::placeholders::_1))
245f21b5
JB
532 .set(_bandwidth);
533 this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
534 .set(tvrx2_bandwidth_range);
0cfe325a
JB
535--- uhd-3.15.0.0/host/lib/usrp/b100/b100_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
536+++ uhd-3.15.0.0/host/lib/usrp/b100/b100_impl.cpp 2020-07-10 16:59:19.426894232 +0200
537@@ -274,7 +274,7 @@
245f21b5
JB
538 _tree->create<std::string>(mb_path / "name").set("B100");
539 _tree->create<std::string>(mb_path / "codename").set("B-Hundo");
540 _tree->create<std::string>(mb_path / "load_eeprom")
541- .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, _1));
0cfe325a 542+ .add_coerced_subscriber(std::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, std::placeholders::_1));
245f21b5
JB
543
544 ////////////////////////////////////////////////////////////////////
545 // setup the mboard eeprom
0cfe325a
JB
546@@ -282,20 +282,20 @@
547 const mboard_eeprom_t mb_eeprom = this->get_mb_eeprom(_fx2_ctrl);
245f21b5
JB
548 _tree->create<mboard_eeprom_t>(mb_path / "eeprom")
549 .set(mb_eeprom)
550- .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, _1));
0cfe325a 551+ .add_coerced_subscriber(std::bind(&b100_impl::set_mb_eeprom, this, std::placeholders::_1));
245f21b5
JB
552
553 ////////////////////////////////////////////////////////////////////
554 // create clock control objects
0cfe325a 555 ////////////////////////////////////////////////////////////////////
245f21b5
JB
556 //^^^ clock created up top, just reg props here... ^^^
557 _tree->create<double>(mb_path / "tick_rate")
0cfe325a 558- .set_publisher(boost::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
245f21b5
JB
559- .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, _1))
560- .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, _1));
0cfe325a
JB
561+ .set_publisher(std::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
562+ .add_coerced_subscriber(std::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, std::placeholders::_1))
563+ .add_coerced_subscriber(std::bind(&b100_impl::update_tick_rate, this, std::placeholders::_1));
245f21b5
JB
564
565 //add_coerced_subscriber the command time while we are at it
566 _tree->create<time_spec_t>(mb_path / "time/cmd")
567- .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, _1));
0cfe325a 568+ .add_coerced_subscriber(std::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, std::placeholders::_1));
245f21b5
JB
569
570 ////////////////////////////////////////////////////////////////////
571 // create codec control objects
0cfe325a 572@@ -306,20 +306,20 @@
245f21b5
JB
573 _tree->create<std::string>(rx_codec_path / "name").set("ad9522");
574 _tree->create<meta_range_t>(rx_codec_path / "gains/pga/range").set(b100_codec_ctrl::rx_pga_gain_range);
575 _tree->create<double>(rx_codec_path / "gains/pga/value")
576- .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, _1))
0cfe325a 577+ .set_coercer(std::bind(&b100_impl::update_rx_codec_gain, this, std::placeholders::_1))
245f21b5
JB
578 .set(0.0);
579 _tree->create<std::string>(tx_codec_path / "name").set("ad9522");
580 _tree->create<meta_range_t>(tx_codec_path / "gains/pga/range").set(b100_codec_ctrl::tx_pga_gain_range);
581 _tree->create<double>(tx_codec_path / "gains/pga/value")
582- .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, _1))
0cfe325a
JB
583- .set_publisher(boost::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
584+ .add_coerced_subscriber(std::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, std::placeholders::_1))
585+ .set_publisher(std::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
245f21b5
JB
586 .set(0.0);
587
0cfe325a
JB
588 ////////////////////////////////////////////////////////////////////
589 // and do the misc mboard sensors
590 ////////////////////////////////////////////////////////////////////
591 _tree->create<sensor_value_t>(mb_path / "sensors/ref_locked")
592- .set_publisher(boost::bind(&b100_impl::get_ref_locked, this));
593+ .set_publisher(std::bind(&b100_impl::get_ref_locked, this));
594
595 ////////////////////////////////////////////////////////////////////
596 // create frontend control objects
597@@ -328,27 +328,27 @@
245f21b5
JB
598 _tx_fe = tx_frontend_core_200::make(_fifo_ctrl, TOREG(SR_TX_FE));
599
600 _tree->create<subdev_spec_t>(mb_path / "rx_subdev_spec")
601- .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, _1));
0cfe325a 602+ .add_coerced_subscriber(std::bind(&b100_impl::update_rx_subdev_spec, this, std::placeholders::_1));
245f21b5
JB
603 _tree->create<subdev_spec_t>(mb_path / "tx_subdev_spec")
604- .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, _1));
0cfe325a 605+ .add_coerced_subscriber(std::bind(&b100_impl::update_tx_subdev_spec, this, std::placeholders::_1));
245f21b5
JB
606
607 const fs_path rx_fe_path = mb_path / "rx_frontends" / "A";
608 const fs_path tx_fe_path = mb_path / "tx_frontends" / "A";
609
610 _tree->create<std::complex<double> >(rx_fe_path / "dc_offset" / "value")
611- .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, _1))
0cfe325a 612+ .set_coercer(std::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, std::placeholders::_1))
245f21b5
JB
613 .set(std::complex<double>(0.0, 0.0));
614 _tree->create<bool>(rx_fe_path / "dc_offset" / "enable")
615- .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, _1))
0cfe325a 616+ .add_coerced_subscriber(std::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, std::placeholders::_1))
245f21b5
JB
617 .set(true);
618 _tree->create<std::complex<double> >(rx_fe_path / "iq_balance" / "value")
619- .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, _1))
0cfe325a 620+ .add_coerced_subscriber(std::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, std::placeholders::_1))
245f21b5
JB
621 .set(std::complex<double>(0.0, 0.0));
622 _tree->create<std::complex<double> >(tx_fe_path / "dc_offset" / "value")
623- .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, _1))
0cfe325a 624+ .set_coercer(std::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, std::placeholders::_1))
245f21b5
JB
625 .set(std::complex<double>(0.0, 0.0));
626 _tree->create<std::complex<double> >(tx_fe_path / "iq_balance" / "value")
627- .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, _1))
0cfe325a 628+ .add_coerced_subscriber(std::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, std::placeholders::_1))
245f21b5
JB
629 .set(std::complex<double>(0.0, 0.0));
630
631 ////////////////////////////////////////////////////////////////////
0cfe325a 632@@ -367,20 +367,20 @@
245f21b5
JB
633
634 _rx_dsps[dspno]->set_link_rate(B100_LINK_RATE_BPS);
635 _tree->access<double>(mb_path / "tick_rate")
636- .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], _1));
0cfe325a 637+ .add_coerced_subscriber(std::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], std::placeholders::_1));
245f21b5
JB
638 fs_path rx_dsp_path = mb_path / str(boost::format("rx_dsps/%u") % dspno);
639 _tree->create<meta_range_t>(rx_dsp_path / "rate/range")
0cfe325a
JB
640- .set_publisher(boost::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
641+ .set_publisher(std::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
245f21b5
JB
642 _tree->create<double>(rx_dsp_path / "rate/value")
643 .set(1e6) //some default
644- .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], _1))
645- .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, _1));
0cfe325a
JB
646+ .set_coercer(std::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], std::placeholders::_1))
647+ .add_coerced_subscriber(std::bind(&b100_impl::update_rx_samp_rate, this, dspno, std::placeholders::_1));
245f21b5
JB
648 _tree->create<double>(rx_dsp_path / "freq/value")
649- .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], _1));
0cfe325a 650+ .set_coercer(std::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], std::placeholders::_1));
245f21b5 651 _tree->create<meta_range_t>(rx_dsp_path / "freq/range")
0cfe325a
JB
652- .set_publisher(boost::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
653+ .set_publisher(std::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
245f21b5
JB
654 _tree->create<stream_cmd_t>(rx_dsp_path / "stream_cmd")
655- .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], _1));
0cfe325a 656+ .add_coerced_subscriber(std::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], std::placeholders::_1));
245f21b5
JB
657 }
658
659 ////////////////////////////////////////////////////////////////////
0cfe325a 660@@ -391,17 +391,17 @@
245f21b5
JB
661 );
662 _tx_dsp->set_link_rate(B100_LINK_RATE_BPS);
663 _tree->access<double>(mb_path / "tick_rate")
664- .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, _1));
0cfe325a 665+ .add_coerced_subscriber(std::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, std::placeholders::_1));
245f21b5 666 _tree->create<meta_range_t>(mb_path / "tx_dsps/0/rate/range")
0cfe325a
JB
667- .set_publisher(boost::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
668+ .set_publisher(std::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
245f21b5
JB
669 _tree->create<double>(mb_path / "tx_dsps/0/rate/value")
670 .set(1e6) //some default
671- .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, _1))
672- .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, _1));
0cfe325a
JB
673+ .set_coercer(std::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, std::placeholders::_1))
674+ .add_coerced_subscriber(std::bind(&b100_impl::update_tx_samp_rate, this, 0, std::placeholders::_1));
245f21b5
JB
675 _tree->create<double>(mb_path / "tx_dsps/0/freq/value")
676- .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, _1));
0cfe325a 677+ .set_coercer(std::bind(&tx_dsp_core_200::set_freq, _tx_dsp, std::placeholders::_1));
245f21b5 678 _tree->create<meta_range_t>(mb_path / "tx_dsps/0/freq/range")
0cfe325a
JB
679- .set_publisher(boost::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
680+ .set_publisher(std::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
245f21b5 681
0cfe325a
JB
682 ////////////////////////////////////////////////////////////////////
683 // create time control objects
684@@ -415,21 +415,21 @@
245f21b5
JB
685 _fifo_ctrl, TOREG(SR_TIME64), time64_rb_bases
686 );
687 _tree->access<double>(mb_path / "tick_rate")
688- .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, _1));
0cfe325a 689+ .add_coerced_subscriber(std::bind(&time64_core_200::set_tick_rate, _time64, std::placeholders::_1));
245f21b5 690 _tree->create<time_spec_t>(mb_path / "time/now")
0cfe325a 691- .set_publisher(boost::bind(&time64_core_200::get_time_now, _time64))
245f21b5 692- .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, _1));
0cfe325a
JB
693+ .set_publisher(std::bind(&time64_core_200::get_time_now, _time64))
694+ .add_coerced_subscriber(std::bind(&time64_core_200::set_time_now, _time64, std::placeholders::_1));
245f21b5 695 _tree->create<time_spec_t>(mb_path / "time/pps")
0cfe325a 696- .set_publisher(boost::bind(&time64_core_200::get_time_last_pps, _time64))
245f21b5 697- .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, _1));
0cfe325a
JB
698+ .set_publisher(std::bind(&time64_core_200::get_time_last_pps, _time64))
699+ .add_coerced_subscriber(std::bind(&time64_core_200::set_time_next_pps, _time64, std::placeholders::_1));
245f21b5
JB
700 //setup time source props
701 _tree->create<std::string>(mb_path / "time_source/value")
702- .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, _1));
0cfe325a 703+ .add_coerced_subscriber(std::bind(&time64_core_200::set_time_source, _time64, std::placeholders::_1));
245f21b5 704 _tree->create<std::vector<std::string> >(mb_path / "time_source/options")
0cfe325a
JB
705- .set_publisher(boost::bind(&time64_core_200::get_time_sources, _time64));
706+ .set_publisher(std::bind(&time64_core_200::get_time_sources, _time64));
245f21b5
JB
707 //setup reference source props
708 _tree->create<std::string>(mb_path / "clock_source/value")
709- .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, _1));
0cfe325a
JB
710+ .add_coerced_subscriber(std::bind(&b100_impl::update_clock_source, this, std::placeholders::_1));
711 static const std::vector<std::string> clock_sources = {
712 "internal", "external", "auto"
713 };
714@@ -440,7 +440,7 @@
245f21b5
JB
715 ////////////////////////////////////////////////////////////////////
716 _user = user_settings_core_200::make(_fifo_ctrl, TOREG(SR_USER_REGS));
717 _tree->create<user_settings_core_200::user_reg_t>(mb_path / "user/regs")
718- .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, _1));
0cfe325a 719+ .add_coerced_subscriber(std::bind(&user_settings_core_200::set_reg, _user, std::placeholders::_1));
245f21b5
JB
720
721 ////////////////////////////////////////////////////////////////////
722 // create dboard control objects
0cfe325a 723@@ -458,13 +458,13 @@
245f21b5
JB
724 //create the properties and register subscribers
725 _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/rx_eeprom")
726 .set(rx_db_eeprom)
727- .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", _1));
0cfe325a 728+ .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "rx", std::placeholders::_1));
245f21b5
JB
729 _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/tx_eeprom")
730 .set(tx_db_eeprom)
731- .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", _1));
0cfe325a 732+ .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "tx", std::placeholders::_1));
245f21b5
JB
733 _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/gdb_eeprom")
734 .set(gdb_eeprom)
735- .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", _1));
0cfe325a 736+ .add_coerced_subscriber(std::bind(&b100_impl::set_db_eeprom, this, "gdb", std::placeholders::_1));
245f21b5
JB
737
738 //create a new dboard interface and manager
739 _dboard_manager = dboard_manager::make(
0cfe325a 740@@ -477,12 +477,12 @@
245f21b5 741 const fs_path db_tx_fe_path = mb_path / "dboards" / "A" / "tx_frontends";
0cfe325a 742 for(const std::string &name: _tree->list(db_tx_fe_path)){
245f21b5
JB
743 _tree->access<double>(db_tx_fe_path / name / "freq" / "value")
744- .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, _1));
0cfe325a 745+ .add_coerced_subscriber(std::bind(&b100_impl::set_tx_fe_corrections, this, std::placeholders::_1));
245f21b5
JB
746 }
747 const fs_path db_rx_fe_path = mb_path / "dboards" / "A" / "rx_frontends";
0cfe325a 748 for(const std::string &name: _tree->list(db_rx_fe_path)){
245f21b5
JB
749 _tree->access<double>(db_rx_fe_path / name / "freq" / "value")
750- .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, _1));
0cfe325a 751+ .add_coerced_subscriber(std::bind(&b100_impl::set_rx_fe_corrections, this, std::placeholders::_1));
245f21b5
JB
752 }
753
754 //initialize io handling
0cfe325a 755@@ -498,7 +498,7 @@
245f21b5
JB
756 this->update_rates();
757
758 _tree->access<double>(mb_path / "tick_rate") //now add_coerced_subscriber the clock rate setter
759- .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, _1));
0cfe325a 760+ .add_coerced_subscriber(std::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, std::placeholders::_1));
245f21b5
JB
761
762 //reset cordic rates and their properties to zero
0cfe325a
JB
763 for(const std::string &name: _tree->list(mb_path / "rx_dsps")){
764--- uhd-3.15.0.0/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
765+++ uhd-3.15.0.0/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp 2020-07-10 17:00:26.443197840 +0200
766@@ -151,7 +151,7 @@
767 _tree->create<meta_range_t>("rx_codecs" / _radio_slot / "gains" / "digital" / "range")
768 .set(meta_range_t(0, 6.0, 0.5));
245f21b5 769 _tree->create<double>("rx_codecs" / _radio_slot / "gains" / "digital" / "value")
0cfe325a
JB
770- .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, _1))
771+ .add_coerced_subscriber(std::bind(&x300_adc_ctrl::set_gain, _adc, std::placeholders::_1))
772 .set(0);
245f21b5
JB
773
774 ////////////////////////////////////////////////////////////////
0cfe325a 775@@ -187,7 +187,7 @@
245f21b5
JB
776 if (_tree->exists(fs_path("time") / "cmd")) {
777 _tree->access<time_spec_t>(fs_path("time") / "cmd")
0cfe325a
JB
778 .add_coerced_subscriber(
779- boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, _1, i));
780+ std::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, std::placeholders::_1, i));
245f21b5
JB
781 }
782 }
783
0cfe325a
JB
784@@ -816,11 +816,11 @@
785 // Add to tree
245f21b5
JB
786 _tree->create<dboard_eeprom_t>(db_path / EEPROM_PATHS[i])
787 .set(_db_eeproms[addr])
0cfe325a
JB
788- .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::_set_db_eeprom,
789+ .add_coerced_subscriber(std::bind(&x300_radio_ctrl_impl::_set_db_eeprom,
790 this,
791 zpu_i2c,
792 (BASE_ADDR | addr),
793- _1));
794+ std::placeholders::_1));
245f21b5
JB
795 }
796
0cfe325a
JB
797 // create a new dboard interface
798@@ -893,8 +893,8 @@
799 ->access<std::string>(db_path / "rx_frontends"
800 / _rx_fe_map[i].db_fe_name / "antenna"
801 / "value")
802- .add_desired_subscriber(boost::bind(
803- &x300_radio_ctrl_impl::_update_atr_leds, this, _1, i));
804+ .add_desired_subscriber(std::bind(
805+ &x300_radio_ctrl_impl::_update_atr_leds, this, std::placeholders::_1, i));
806 _update_atr_leds(_tree
807 ->access<std::string>(db_path / "rx_frontends"
808 / _rx_fe_map[i].db_fe_name
809@@ -917,11 +917,11 @@
810 ->access<double>(
811 db_tx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
812 .add_coerced_subscriber(
813- boost::bind(&x300_radio_ctrl_impl::set_tx_fe_corrections,
814+ std::bind(&x300_radio_ctrl_impl::set_tx_fe_corrections,
815 this,
816 db_path,
817 _root_path / "tx_fe_corrections" / _tx_fe_map[i].db_fe_name,
818- _1));
819+ std::placeholders::_1));
245f21b5
JB
820 }
821 }
822 }
0cfe325a
JB
823@@ -934,11 +934,11 @@
824 ->access<double>(
825 db_rx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
826 .add_coerced_subscriber(
827- boost::bind(&x300_radio_ctrl_impl::set_rx_fe_corrections,
828+ std::bind(&x300_radio_ctrl_impl::set_rx_fe_corrections,
829 this,
830 db_path,
831 _root_path / "rx_fe_corrections" / _tx_fe_map[i].db_fe_name,
832- _1));
833+ std::placeholders::_1));
245f21b5
JB
834 }
835 }
836 }
0cfe325a
JB
837--- uhd-3.15.0.0/host/lib/usrp_clock/octoclock/octoclock_impl.cpp.orig 2020-01-01 05:21:49.000000000 +0100
838+++ uhd-3.15.0.0/host/lib/usrp_clock/octoclock/octoclock_impl.cpp 2020-07-10 17:05:19.151612102 +0200
839@@ -232,21 +232,21 @@
245f21b5
JB
840 _oc_dict[oc].eeprom = octoclock_eeprom_t(_oc_dict[oc].ctrl_xport, _proto_ver);
841 _tree->create<octoclock_eeprom_t>(oc_path / "eeprom")
842 .set(_oc_dict[oc].eeprom)
843- .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, _1));
0cfe325a 844+ .add_coerced_subscriber(std::bind(&octoclock_impl::_set_eeprom, this, oc, std::placeholders::_1));
245f21b5
JB
845
846 ////////////////////////////////////////////////////////////////////
847 // Initialize non-GPSDO sensors
0cfe325a
JB
848 ////////////////////////////////////////////////////////////////////
849 _tree->create<uint32_t>(oc_path / "time")
850- .set_publisher(boost::bind(&octoclock_impl::_get_time, this, oc));
851+ .set_publisher(std::bind(&octoclock_impl::_get_time, this, oc));
852 _tree->create<sensor_value_t>(oc_path / "sensors/ext_ref_detected")
853- .set_publisher(boost::bind(&octoclock_impl::_ext_ref_detected, this, oc));
854+ .set_publisher(std::bind(&octoclock_impl::_ext_ref_detected, this, oc));
855 _tree->create<sensor_value_t>(oc_path / "sensors/gps_detected")
856- .set_publisher(boost::bind(&octoclock_impl::_gps_detected, this, oc));
857+ .set_publisher(std::bind(&octoclock_impl::_gps_detected, this, oc));
858 _tree->create<sensor_value_t>(oc_path / "sensors/using_ref")
859- .set_publisher(boost::bind(&octoclock_impl::_which_ref, this, oc));
860+ .set_publisher(std::bind(&octoclock_impl::_which_ref, this, oc));
861 _tree->create<sensor_value_t>(oc_path / "sensors/switch_pos")
862- .set_publisher(boost::bind(&octoclock_impl::_switch_pos, this, oc));
863+ .set_publisher(std::bind(&octoclock_impl::_switch_pos, this, oc));
245f21b5 864
0cfe325a
JB
865 ////////////////////////////////////////////////////////////////////
866 // Check reference and GPSDO
867@@ -266,7 +266,7 @@
868 if(_oc_dict[oc].gps and _oc_dict[oc].gps->gps_detected()){
869 for(const std::string &name: _oc_dict[oc].gps->get_sensors()){
870 _tree->create<sensor_value_t>(oc_path / "sensors" / name)
871- .set_publisher(boost::bind(&gps_ctrl::get_sensor, _oc_dict[oc].gps, name));
872+ .set_publisher(std::bind(&gps_ctrl::get_sensor, _oc_dict[oc].gps, name));
873 }
874 }
875 else{
This page took 2.771409 seconds and 4 git commands to generate.