]> git.pld-linux.org Git - packages/uhd.git/blob - uhd-boost.patch
- updated to 3.10.1.1
[packages/uhd.git] / uhd-boost.patch
1 --- UHD_3.10.1.1_release/include/uhd/utils/byteswap.ipp.orig    2017-01-18 19:00:32.000000000 +0100
2 +++ UHD_3.10.1.1_release/include/uhd/utils/byteswap.ipp 2020-07-08 05:40:29.600351207 +0200
3 @@ -99,12 +99,12 @@
4  /***********************************************************************
5   * Define the templated network to/from host conversions
6   **********************************************************************/
7 -#include <boost/detail/endian.hpp>
8 +#include <boost/predef/other/endian.h>
9  
10  namespace uhd {
11  
12  template<typename T> UHD_INLINE T ntohx(T num){
13 -    #ifdef BOOST_BIG_ENDIAN
14 +    #if BOOST_ENDIAN_BIG_BYTE
15          return num;
16      #else
17          return uhd::byteswap(num);
18 @@ -112,7 +112,7 @@
19  }
20  
21  template<typename T> UHD_INLINE T htonx(T num){
22 -    #ifdef BOOST_BIG_ENDIAN
23 +    #if BOOST_ENDIAN_BIG_BYTE
24          return num;
25      #else
26          return uhd::byteswap(num);
27 @@ -120,7 +120,7 @@
28  }
29  
30  template<typename T> UHD_INLINE T wtohx(T num){
31 -    #ifdef BOOST_BIG_ENDIAN
32 +    #if BOOST_ENDIAN_BIG_BYTE
33          return uhd::byteswap(num);
34      #else
35          return num;
36 @@ -128,7 +128,7 @@
37  }
38  
39  template<typename T> UHD_INLINE T htowx(T num){
40 -    #ifdef BOOST_BIG_ENDIAN
41 +    #if BOOST_ENDIAN_BIG_BYTE
42          return uhd::byteswap(num);
43      #else
44          return num;
45 --- UHD_3.10.1.1_release/lib/rfnoc/ddc_block_ctrl_impl.cpp.orig 2017-01-18 19:00:32.000000000 +0100
46 +++ UHD_3.10.1.1_release/lib/rfnoc/ddc_block_ctrl_impl.cpp      2020-07-08 19:19:33.150784423 +0200
47 @@ -53,43 +53,43 @@
48          for (size_t chan = 0; chan < get_input_ports().size(); chan++) {
49              double default_freq = get_arg<double>("freq", chan);
50              _tree->access<double>(get_arg_path("freq/value", chan))
51 -                .set_coercer(boost::bind(&ddc_block_ctrl_impl::set_freq, this, _1, chan))
52 +                .set_coercer(boost::bind(&ddc_block_ctrl_impl::set_freq, this, boost::placeholders::_1, chan))
53                  .set(default_freq);
54              ;
55              double default_output_rate = get_arg<double>("output_rate", chan);
56              _tree->access<double>(get_arg_path("output_rate/value", chan))
57 -                .set_coercer(boost::bind(&ddc_block_ctrl_impl::set_output_rate, this, _1, chan))
58 +                .set_coercer(boost::bind(&ddc_block_ctrl_impl::set_output_rate, this, boost::placeholders::_1, chan))
59                  .set(default_output_rate)
60              ;
61              _tree->access<double>(get_arg_path("input_rate/value", chan))
62 -                .add_coerced_subscriber(boost::bind(&ddc_block_ctrl_impl::set_input_rate, this, _1, chan))
63 +                .add_coerced_subscriber(boost::bind(&ddc_block_ctrl_impl::set_input_rate, this, boost::placeholders::_1, chan))
64              ;
65  
66              // Legacy properties (for backward compat w/ multi_usrp)
67              const uhd::fs_path dsp_base_path = _root_path / "legacy_api" / chan;
68              // Legacy properties
69              _tree->create<double>(dsp_base_path / "rate/value")
70 -                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("output_rate/value", chan), _1))
71 +                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("output_rate/value", chan), boost::placeholders::_1))
72                  .set_publisher(boost::bind(&lambda_forward_prop, _tree, get_arg_path("output_rate/value", chan)))
73              ;
74              _tree->create<uhd::meta_range_t>(dsp_base_path / "rate/range")
75                  .set_publisher(boost::bind(&ddc_block_ctrl_impl::get_output_rates, this))
76              ;
77              _tree->create<double>(dsp_base_path / "freq/value")
78 -                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan), _1))
79 +                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan), boost::placeholders::_1))
80                  .set_publisher(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan)))
81              ;
82              _tree->create<uhd::meta_range_t>(dsp_base_path / "freq/range")
83                  .set_publisher(boost::bind(&ddc_block_ctrl_impl::get_freq_range, this))
84              ;
85              _tree->access<uhd::time_spec_t>("time/cmd")
86 -                .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_time, this, _1, chan))
87 +                .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_time, this, boost::placeholders::_1, chan))
88              ;
89              if (_tree->exists("tick_rate")) {
90                  const double tick_rate = _tree->access<double>("tick_rate").get();
91                  set_command_tick_rate(tick_rate, chan);
92                  _tree->access<double>("tick_rate")
93 -                    .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_tick_rate, this, _1, chan))
94 +                    .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_tick_rate, this, boost::placeholders::_1, chan))
95                  ;
96              }
97  
98 --- UHD_3.10.1.1_release/lib/rfnoc/duc_block_ctrl_impl.cpp.orig 2017-01-18 19:00:32.000000000 +0100
99 +++ UHD_3.10.1.1_release/lib/rfnoc/duc_block_ctrl_impl.cpp      2020-07-08 20:26:53.098898147 +0200
100 @@ -53,43 +53,43 @@
101          for (size_t chan = 0; chan < get_input_ports().size(); chan++) {
102              double default_freq = get_arg<double>("freq", chan);
103              _tree->access<double>(get_arg_path("freq/value", chan))
104 -                .set_coercer(boost::bind(&duc_block_ctrl_impl::set_freq, this, _1, chan))
105 +                .set_coercer(boost::bind(&duc_block_ctrl_impl::set_freq, this, boost::placeholders::_1, chan))
106                  .set(default_freq);
107              ;
108              double default_input_rate = get_arg<double>("input_rate", chan);
109              _tree->access<double>(get_arg_path("input_rate/value", chan))
110 -                .set_coercer(boost::bind(&duc_block_ctrl_impl::set_input_rate, this, _1, chan))
111 +                .set_coercer(boost::bind(&duc_block_ctrl_impl::set_input_rate, this, boost::placeholders::_1, chan))
112                  .set(default_input_rate)
113              ;
114              _tree->access<double>(get_arg_path("output_rate/value", chan))
115 -                .add_coerced_subscriber(boost::bind(&duc_block_ctrl_impl::set_output_rate, this, _1, chan))
116 +                .add_coerced_subscriber(boost::bind(&duc_block_ctrl_impl::set_output_rate, this, boost::placeholders::_1, chan))
117              ;
118  
119              // Legacy properties (for backward compat w/ multi_usrp)
120              const uhd::fs_path dsp_base_path = _root_path / "legacy_api" / chan;
121              // Legacy properties
122              _tree->create<double>(dsp_base_path / "rate/value")
123 -                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("input_rate/value", chan), _1))
124 +                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("input_rate/value", chan), boost::placeholders::_1))
125                  .set_publisher(boost::bind(&lambda_forward_prop, _tree, get_arg_path("input_rate/value", chan)))
126              ;
127              _tree->create<uhd::meta_range_t>(dsp_base_path / "rate/range")
128                  .set_publisher(boost::bind(&duc_block_ctrl_impl::get_input_rates, this))
129              ;
130              _tree->create<double>(dsp_base_path / "freq/value")
131 -                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan), _1))
132 +                .set_coercer(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan), boost::placeholders::_1))
133                  .set_publisher(boost::bind(&lambda_forward_prop, _tree, get_arg_path("freq/value", chan)))
134              ;
135              _tree->create<uhd::meta_range_t>(dsp_base_path / "freq/range")
136                  .set_publisher(boost::bind(&duc_block_ctrl_impl::get_freq_range, this))
137              ;
138              _tree->access<uhd::time_spec_t>("time/cmd")
139 -                .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_time, this, _1, chan))
140 +                .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_time, this, boost::placeholders::_1, chan))
141              ;
142              if (_tree->exists("tick_rate")) {
143                  const double tick_rate = _tree->access<double>("tick_rate").get();
144                  set_command_tick_rate(tick_rate, chan);
145                  _tree->access<double>("tick_rate")
146 -                    .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_tick_rate, this, _1, chan))
147 +                    .add_coerced_subscriber(boost::bind(&block_ctrl_base::set_command_tick_rate, this, boost::placeholders::_1, chan))
148                  ;
149              }
150  
151 --- UHD_3.10.1.1_release/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp.orig    2017-01-18 19:00:32.000000000 +0100
152 +++ UHD_3.10.1.1_release/lib/rfnoc/dma_fifo_block_ctrl_impl.cpp 2020-07-08 21:00:50.884525182 +0200
153 @@ -43,19 +43,19 @@
154                  // poke32 functor
155                  boost::bind(
156                      static_cast< void (block_ctrl_base::*)(const uint32_t, const uint32_t, const size_t) >(&block_ctrl_base::sr_write),
157 -                    this, _1, _2, i
158 +                    this, boost::placeholders::_1, boost::placeholders::_2, i
159                  ),
160                  // peek32 functor
161                  boost::bind(
162                      static_cast< uint32_t (block_ctrl_base::*)(const uint32_t, const size_t) >(&block_ctrl_base::user_reg_read32),
163                      this,
164 -                    _1, i
165 +                    boost::placeholders::_1, i
166                  ),
167                  // peek64 functor
168                  boost::bind(
169                      static_cast< uint64_t (block_ctrl_base::*)(const uint32_t, const size_t) >(&block_ctrl_base::user_reg_read64),
170                      this,
171 -                    _1, i
172 +                    boost::placeholders::_1, i
173                  )
174              );
175              static const uint32_t USER_SR_BASE = 128*4;
176 @@ -81,11 +81,11 @@
177                  }
178              }
179              _tree->access<int>(get_arg_path("base_addr/value", i))
180 -                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize, this, _1, boost::ref(_perifs[i].depth), i))
181 +                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize, this, boost::placeholders::_1, boost::ref(_perifs[i].depth), i))
182                  .set(_perifs[i].base_addr)
183              ;
184              _tree->access<int>(get_arg_path("depth/value", i))
185 -                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize, this, boost::ref(_perifs[i].base_addr), _1, i))
186 +                .add_coerced_subscriber(boost::bind(&dma_fifo_block_ctrl_impl::resize, this, boost::ref(_perifs[i].base_addr), boost::placeholders::_1, i))
187                  .set(_perifs[i].depth)
188              ;
189          }
190 --- UHD_3.10.1.1_release/lib/usrp/multi_usrp.cpp.orig   2017-01-18 19:00:32.000000000 +0100
191 +++ UHD_3.10.1.1_release/lib/usrp/multi_usrp.cpp        2020-07-08 21:03:33.130312888 +0200
192 @@ -221,7 +221,7 @@
193      gain_fcns_t gain_fcns;
194      gain_fcns.get_range = boost::bind(&get_gain_range, subtree);
195      gain_fcns.get_value = boost::bind(&get_gain_value, subtree);
196 -    gain_fcns.set_value = boost::bind(&set_gain_value, subtree, _1);
197 +    gain_fcns.set_value = boost::bind(&set_gain_value, subtree, boost::placeholders::_1);
198      return gain_fcns;
199  }
200  
201 --- UHD_3.10.1.1_release/lib/usrp/cores/rx_vita_core_3000.cpp.orig      2017-01-18 19:00:32.000000000 +0100
202 +++ UHD_3.10.1.1_release/lib/usrp/cores/rx_vita_core_3000.cpp   2020-07-08 21:23:54.500362825 +0200
203 @@ -74,7 +74,7 @@
204          // At 1 ms * 200 MHz = 200k cycles, 8 bytes * 200k cycles = 1.6 MB
205          // of flushed data, when the typical amount of data buffered
206          // is on the order of kilobytes
207 -        boost::this_thread::sleep(boost::posix_time::milliseconds(1.0));
208 +        boost::this_thread::sleep(boost::posix_time::milliseconds(1));
209  
210          _iface->poke32(REG_FC_WINDOW, window_size-1);
211          _iface->poke32(REG_FC_ENABLE, window_size?1:0);
212 --- UHD_3.10.1.1_release/lib/usrp/cores/rx_dsp_core_3000.cpp.orig       2017-01-18 19:00:32.000000000 +0100
213 +++ UHD_3.10.1.1_release/lib/usrp/cores/rx_dsp_core_3000.cpp    2020-07-08 22:08:18.879261980 +0200
214 @@ -284,11 +284,11 @@
215          ;
216          subtree->create<double>("rate/value")
217              .set(DEFAULT_RATE)
218 -            .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, _1))
219 +            .set_coercer(boost::bind(&rx_dsp_core_3000::set_host_rate, this, boost::placeholders::_1))
220          ;
221          subtree->create<double>("freq/value")
222              .set(DEFAULT_CORDIC_FREQ)
223 -            .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, _1))
224 +            .set_coercer(boost::bind(&rx_dsp_core_3000::set_freq, this, boost::placeholders::_1))
225          ;
226          subtree->create<meta_range_t>("freq/range")
227              .set_publisher(boost::bind(&rx_dsp_core_3000::get_freq_range, this))
228 --- UHD_3.10.1.1_release/lib/usrp/cores/tx_dsp_core_3000.cpp.orig       2017-01-18 19:00:32.000000000 +0100
229 +++ UHD_3.10.1.1_release/lib/usrp/cores/tx_dsp_core_3000.cpp    2020-07-08 22:08:52.442413486 +0200
230 @@ -184,11 +184,11 @@
231          ;
232          subtree->create<double>("rate/value")
233              .set(DEFAULT_RATE)
234 -            .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, _1))
235 +            .set_coercer(boost::bind(&tx_dsp_core_3000::set_host_rate, this, boost::placeholders::_1))
236          ;
237          subtree->create<double>("freq/value")
238              .set(DEFAULT_CORDIC_FREQ)
239 -            .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, _1))
240 +            .set_coercer(boost::bind(&tx_dsp_core_3000::set_freq, this, boost::placeholders::_1))
241          ;
242          subtree->create<meta_range_t>("freq/range")
243              .set_publisher(boost::bind(&tx_dsp_core_3000::get_freq_range, this))
244 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_xcvr2450.cpp.orig   2017-01-18 19:00:32.000000000 +0100
245 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_xcvr2450.cpp        2020-07-08 22:28:53.719238944 +0200
246 @@ -236,18 +236,18 @@
247          .set_publisher(boost::bind(&xcvr2450::get_rssi, this));
248      BOOST_FOREACH(const std::string &name, xcvr_rx_gain_ranges.keys()){
249          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
250 -            .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, _1, name))
251 +            .set_coercer(boost::bind(&xcvr2450::set_rx_gain, this, boost::placeholders::_1, name))
252              .set(xcvr_rx_gain_ranges[name].start());
253          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
254              .set(xcvr_rx_gain_ranges[name]);
255      }
256      this->get_rx_subtree()->create<double>("freq/value")
257 -        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
258 +        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, boost::placeholders::_1))
259          .set(double(2.45e9));
260      this->get_rx_subtree()->create<meta_range_t>("freq/range")
261          .set(xcvr_freq_range);
262      this->get_rx_subtree()->create<std::string>("antenna/value")
263 -        .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, _1))
264 +        .add_coerced_subscriber(boost::bind(&xcvr2450::set_rx_ant, this, boost::placeholders::_1))
265          .set(xcvr_antennas.at(0));
266      this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
267          .set(xcvr_antennas);
268 @@ -258,7 +258,7 @@
269      this->get_rx_subtree()->create<bool>("use_lo_offset")
270          .set(false);
271      this->get_rx_subtree()->create<double>("bandwidth/value")
272 -        .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, _1)) //complex bandpass bandwidth 
273 +        .set_coercer(boost::bind(&xcvr2450::set_rx_bandwidth, this, boost::placeholders::_1)) //complex bandpass bandwidth 
274          .set(2.0*_rx_bandwidth); //_rx_bandwidth in lowpass, convert to complex bandpass
275      this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
276          .set(xcvr_rx_bandwidth_range);
277 @@ -272,18 +272,18 @@
278          .set_publisher(boost::bind(&xcvr2450::get_locked, this));
279      BOOST_FOREACH(const std::string &name, xcvr_tx_gain_ranges.keys()){
280          this->get_tx_subtree()->create<double>("gains/"+name+"/value")
281 -            .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, _1, name))
282 +            .set_coercer(boost::bind(&xcvr2450::set_tx_gain, this, boost::placeholders::_1, name))
283              .set(xcvr_tx_gain_ranges[name].start());
284          this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
285              .set(xcvr_tx_gain_ranges[name]);
286      }
287      this->get_tx_subtree()->create<double>("freq/value")
288 -        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, _1))
289 +        .set_coercer(boost::bind(&xcvr2450::set_lo_freq, this, boost::placeholders::_1))
290          .set(double(2.45e9));
291      this->get_tx_subtree()->create<meta_range_t>("freq/range")
292          .set(xcvr_freq_range);
293      this->get_tx_subtree()->create<std::string>("antenna/value")
294 -        .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, _1))
295 +        .add_coerced_subscriber(boost::bind(&xcvr2450::set_tx_ant, this, boost::placeholders::_1))
296          .set(xcvr_antennas.at(1));
297      this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
298          .set(xcvr_antennas);
299 @@ -294,7 +294,7 @@
300      this->get_tx_subtree()->create<bool>("use_lo_offset")
301          .set(false);
302      this->get_tx_subtree()->create<double>("bandwidth/value")
303 -        .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, _1)) //complex bandpass bandwidth
304 +        .set_coercer(boost::bind(&xcvr2450::set_tx_bandwidth, this, boost::placeholders::_1)) //complex bandpass bandwidth
305          .set(2.0*_tx_bandwidth); //_tx_bandwidth in lowpass, convert to complex bandpass
306      this->get_tx_subtree()->create<meta_range_t>("bandwidth/range")
307          .set(xcvr_tx_bandwidth_range);
308 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_common.cpp.orig 2017-01-18 19:00:32.000000000 +0100
309 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_common.cpp      2020-07-08 22:29:40.068987846 +0200
310 @@ -162,17 +162,17 @@
311          .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_RX));
312      BOOST_FOREACH(const std::string &name, sbx_rx_gain_ranges.keys()){
313          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
314 -            .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, _1, name))
315 +            .set_coercer(boost::bind(&sbx_xcvr::set_rx_gain, this, boost::placeholders::_1, name))
316              .set(sbx_rx_gain_ranges[name].start());
317          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
318              .set(sbx_rx_gain_ranges[name]);
319      }
320      this->get_rx_subtree()->create<double>("freq/value")
321 -        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, _1))
322 +        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_RX, boost::placeholders::_1))
323          .set((freq_range.start() + freq_range.stop())/2.0);
324      this->get_rx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
325      this->get_rx_subtree()->create<std::string>("antenna/value")
326 -        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, _1))
327 +        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_rx_ant, this, boost::placeholders::_1))
328          .set("RX2");
329      this->get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
330          .set(sbx_rx_antennas);
331 @@ -203,17 +203,17 @@
332          .set_publisher(boost::bind(&sbx_xcvr::get_locked, this, dboard_iface::UNIT_TX));
333      BOOST_FOREACH(const std::string &name, sbx_tx_gain_ranges.keys()){
334          this->get_tx_subtree()->create<double>("gains/"+name+"/value")
335 -            .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, _1, name))
336 +            .set_coercer(boost::bind(&sbx_xcvr::set_tx_gain, this, boost::placeholders::_1, name))
337              .set(sbx_tx_gain_ranges[name].start());
338          this->get_tx_subtree()->create<meta_range_t>("gains/"+name+"/range")
339              .set(sbx_tx_gain_ranges[name]);
340      }
341      this->get_tx_subtree()->create<double>("freq/value")
342 -        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, _1))
343 +        .set_coercer(boost::bind(&sbx_xcvr::set_lo_freq, this, dboard_iface::UNIT_TX, boost::placeholders::_1))
344          .set((freq_range.start() + freq_range.stop())/2.0);
345      this->get_tx_subtree()->create<meta_range_t>("freq/range").set(freq_range);
346      this->get_tx_subtree()->create<std::string>("antenna/value")
347 -        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, _1))
348 +        .add_coerced_subscriber(boost::bind(&sbx_xcvr::set_tx_ant, this, boost::placeholders::_1))
349          .set(sbx_tx_antennas.at(0));
350      this->get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
351          .set(sbx_tx_antennas);
352 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_version3.cpp.orig       2017-01-18 19:00:32.000000000 +0100
353 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_version3.cpp    2020-07-08 22:36:13.023525695 +0200
354 @@ -30,8 +30,8 @@
355  sbx_xcvr::sbx_version3::sbx_version3(sbx_xcvr *_self_sbx_xcvr) {
356      //register the handle to our base SBX class
357      self_base = _self_sbx_xcvr;
358 -    _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
359 -    _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
360 +    _txlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
361 +    _rxlo = adf435x_iface::make_adf4350(boost::bind(&sbx_xcvr::sbx_version3::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
362  }
363  
364  sbx_xcvr::sbx_version3::~sbx_version3(void){
365 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_version4.cpp.orig       2017-01-18 19:00:32.000000000 +0100
366 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_sbx_version4.cpp    2020-07-09 06:17:05.980383443 +0200
367 @@ -30,8 +30,8 @@
368  sbx_xcvr::sbx_version4::sbx_version4(sbx_xcvr *_self_sbx_xcvr) {
369      //register the handle to our base SBX class
370      self_base = _self_sbx_xcvr;
371 -    _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
372 -    _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
373 +    _txlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
374 +    _rxlo = adf435x_iface::make_adf4351(boost::bind(&sbx_xcvr::sbx_version4::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
375  }
376  
377  
378 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_cbx.cpp.orig        2017-01-18 19:00:32.000000000 +0100
379 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_cbx.cpp     2020-07-09 06:17:37.116881429 +0200
380 @@ -29,8 +29,8 @@
381  sbx_xcvr::cbx::cbx(sbx_xcvr *_self_sbx_xcvr) {
382      //register the handle to our base CBX class
383      self_base = _self_sbx_xcvr;
384 -    _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, _1));
385 -    _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, _1));
386 +    _txlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
387 +    _rxlo = max287x_iface::make<max2870>(boost::bind(&sbx_xcvr::cbx::write_lo_regs, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
388  }
389  
390  
391 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_ubx.cpp.orig        2017-01-18 19:00:32.000000000 +0100
392 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_ubx.cpp     2020-07-09 06:18:37.829885852 +0200
393 @@ -365,10 +365,10 @@
394          // Initialize LOs
395          if (_rev == 0)
396          {
397 -            _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
398 -            _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
399 -            _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
400 -            _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
401 +            _txlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, boost::placeholders::_1));
402 +            _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, boost::placeholders::_1));
403 +            _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, boost::placeholders::_1));
404 +            _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, boost::placeholders::_1));
405              std::vector<max287x_iface::sptr> los = boost::assign::list_of(_txlo1)(_txlo2)(_rxlo1)(_rxlo2);
406              BOOST_FOREACH(max287x_iface::sptr lo, los)
407              {
408 @@ -379,10 +379,10 @@
409          }
410          else if (_rev == 1 or _rev == 2)
411          {
412 -            _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, _1));
413 -            _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1));
414 -            _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1));
415 -            _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1));
416 +            _txlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO1, boost::placeholders::_1));
417 +            _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, boost::placeholders::_1));
418 +            _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, boost::placeholders::_1));
419 +            _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, boost::placeholders::_1));
420              std::vector<max287x_iface::sptr> los = boost::assign::list_of(_txlo1)(_txlo2)(_rxlo1)(_rxlo2);
421              BOOST_FOREACH(max287x_iface::sptr lo, los)
422              {
423 @@ -409,22 +409,22 @@
424          get_rx_subtree()->create<std::vector<std::string> >("power_mode/options")
425              .set(ubx_power_modes);
426          get_rx_subtree()->create<std::string>("power_mode/value")
427 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, _1))
428 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_power_mode, this, boost::placeholders::_1))
429              .set("performance");
430          get_rx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
431              .set(ubx_xcvr_modes);
432          get_rx_subtree()->create<std::string>("xcvr_mode/value")
433 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, _1))
434 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_xcvr_mode, this, boost::placeholders::_1))
435              .set("FDX");
436          get_tx_subtree()->create<std::vector<std::string> >("power_mode/options")
437              .set(ubx_power_modes);
438          get_tx_subtree()->create<std::string>("power_mode/value")
439 -            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), _1))
440 +            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("power_mode/value"), boost::placeholders::_1))
441              .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("power_mode/value")));
442          get_tx_subtree()->create<std::vector<std::string> >("xcvr_mode/options")
443              .set(ubx_xcvr_modes);
444          get_tx_subtree()->create<std::string>("xcvr_mode/value")
445 -            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), _1))
446 +            .add_coerced_subscriber(boost::bind(&uhd::property<std::string>::set, &get_rx_subtree()->access<std::string>("xcvr_mode/value"), boost::placeholders::_1))
447              .set_publisher(boost::bind(&uhd::property<std::string>::get, &get_rx_subtree()->access<std::string>("xcvr_mode/value")));
448  
449          ////////////////////////////////////////////////////////////////////
450 @@ -436,18 +436,18 @@
451          get_tx_subtree()->create<sensor_value_t>("sensors/lo_locked")
452              .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "TXLO"));
453          get_tx_subtree()->create<double>("gains/PGA0/value")
454 -            .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, _1)).set(0);
455 +            .set_coercer(boost::bind(&ubx_xcvr::set_tx_gain, this, boost::placeholders::_1)).set(0);
456          get_tx_subtree()->create<meta_range_t>("gains/PGA0/range")
457              .set(ubx_tx_gain_range);
458          get_tx_subtree()->create<double>("freq/value")
459 -            .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, _1))
460 +            .set_coercer(boost::bind(&ubx_xcvr::set_tx_freq, this, boost::placeholders::_1))
461              .set(ubx_freq_range.start());
462          get_tx_subtree()->create<meta_range_t>("freq/range")
463              .set(ubx_freq_range);
464          get_tx_subtree()->create<std::vector<std::string> >("antenna/options")
465              .set(ubx_tx_antennas);
466          get_tx_subtree()->create<std::string>("antenna/value")
467 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_tx_ant, this, _1))
468 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_tx_ant, this, boost::placeholders::_1))
469              .set(ubx_tx_antennas.at(0));
470          get_tx_subtree()->create<std::string>("connection")
471              .set("QI");
472 @@ -460,7 +460,7 @@
473          get_tx_subtree()->create<meta_range_t>("bandwidth/range")
474              .set(freq_range_t(bw, bw));
475          get_tx_subtree()->create<int64_t>("sync_delay")
476 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, _1))
477 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, true, boost::placeholders::_1))
478              .set(-8);
479  
480          ////////////////////////////////////////////////////////////////////
481 @@ -472,19 +472,19 @@
482          get_rx_subtree()->create<sensor_value_t>("sensors/lo_locked")
483              .set_publisher(boost::bind(&ubx_xcvr::get_locked, this, "RXLO"));
484          get_rx_subtree()->create<double>("gains/PGA0/value")
485 -            .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, _1))
486 +            .set_coercer(boost::bind(&ubx_xcvr::set_rx_gain, this, boost::placeholders::_1))
487              .set(0);
488          get_rx_subtree()->create<meta_range_t>("gains/PGA0/range")
489              .set(ubx_rx_gain_range);
490          get_rx_subtree()->create<double>("freq/value")
491 -            .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, _1))
492 +            .set_coercer(boost::bind(&ubx_xcvr::set_rx_freq, this, boost::placeholders::_1))
493              .set(ubx_freq_range.start());
494          get_rx_subtree()->create<meta_range_t>("freq/range")
495              .set(ubx_freq_range);
496          get_rx_subtree()->create<std::vector<std::string> >("antenna/options")
497              .set(ubx_rx_antennas);
498          get_rx_subtree()->create<std::string>("antenna/value")
499 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_rx_ant, this, _1)).set("RX2");
500 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_rx_ant, this, boost::placeholders::_1)).set("RX2");
501          get_rx_subtree()->create<std::string>("connection")
502              .set("IQ");
503          get_rx_subtree()->create<bool>("enabled")
504 @@ -496,7 +496,7 @@
505          get_rx_subtree()->create<meta_range_t>("bandwidth/range")
506              .set(freq_range_t(bw, bw));
507          get_rx_subtree()->create<int64_t>("sync_delay")
508 -            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, _1))
509 +            .add_coerced_subscriber(boost::bind(&ubx_xcvr::set_sync_delay, this, false, boost::placeholders::_1))
510              .set(-8);
511      }
512  
513 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_dbsrx.cpp.orig      2017-01-18 19:00:32.000000000 +0100
514 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_dbsrx.cpp   2020-07-09 06:20:21.969321680 +0200
515 @@ -207,13 +207,13 @@
516          .set_publisher(boost::bind(&dbsrx::get_locked, this));
517      BOOST_FOREACH(const std::string &name, dbsrx_gain_ranges.keys()){
518          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
519 -            .set_coercer(boost::bind(&dbsrx::set_gain, this, _1, name))
520 +            .set_coercer(boost::bind(&dbsrx::set_gain, this, boost::placeholders::_1, name))
521              .set(dbsrx_gain_ranges[name].start());
522          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
523              .set(dbsrx_gain_ranges[name]);
524      }
525      this->get_rx_subtree()->create<double>("freq/value")
526 -        .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, _1));
527 +        .set_coercer(boost::bind(&dbsrx::set_lo_freq, this, boost::placeholders::_1));
528      this->get_rx_subtree()->create<meta_range_t>("freq/range")
529          .set(dbsrx_freq_range);
530      this->get_rx_subtree()->create<std::string>("antenna/value")
531 @@ -227,7 +227,7 @@
532      this->get_rx_subtree()->create<bool>("use_lo_offset")
533          .set(false);
534      this->get_rx_subtree()->create<double>("bandwidth/value")
535 -        .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, _1));
536 +        .set_coercer(boost::bind(&dbsrx::set_bandwidth, this, boost::placeholders::_1));
537      this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
538          .set(dbsrx_bandwidth_range);
539  
540 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_tvrx.cpp.orig       2017-01-18 19:00:32.000000000 +0100
541 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_tvrx.cpp    2020-07-09 06:21:12.305715651 +0200
542 @@ -190,12 +190,12 @@
543      this->get_rx_subtree()->create<int>("sensors"); //phony property so this dir exists
544      BOOST_FOREACH(const std::string &name, get_tvrx_gain_ranges().keys()){
545          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
546 -            .set_coercer(boost::bind(&tvrx::set_gain, this, _1, name));
547 +            .set_coercer(boost::bind(&tvrx::set_gain, this, boost::placeholders::_1, name));
548          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
549              .set(get_tvrx_gain_ranges()[name]);
550      }
551      this->get_rx_subtree()->create<double>("freq/value")
552 -        .set_coercer(boost::bind(&tvrx::set_freq, this, _1));
553 +        .set_coercer(boost::bind(&tvrx::set_freq, this, boost::placeholders::_1));
554      this->get_rx_subtree()->create<meta_range_t>("freq/range")
555          .set(tvrx_freq_range);
556      this->get_rx_subtree()->create<std::string>("antenna/value")
557 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_dbsrx2.cpp.orig     2017-01-18 19:00:32.000000000 +0100
558 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_dbsrx2.cpp  2020-07-09 06:23:43.534896372 +0200
559 @@ -194,13 +194,13 @@
560          .set_publisher(boost::bind(&dbsrx2::get_locked, this));
561      BOOST_FOREACH(const std::string &name, dbsrx2_gain_ranges.keys()){
562          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
563 -            .set_coercer(boost::bind(&dbsrx2::set_gain, this, _1, name))
564 +            .set_coercer(boost::bind(&dbsrx2::set_gain, this, boost::placeholders::_1, name))
565              .set(dbsrx2_gain_ranges[name].start());
566          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
567              .set(dbsrx2_gain_ranges[name]);
568      }
569      this->get_rx_subtree()->create<double>("freq/value")
570 -        .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, _1))
571 +        .set_coercer(boost::bind(&dbsrx2::set_lo_freq, this, boost::placeholders::_1))
572          .set(dbsrx2_freq_range.start());
573      this->get_rx_subtree()->create<meta_range_t>("freq/range")
574          .set(dbsrx2_freq_range);
575 @@ -218,7 +218,7 @@
576      double codec_rate = this->get_iface()->get_codec_rate(dboard_iface::UNIT_RX);
577  
578      this->get_rx_subtree()->create<double>("bandwidth/value")
579 -        .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, _1))
580 +        .set_coercer(boost::bind(&dbsrx2::set_bandwidth, this, boost::placeholders::_1))
581          .set(2.0*(0.8*codec_rate/2.0)); //bandwidth in lowpass, convert to complex bandpass
582                                          //default to anti-alias at different codec_rate
583      this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
584 --- UHD_3.10.1.1_release/lib/usrp/dboard/db_tvrx2.cpp.orig      2017-01-18 19:00:32.000000000 +0100
585 +++ UHD_3.10.1.1_release/lib/usrp/dboard/db_tvrx2.cpp   2020-07-09 06:26:07.947447355 +0200
586 @@ -964,12 +964,12 @@
587          .set_publisher(boost::bind(&tvrx2::get_temp, this));
588      BOOST_FOREACH(const std::string &name, tvrx2_gain_ranges.keys()){
589          this->get_rx_subtree()->create<double>("gains/"+name+"/value")
590 -            .set_coercer(boost::bind(&tvrx2::set_gain, this, _1, name));
591 +            .set_coercer(boost::bind(&tvrx2::set_gain, this, boost::placeholders::_1, name));
592          this->get_rx_subtree()->create<meta_range_t>("gains/"+name+"/range")
593              .set(tvrx2_gain_ranges[name]);
594      }
595      this->get_rx_subtree()->create<double>("freq/value")
596 -        .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, _1));
597 +        .set_coercer(boost::bind(&tvrx2::set_lo_freq, this, boost::placeholders::_1));
598      this->get_rx_subtree()->create<meta_range_t>("freq/range")
599          .set(tvrx2_freq_range);
600      this->get_rx_subtree()->create<std::string>("antenna/value")
601 @@ -979,12 +979,12 @@
602      this->get_rx_subtree()->create<std::string>("connection")
603          .set(tvrx2_sd_name_to_conn[get_subdev_name()]);
604      this->get_rx_subtree()->create<bool>("enabled")
605 -        .set_coercer(boost::bind(&tvrx2::set_enabled, this, _1))
606 +        .set_coercer(boost::bind(&tvrx2::set_enabled, this, boost::placeholders::_1))
607          .set(_enabled);
608      this->get_rx_subtree()->create<bool>("use_lo_offset")
609          .set(false);
610      this->get_rx_subtree()->create<double>("bandwidth/value")
611 -        .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, _1))
612 +        .set_coercer(boost::bind(&tvrx2::set_bandwidth, this, boost::placeholders::_1))
613          .set(_bandwidth);
614      this->get_rx_subtree()->create<meta_range_t>("bandwidth/range")
615          .set(tvrx2_bandwidth_range);
616 --- UHD_3.10.1.1_release/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp.orig    2017-01-18 19:00:32.000000000 +0100
617 +++ UHD_3.10.1.1_release/lib/usrp/dboard/twinrx/twinrx_ctrl.cpp 2020-07-09 06:30:57.462545585 +0200
618 @@ -51,14 +51,14 @@
619          }
620          //Initialize synthesizer objects
621          _lo1_iface[size_t(CH1)] = adf5355_iface::make(
622 -                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_TX, _1));
623 +                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
624          _lo1_iface[size_t(CH2)] = adf5355_iface::make(
625 -                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_TX, _1));
626 +                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_TX, boost::placeholders::_1));
627  
628          _lo2_iface[size_t(CH1)] = adf435x_iface::make_adf4351(
629 -                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_RX, _1));
630 +                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
631          _lo2_iface[size_t(CH2)] = adf435x_iface::make_adf4351(
632 -                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_RX, _1));
633 +                boost::bind(&twinrx_ctrl_impl::_write_lo_spi, this, dboard_iface::UNIT_RX, boost::placeholders::_1));
634  
635          // Assert synthesizer chip enables
636          _gpio_iface->set_field(twinrx_gpio::FIELD_LO1_CE_CH1, 1);
637 --- UHD_3.10.1.1_release/lib/usrp/b100/b100_impl.cpp.orig       2017-01-18 19:00:32.000000000 +0100
638 +++ UHD_3.10.1.1_release/lib/usrp/b100/b100_impl.cpp    2020-07-09 06:40:34.302753906 +0200
639 @@ -279,7 +279,7 @@
640      _tree->create<std::string>(mb_path / "name").set("B100");
641      _tree->create<std::string>(mb_path / "codename").set("B-Hundo");
642      _tree->create<std::string>(mb_path / "load_eeprom")
643 -        .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, _1));
644 +        .add_coerced_subscriber(boost::bind(&fx2_ctrl::usrp_load_eeprom, _fx2_ctrl, boost::placeholders::_1));
645  
646      ////////////////////////////////////////////////////////////////////
647      // setup the mboard eeprom
648 @@ -287,7 +287,7 @@
649      const mboard_eeprom_t mb_eeprom(*_fx2_ctrl, B100_EEPROM_MAP_KEY);
650      _tree->create<mboard_eeprom_t>(mb_path / "eeprom")
651          .set(mb_eeprom)
652 -        .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, _1));
653 +        .add_coerced_subscriber(boost::bind(&b100_impl::set_mb_eeprom, this, boost::placeholders::_1));
654  
655      ////////////////////////////////////////////////////////////////////
656      // create clock control objects
657 @@ -295,12 +295,12 @@
658      //^^^ clock created up top, just reg props here... ^^^
659      _tree->create<double>(mb_path / "tick_rate")
660          .set_publisher(boost::bind(&b100_clock_ctrl::get_fpga_clock_rate, _clock_ctrl))
661 -        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, _1))
662 -        .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, _1));
663 +        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_tick_rate, _fifo_ctrl, boost::placeholders::_1))
664 +        .add_coerced_subscriber(boost::bind(&b100_impl::update_tick_rate, this, boost::placeholders::_1));
665  
666      //add_coerced_subscriber the command time while we are at it
667      _tree->create<time_spec_t>(mb_path / "time/cmd")
668 -        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, _1));
669 +        .add_coerced_subscriber(boost::bind(&fifo_ctrl_excelsior::set_time, _fifo_ctrl, boost::placeholders::_1));
670  
671      ////////////////////////////////////////////////////////////////////
672      // create codec control objects
673 @@ -311,12 +311,12 @@
674      _tree->create<std::string>(rx_codec_path / "name").set("ad9522");
675      _tree->create<meta_range_t>(rx_codec_path / "gains/pga/range").set(b100_codec_ctrl::rx_pga_gain_range);
676      _tree->create<double>(rx_codec_path / "gains/pga/value")
677 -        .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, _1))
678 +        .set_coercer(boost::bind(&b100_impl::update_rx_codec_gain, this, boost::placeholders::_1))
679          .set(0.0);
680      _tree->create<std::string>(tx_codec_path / "name").set("ad9522");
681      _tree->create<meta_range_t>(tx_codec_path / "gains/pga/range").set(b100_codec_ctrl::tx_pga_gain_range);
682      _tree->create<double>(tx_codec_path / "gains/pga/value")
683 -        .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, _1))
684 +        .add_coerced_subscriber(boost::bind(&b100_codec_ctrl::set_tx_pga_gain, _codec_ctrl, boost::placeholders::_1))
685          .set_publisher(boost::bind(&b100_codec_ctrl::get_tx_pga_gain, _codec_ctrl))
686          .set(0.0);
687  
688 @@ -333,27 +333,27 @@
689      _tx_fe = tx_frontend_core_200::make(_fifo_ctrl, TOREG(SR_TX_FE));
690  
691      _tree->create<subdev_spec_t>(mb_path / "rx_subdev_spec")
692 -        .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, _1));
693 +        .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_subdev_spec, this, boost::placeholders::_1));
694      _tree->create<subdev_spec_t>(mb_path / "tx_subdev_spec")
695 -        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, _1));
696 +        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_subdev_spec, this, boost::placeholders::_1));
697  
698      const fs_path rx_fe_path = mb_path / "rx_frontends" / "A";
699      const fs_path tx_fe_path = mb_path / "tx_frontends" / "A";
700  
701      _tree->create<std::complex<double> >(rx_fe_path / "dc_offset" / "value")
702 -        .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, _1))
703 +        .set_coercer(boost::bind(&rx_frontend_core_200::set_dc_offset, _rx_fe, boost::placeholders::_1))
704          .set(std::complex<double>(0.0, 0.0));
705      _tree->create<bool>(rx_fe_path / "dc_offset" / "enable")
706 -        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, _1))
707 +        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_dc_offset_auto, _rx_fe, boost::placeholders::_1))
708          .set(true);
709      _tree->create<std::complex<double> >(rx_fe_path / "iq_balance" / "value")
710 -        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, _1))
711 +        .add_coerced_subscriber(boost::bind(&rx_frontend_core_200::set_iq_balance, _rx_fe, boost::placeholders::_1))
712          .set(std::complex<double>(0.0, 0.0));
713      _tree->create<std::complex<double> >(tx_fe_path / "dc_offset" / "value")
714 -        .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, _1))
715 +        .set_coercer(boost::bind(&tx_frontend_core_200::set_dc_offset, _tx_fe, boost::placeholders::_1))
716          .set(std::complex<double>(0.0, 0.0));
717      _tree->create<std::complex<double> >(tx_fe_path / "iq_balance" / "value")
718 -        .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, _1))
719 +        .add_coerced_subscriber(boost::bind(&tx_frontend_core_200::set_iq_balance, _tx_fe, boost::placeholders::_1))
720          .set(std::complex<double>(0.0, 0.0));
721  
722      ////////////////////////////////////////////////////////////////////
723 @@ -372,20 +372,20 @@
724  
725          _rx_dsps[dspno]->set_link_rate(B100_LINK_RATE_BPS);
726          _tree->access<double>(mb_path / "tick_rate")
727 -            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], _1));
728 +            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::set_tick_rate, _rx_dsps[dspno], boost::placeholders::_1));
729          fs_path rx_dsp_path = mb_path / str(boost::format("rx_dsps/%u") % dspno);
730          _tree->create<meta_range_t>(rx_dsp_path / "rate/range")
731              .set_publisher(boost::bind(&rx_dsp_core_200::get_host_rates, _rx_dsps[dspno]));
732          _tree->create<double>(rx_dsp_path / "rate/value")
733              .set(1e6) //some default
734 -            .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], _1))
735 -            .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, _1));
736 +            .set_coercer(boost::bind(&rx_dsp_core_200::set_host_rate, _rx_dsps[dspno], boost::placeholders::_1))
737 +            .add_coerced_subscriber(boost::bind(&b100_impl::update_rx_samp_rate, this, dspno, boost::placeholders::_1));
738          _tree->create<double>(rx_dsp_path / "freq/value")
739 -            .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], _1));
740 +            .set_coercer(boost::bind(&rx_dsp_core_200::set_freq, _rx_dsps[dspno], boost::placeholders::_1));
741          _tree->create<meta_range_t>(rx_dsp_path / "freq/range")
742              .set_publisher(boost::bind(&rx_dsp_core_200::get_freq_range, _rx_dsps[dspno]));
743          _tree->create<stream_cmd_t>(rx_dsp_path / "stream_cmd")
744 -            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], _1));
745 +            .add_coerced_subscriber(boost::bind(&rx_dsp_core_200::issue_stream_command, _rx_dsps[dspno], boost::placeholders::_1));
746      }
747  
748      ////////////////////////////////////////////////////////////////////
749 @@ -396,15 +396,15 @@
750      );
751      _tx_dsp->set_link_rate(B100_LINK_RATE_BPS);
752      _tree->access<double>(mb_path / "tick_rate")
753 -        .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, _1));
754 +        .add_coerced_subscriber(boost::bind(&tx_dsp_core_200::set_tick_rate, _tx_dsp, boost::placeholders::_1));
755      _tree->create<meta_range_t>(mb_path / "tx_dsps/0/rate/range")
756          .set_publisher(boost::bind(&tx_dsp_core_200::get_host_rates, _tx_dsp));
757      _tree->create<double>(mb_path / "tx_dsps/0/rate/value")
758          .set(1e6) //some default
759 -        .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, _1))
760 -        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, _1));
761 +        .set_coercer(boost::bind(&tx_dsp_core_200::set_host_rate, _tx_dsp, boost::placeholders::_1))
762 +        .add_coerced_subscriber(boost::bind(&b100_impl::update_tx_samp_rate, this, 0, boost::placeholders::_1));
763      _tree->create<double>(mb_path / "tx_dsps/0/freq/value")
764 -        .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, _1));
765 +        .set_coercer(boost::bind(&tx_dsp_core_200::set_freq, _tx_dsp, boost::placeholders::_1));
766      _tree->create<meta_range_t>(mb_path / "tx_dsps/0/freq/range")
767          .set_publisher(boost::bind(&tx_dsp_core_200::get_freq_range, _tx_dsp));
768  
769 @@ -420,21 +420,21 @@
770          _fifo_ctrl, TOREG(SR_TIME64), time64_rb_bases
771      );
772      _tree->access<double>(mb_path / "tick_rate")
773 -        .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, _1));
774 +        .add_coerced_subscriber(boost::bind(&time64_core_200::set_tick_rate, _time64, boost::placeholders::_1));
775      _tree->create<time_spec_t>(mb_path / "time/now")
776          .set_publisher(boost::bind(&time64_core_200::get_time_now, _time64))
777 -        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, _1));
778 +        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_now, _time64, boost::placeholders::_1));
779      _tree->create<time_spec_t>(mb_path / "time/pps")
780          .set_publisher(boost::bind(&time64_core_200::get_time_last_pps, _time64))
781 -        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, _1));
782 +        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_next_pps, _time64, boost::placeholders::_1));
783      //setup time source props
784      _tree->create<std::string>(mb_path / "time_source/value")
785 -        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, _1));
786 +        .add_coerced_subscriber(boost::bind(&time64_core_200::set_time_source, _time64, boost::placeholders::_1));
787      _tree->create<std::vector<std::string> >(mb_path / "time_source/options")
788          .set_publisher(boost::bind(&time64_core_200::get_time_sources, _time64));
789      //setup reference source props
790      _tree->create<std::string>(mb_path / "clock_source/value")
791 -        .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, _1));
792 +        .add_coerced_subscriber(boost::bind(&b100_impl::update_clock_source, this, boost::placeholders::_1));
793      static const std::vector<std::string> clock_sources = boost::assign::list_of("internal")("external")("auto");
794      _tree->create<std::vector<std::string> >(mb_path / "clock_source/options").set(clock_sources);
795  
796 @@ -443,7 +443,7 @@
797      ////////////////////////////////////////////////////////////////////
798      _user = user_settings_core_200::make(_fifo_ctrl, TOREG(SR_USER_REGS));
799      _tree->create<user_settings_core_200::user_reg_t>(mb_path / "user/regs")
800 -        .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, _1));
801 +        .add_coerced_subscriber(boost::bind(&user_settings_core_200::set_reg, _user, boost::placeholders::_1));
802  
803      ////////////////////////////////////////////////////////////////////
804      // create dboard control objects
805 @@ -461,13 +461,13 @@
806      //create the properties and register subscribers
807      _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/rx_eeprom")
808          .set(rx_db_eeprom)
809 -        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", _1));
810 +        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "rx", boost::placeholders::_1));
811      _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/tx_eeprom")
812          .set(tx_db_eeprom)
813 -        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", _1));
814 +        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "tx", boost::placeholders::_1));
815      _tree->create<dboard_eeprom_t>(mb_path / "dboards/A/gdb_eeprom")
816          .set(gdb_eeprom)
817 -        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", _1));
818 +        .add_coerced_subscriber(boost::bind(&b100_impl::set_db_eeprom, this, "gdb", boost::placeholders::_1));
819  
820      //create a new dboard interface and manager
821      _dboard_manager = dboard_manager::make(
822 @@ -480,12 +480,12 @@
823      const fs_path db_tx_fe_path = mb_path / "dboards" / "A" / "tx_frontends";
824      BOOST_FOREACH(const std::string &name, _tree->list(db_tx_fe_path)){
825          _tree->access<double>(db_tx_fe_path / name / "freq" / "value")
826 -            .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, _1));
827 +            .add_coerced_subscriber(boost::bind(&b100_impl::set_tx_fe_corrections, this, boost::placeholders::_1));
828      }
829      const fs_path db_rx_fe_path = mb_path / "dboards" / "A" / "rx_frontends";
830      BOOST_FOREACH(const std::string &name, _tree->list(db_rx_fe_path)){
831          _tree->access<double>(db_rx_fe_path / name / "freq" / "value")
832 -            .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, _1));
833 +            .add_coerced_subscriber(boost::bind(&b100_impl::set_rx_fe_corrections, this, boost::placeholders::_1));
834      }
835  
836      //initialize io handling
837 @@ -501,7 +501,7 @@
838      this->update_rates();
839  
840      _tree->access<double>(mb_path / "tick_rate") //now add_coerced_subscriber the clock rate setter
841 -        .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, _1));
842 +        .add_coerced_subscriber(boost::bind(&b100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, boost::placeholders::_1));
843  
844      //reset cordic rates and their properties to zero
845      BOOST_FOREACH(const std::string &name, _tree->list(mb_path / "rx_dsps")){
846 --- UHD_3.10.1.1_release/lib/usrp/x300/x300_radio_ctrl_impl.cpp.orig    2017-01-27 22:22:55.000000000 +0100
847 +++ UHD_3.10.1.1_release/lib/usrp/x300/x300_radio_ctrl_impl.cpp 2020-07-09 06:44:45.064728745 +0200
848 @@ -85,7 +85,7 @@
849          BOOST_FOREACH(const gpio_atr::gpio_attr_map_t::value_type attr, gpio_atr::gpio_attr_map) {
850              _tree->create<uint32_t>(fs_path("gpio") / "FP0" / attr.second)
851                  .set(0)
852 -                .add_coerced_subscriber(boost::bind(&gpio_atr::gpio_atr_3000::set_gpio_attr, _fp_gpio, attr.first, _1));
853 +                .add_coerced_subscriber(boost::bind(&gpio_atr::gpio_atr_3000::set_gpio_attr, _fp_gpio, attr.first, boost::placeholders::_1));
854          }
855          _tree->create<uint32_t>(fs_path("gpio") / "FP0" / "READBACK")
856              .set_publisher(boost::bind(&gpio_atr::gpio_atr_3000::read_gpio, _fp_gpio));
857 @@ -101,7 +101,7 @@
858  
859      _tree->create<meta_range_t>("rx_codecs" / _radio_slot / "gains" / "digital" / "range").set(meta_range_t(0, 6.0, 0.5));
860      _tree->create<double>("rx_codecs" / _radio_slot / "gains" / "digital" / "value")
861 -        .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, _1)).set(0)
862 +        .add_coerced_subscriber(boost::bind(&x300_adc_ctrl::set_gain, _adc, boost::placeholders::_1)).set(0)
863      ;
864  
865      ////////////////////////////////////////////////////////////////
866 @@ -128,7 +128,7 @@
867  
868          if (_tree->exists(fs_path("time") / "cmd")) {
869              _tree->access<time_spec_t>(fs_path("time") / "cmd")
870 -                .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, _1, i));
871 +                .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, boost::placeholders::_1, i));
872          }
873      }
874  
875 @@ -352,7 +352,7 @@
876          _tree->create<dboard_eeprom_t>(db_path / EEPROM_PATHS[i])
877              .set(_db_eeproms[addr])
878              .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::_set_db_eeprom,
879 -                this, zpu_i2c, (BASE_ADDR | addr), _1));
880 +                this, zpu_i2c, (BASE_ADDR | addr), boost::placeholders::_1));
881      }
882  
883      //create a new dboard interface
884 @@ -414,7 +414,7 @@
885              if (_tree->exists(db_path / "rx_frontends" / _rx_fe_map[i].db_fe_name / "antenna" / "value")) {
886                  // We need a desired subscriber for antenna/value because the experts don't coerce that property.
887                  _tree->access<std::string>(db_path / "rx_frontends" / _rx_fe_map[i].db_fe_name / "antenna" / "value")
888 -                    .add_desired_subscriber(boost::bind(&x300_radio_ctrl_impl::_update_atr_leds, this, _1, i));
889 +                    .add_desired_subscriber(boost::bind(&x300_radio_ctrl_impl::_update_atr_leds, this, boost::placeholders::_1, i));
890              }
891              _update_atr_leds("", i); //init anyway, even if never called
892          }
893 @@ -427,7 +427,7 @@
894              if (_tree->exists(db_tx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")) {
895                  _tree->access<double>(db_tx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
896                          .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::set_tx_fe_corrections, this, db_path,
897 -                                                            _root_path / "tx_fe_corrections" / _tx_fe_map[i].db_fe_name, _1));
898 +                                                            _root_path / "tx_fe_corrections" / _tx_fe_map[i].db_fe_name, boost::placeholders::_1));
899              }
900          }
901      }
902 @@ -438,7 +438,7 @@
903                  _tree->access<double>(db_rx_fe_path / _tx_fe_map[i].db_fe_name / "freq" / "value")
904                          .add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::set_rx_fe_corrections, this, db_path,
905                                                              _root_path / "rx_fe_corrections" / _tx_fe_map[i].db_fe_name,
906 -                                                            _1));
907 +                                                            boost::placeholders::_1));
908              }
909          }
910      }
911 --- UHD_3.10.1.1_release/lib/usrp/x300/x300_impl.cpp.orig       2017-01-27 22:22:55.000000000 +0100
912 +++ UHD_3.10.1.1_release/lib/usrp/x300/x300_impl.cpp    2020-07-09 06:47:51.430385783 +0200
913 @@ -1422,7 +1422,7 @@
914  
915  bool x300_impl::wait_for_clk_locked(mboard_members_t& mb, uint32_t which, double timeout)
916  {
917 -    boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(timeout * 1000.0);
918 +    boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(static_cast<int64_t>(timeout * 1000.0));
919      do {
920          if (mb.fw_regmap->clock_status_reg.read(which)==1)
921              return true;
922 --- UHD_3.10.1.1_release/lib/usrp_clock/octoclock/octoclock_impl.cpp.orig       2017-01-18 19:00:32.000000000 +0100
923 +++ UHD_3.10.1.1_release/lib/usrp_clock/octoclock/octoclock_impl.cpp    2020-07-09 06:54:58.391406069 +0200
924 @@ -243,7 +243,7 @@
925          _oc_dict[oc].eeprom = octoclock_eeprom_t(_oc_dict[oc].ctrl_xport, _proto_ver);
926          _tree->create<octoclock_eeprom_t>(oc_path / "eeprom")
927              .set(_oc_dict[oc].eeprom)
928 -            .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, _1));
929 +            .add_coerced_subscriber(boost::bind(&octoclock_impl::_set_eeprom, this, oc, boost::placeholders::_1));
930  
931          ////////////////////////////////////////////////////////////////////
932          // Initialize non-GPSDO sensors
933 --- UHD_3.10.1.1_release/lib/transport/udp_zero_copy.cpp.orig   2017-01-18 19:00:32.000000000 +0100
934 +++ UHD_3.10.1.1_release/lib/transport/udp_zero_copy.cpp        2020-07-09 16:41:02.940903362 +0200
935 @@ -190,7 +190,7 @@
936          _socket = socket_sptr(new asio::ip::udp::socket(_io_service));
937          _socket->open(asio::ip::udp::v4());
938          _socket->connect(receiver_endpoint);
939 -        _sock_fd = _socket->native();
940 +        _sock_fd = _socket->native_handle();
941  
942          //allocate re-usable managed receive buffers
943          for (size_t i = 0; i < get_num_recv_frames(); i++){
944 --- UHD_3.10.1.1_release/lib/transport/gen_vrt_if_packet.py.orig        2017-01-18 19:00:32.000000000 +0100
945 +++ UHD_3.10.1.1_release/lib/transport/gen_vrt_if_packet.py     2020-07-09 17:18:08.118848539 +0200
946 @@ -33,11 +33,11 @@
947  #include <uhd/exception.hpp>
948  #include <uhd/transport/vrt_if_packet.hpp>
949  #include <uhd/utils/byteswap.hpp>
950 -#include <boost/detail/endian.hpp>
951 +#include <boost/predef/other/endian.h>
952  #include <vector>
953  
954  //define the endian macros to convert integers
955 -#ifdef BOOST_BIG_ENDIAN
956 +#if BOOST_ENDIAN_BIG_BYTE
957      #define BE_MACRO(x) (x)
958      #define LE_MACRO(x) uhd::byteswap(x)
959  #else
960 --- UHD_3.10.1.1_release/lib/transport/tcp_zero_copy.cpp.orig   2017-01-18 19:00:32.000000000 +0100
961 +++ UHD_3.10.1.1_release/lib/transport/tcp_zero_copy.cpp        2020-07-09 16:47:09.155586073 +0200
962 @@ -154,7 +154,7 @@
963          //create, open, and connect the socket
964          _socket.reset(new asio::ip::tcp::socket(_io_service));
965          _socket->connect(receiver_endpoint);
966 -        _sock_fd = _socket->native();
967 +        _sock_fd = _socket->native_handle();
968  
969          //packets go out ASAP
970          asio::ip::tcp::no_delay option(true);
971 --- UHD_3.10.1.1_release/lib/transport/udp_simple.cpp.orig      2017-01-18 19:00:32.000000000 +0100
972 +++ UHD_3.10.1.1_release/lib/transport/udp_simple.cpp   2020-07-09 17:50:29.444998139 +0200
973 @@ -56,7 +56,7 @@
974      }
975  
976      size_t recv(const asio::mutable_buffer &buff, double timeout){
977 -        if (not wait_for_recv_ready(_socket->native(), timeout)) return 0;
978 +        if (not wait_for_recv_ready(_socket->native_handle(), timeout)) return 0;
979          return _socket->receive_from(asio::buffer(buff), _recv_endpoint);
980      }
981  
982 --- UHD_3.10.1.1_release/examples/rx_samples_to_file.cpp.orig   2017-01-18 19:00:32.000000000 +0100
983 +++ UHD_3.10.1.1_release/examples/rx_samples_to_file.cpp        2020-07-09 18:39:59.402241834 +0200
984 @@ -178,7 +178,7 @@
985  
986      while (true) {
987          if ((not first_lock_time.is_not_a_date_time()) and
988 -                (boost::get_system_time() > (first_lock_time + boost::posix_time::seconds(setup_time))))
989 +                (boost::get_system_time() > (first_lock_time + boost::posix_time::seconds(static_cast<int64_t>(setup_time)))))
990          {
991              std::cout << " locked." << std::endl;
992              break;
993 @@ -192,7 +192,7 @@
994          else {
995              first_lock_time = boost::system_time();    //reset to 'not a date time'
996  
997 -            if (boost::get_system_time() > (start + boost::posix_time::seconds(setup_time))){
998 +            if (boost::get_system_time() > (start + boost::posix_time::seconds(static_cast<int64_t>(setup_time)))){
999                  std::cout << std::endl;
1000                  throw std::runtime_error(str(boost::format("timed out waiting for consecutive locks on sensor \"%s\"") % sensor_name));
1001              }
1002 @@ -312,15 +312,15 @@
1003      //set the antenna
1004      if (vm.count("ant")) usrp->set_rx_antenna(ant);
1005  
1006 -    boost::this_thread::sleep(boost::posix_time::seconds(setup_time)); //allow for some setup time
1007 +    boost::this_thread::sleep(boost::posix_time::seconds(static_cast<int64_t>(setup_time))); //allow for some setup time
1008  
1009      //check Ref and LO Lock detect
1010      if (not vm.count("skip-lo")){
1011 -        check_locked_sensor(usrp->get_rx_sensor_names(0), "lo_locked", boost::bind(&uhd::usrp::multi_usrp::get_rx_sensor, usrp, _1, 0), setup_time);
1012 +        check_locked_sensor(usrp->get_rx_sensor_names(0), "lo_locked", boost::bind(&uhd::usrp::multi_usrp::get_rx_sensor, usrp, boost::placeholders::_1, 0), setup_time);
1013          if (ref == "mimo")
1014 -            check_locked_sensor(usrp->get_mboard_sensor_names(0), "mimo_locked", boost::bind(&uhd::usrp::multi_usrp::get_mboard_sensor, usrp, _1, 0), setup_time);
1015 +            check_locked_sensor(usrp->get_mboard_sensor_names(0), "mimo_locked", boost::bind(&uhd::usrp::multi_usrp::get_mboard_sensor, usrp, boost::placeholders::_1, 0), setup_time);
1016          if (ref == "external")
1017 -            check_locked_sensor(usrp->get_mboard_sensor_names(0), "ref_locked", boost::bind(&uhd::usrp::multi_usrp::get_mboard_sensor, usrp, _1, 0), setup_time);
1018 +            check_locked_sensor(usrp->get_mboard_sensor_names(0), "ref_locked", boost::bind(&uhd::usrp::multi_usrp::get_mboard_sensor, usrp, boost::placeholders::_1, 0), setup_time);
1019      }
1020  
1021      if (total_num_samps == 0){
1022 --- UHD_3.10.1.1_release/examples/benchmark_rate.cpp.orig       2017-01-18 19:00:32.000000000 +0100
1023 +++ UHD_3.10.1.1_release/examples/benchmark_rate.cpp    2020-07-09 18:42:41.548030081 +0200
1024 @@ -31,7 +31,7 @@
1025  
1026  namespace po = boost::program_options;
1027  
1028 -const double CLOCK_TIMEOUT = 1000;  // 1000mS timeout for external clock locking
1029 +const int CLOCK_TIMEOUT = 1000;  // 1000mS timeout for external clock locking
1030  const double INIT_DELAY    = 0.05;  // 50mS initial delay before transmit
1031  //typedef boost::atomic<bool>   atomic_bool;
1032  // We'll fake atomic bools for now, for more backward compat.
1033 @@ -471,7 +471,7 @@
1034      const long usecs = long((duration - secs)*1e6);
1035      boost::this_thread::sleep(boost::posix_time::seconds(secs)
1036              + boost::posix_time::microseconds(usecs)
1037 -            + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : (INIT_DELAY * 1000))
1038 +            + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : static_cast<int64_t>(INIT_DELAY * 1000))
1039      );
1040  
1041      //interrupt and join the threads
1042 --- UHD_3.10.1.1_release/examples/network_relay.cpp.orig        2017-01-18 19:00:32.000000000 +0100
1043 +++ UHD_3.10.1.1_release/examples/network_relay.cpp     2020-07-09 18:47:38.346422186 +0200
1044 @@ -127,7 +127,7 @@
1045          wait_for_thread.notify_one();    // notify constructor that this thread has started
1046          std::vector<char> buff(insane_mtu);
1047          while (not boost::this_thread::interruption_requested()){
1048 -            if (wait_for_recv_ready(_server_socket->native())){
1049 +            if (wait_for_recv_ready(_server_socket->native_handle())){
1050                  boost::mutex::scoped_lock lock(_endpoint_mutex);
1051                  const size_t len = _server_socket->receive_from(asio::buffer(&buff.front(), buff.size()), _endpoint);
1052                  lock.unlock();
1053 @@ -153,7 +153,7 @@
1054          wait_for_thread.notify_one();    // notify constructor that this thread has started
1055          std::vector<char> buff(insane_mtu);
1056          while (not boost::this_thread::interruption_requested()){
1057 -            if (wait_for_recv_ready(_client_socket->native())){
1058 +            if (wait_for_recv_ready(_client_socket->native_handle())){
1059                  const size_t len = _client_socket->receive(asio::buffer(&buff.front(), buff.size()));
1060                  boost::mutex::scoped_lock lock(_endpoint_mutex);
1061                  _server_socket->send_to(asio::buffer(&buff.front(), len), _endpoint);
1062 --- UHD_3.10.1.1_release/examples/tx_samples_from_file.cpp.orig 2017-01-18 19:00:32.000000000 +0100
1063 +++ UHD_3.10.1.1_release/examples/tx_samples_from_file.cpp      2020-07-09 18:49:11.789249296 +0200
1064 @@ -193,7 +193,7 @@
1065          else if (type == "short") send_from_file<std::complex<short> >(usrp, "sc16", wirefmt, file, spb);
1066          else throw std::runtime_error("Unknown type " + type);
1067  
1068 -        if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::milliseconds(delay));
1069 +        if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::milliseconds(static_cast<int64_t>(delay)));
1070      } while(repeat and not stop_signal_called);
1071  
1072      //finished
This page took 0.357939 seconds and 3 git commands to generate.