summaryrefslogtreecommitdiff
path: root/gr-uhd/lib/usrp_block_impl.cc
diff options
context:
space:
mode:
authorHuang Rui <vowstar@gmail.com>2020-10-26 10:21:43 +0800
committerMartin Braun <martin@gnuradio.org>2020-12-18 14:31:30 -0800
commit4161659ee0aecba352f459514b6f15fbca4f1f90 (patch)
tree133947db86f37425512588f3e80cdf6510ae9199 /gr-uhd/lib/usrp_block_impl.cc
parent96d00b4cbd4d1607f1b549d3e65e5ea3c19b876b (diff)
gr-uhd/lib/usrp_block_impl.cc: fix compile error using boost>=1.73
When using boost>=1.73 and compile with uhd, it always have errors. Fix the compile error when using uhd and gcc10: error: ‘_1’ was not declared Bug: https://bugs.gentoo.org/751259 usrp_source_impl.cc: use lambdas instead of boost::bind usrp_block_impl.cc:use lambdas instead of boost::bind usrp_block_impl.h: Switch from boost::function to std::function https://github.com/gnuradio/gnuradio/pull/3441 https://github.com/gnuradio/gnuradio/pull/3887 usrp_source_impl: fix parameter bug of original code The usrp_block_impl::register_msg_cmd_handler uses cmd_handler_t as handler type, but it have 3 parameters. Fix the parameter mismatch bug and change the signature as cmd_handler_t Signed-off-by: Huang Rui <vowstar@gmail.com>
Diffstat (limited to 'gr-uhd/lib/usrp_block_impl.cc')
-rw-r--r--gr-uhd/lib/usrp_block_impl.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/gr-uhd/lib/usrp_block_impl.cc b/gr-uhd/lib/usrp_block_impl.cc
index b44b7e2dcc..b060ed0334 100644
--- a/gr-uhd/lib/usrp_block_impl.cc
+++ b/gr-uhd/lib/usrp_block_impl.cc
@@ -133,9 +133,11 @@ usrp_block_impl::usrp_block_impl(const ::uhd::device_addr_t& device_addr,
[this](pmt::pmt_t msg) { this->msg_handler_command(msg); });
// cuz we lazy:
-#define REGISTER_CMD_HANDLER(key, _handler) \
- register_msg_cmd_handler(key, \
- boost::bind(&usrp_block_impl::_handler, this, _1, _2, _3))
+#define REGISTER_CMD_HANDLER(key, _handler) \
+ register_msg_cmd_handler( \
+ key, [this](const pmt::pmt_t& var, int chan, const pmt::pmt_t& msg) { \
+ this->_handler(var, chan, msg); \
+ })
// Register default command handlers:
REGISTER_CMD_HANDLER(cmd_freq_key(), _cmd_handler_freq);
REGISTER_CMD_HANDLER(cmd_gain_key(), _cmd_handler_gain);
@@ -251,11 +253,13 @@ bool usrp_block_impl::_check_mboard_sensors_locked()
} else if (_dev->get_clock_source(mboard_index) == "mimo") {
sensor_name = "mimo_locked";
}
- if (not _wait_for_locked_sensor(
- get_mboard_sensor_names(mboard_index),
- sensor_name,
- boost::bind(
- &usrp_block_impl::get_mboard_sensor, this, _1, mboard_index))) {
+ if (not _wait_for_locked_sensor(get_mboard_sensor_names(mboard_index),
+ sensor_name,
+ [this, mboard_index](const std::string& name) {
+ return static_cast<::uhd::sensor_value_t>(
+ this->get_mboard_sensor(name,
+ mboard_index));
+ })) {
GR_LOG_WARN(
d_logger,
boost::format(