diff options
Diffstat (limited to 'host/lib/usrp/b200')
| -rw-r--r-- | host/lib/usrp/b200/b200_impl.cpp | 68 | 
1 files changed, 34 insertions, 34 deletions
| diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 62690f09f..61d71644b 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -362,7 +362,7 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      const mboard_eeprom_t mb_eeprom(*_iface, "B200");      _tree->create<mboard_eeprom_t>(mb_path / "eeprom")          .set(mb_eeprom) -        .subscribe(boost::bind(&b200_impl::set_mb_eeprom, this, _1)); +        .add_coerced_subscriber(boost::bind(&b200_impl::set_mb_eeprom, this, _1));      ////////////////////////////////////////////////////////////////////      // Identify the device type @@ -500,7 +500,7 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s                  BOOST_FOREACH(const std::string &name, _gps->get_sensors())                  {                      _tree->create<sensor_value_t>(mb_path / "sensors" / name) -                        .publish(boost::bind(&gps_ctrl::get_sensor, _gps, name)); +                        .set_publisher(boost::bind(&gps_ctrl::get_sensor, _gps, name));                  }              }              else @@ -577,9 +577,9 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      // create clock control objects      ////////////////////////////////////////////////////////////////////      _tree->create<double>(mb_path / "tick_rate") -        .coerce(boost::bind(&b200_impl::set_tick_rate, this, _1)) -        .publish(boost::bind(&b200_impl::get_tick_rate, this)) -        .subscribe(boost::bind(&b200_impl::update_tick_rate, this, _1)); +        .set_coercer(boost::bind(&b200_impl::set_tick_rate, this, _1)) +        .set_publisher(boost::bind(&b200_impl::get_tick_rate, this)) +        .add_coerced_subscriber(boost::bind(&b200_impl::update_tick_rate, this, _1));      _tree->create<time_spec_t>(mb_path / "time" / "cmd");      _tree->create<bool>(mb_path / "auto_tick_rate").set(false); @@ -587,7 +587,7 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      // and do the misc mboard sensors      ////////////////////////////////////////////////////////////////////      _tree->create<sensor_value_t>(mb_path / "sensors" / "ref_locked") -        .publish(boost::bind(&b200_impl::get_ref_locked, this)); +        .set_publisher(boost::bind(&b200_impl::get_ref_locked, this));      ////////////////////////////////////////////////////////////////////      // create frontend mapping @@ -596,13 +596,13 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      _tree->create<std::vector<size_t> >(mb_path / "rx_chan_dsp_mapping").set(default_map);      _tree->create<std::vector<size_t> >(mb_path / "tx_chan_dsp_mapping").set(default_map);      _tree->create<subdev_spec_t>(mb_path / "rx_subdev_spec") -        .coerce(boost::bind(&b200_impl::coerce_subdev_spec, this, _1)) +        .set_coercer(boost::bind(&b200_impl::coerce_subdev_spec, this, _1))          .set(subdev_spec_t()) -        .subscribe(boost::bind(&b200_impl::update_subdev_spec, this, "rx", _1)); +        .add_coerced_subscriber(boost::bind(&b200_impl::update_subdev_spec, this, "rx", _1));      _tree->create<subdev_spec_t>(mb_path / "tx_subdev_spec") -        .coerce(boost::bind(&b200_impl::coerce_subdev_spec, this, _1)) +        .set_coercer(boost::bind(&b200_impl::coerce_subdev_spec, this, _1))          .set(subdev_spec_t()) -        .subscribe(boost::bind(&b200_impl::update_subdev_spec, this, "tx", _1)); +        .add_coerced_subscriber(boost::bind(&b200_impl::update_subdev_spec, this, "tx", _1));      ////////////////////////////////////////////////////////////////////      // setup radio control @@ -626,18 +626,18 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      //register time now and pps onto available radio cores      _tree->create<time_spec_t>(mb_path / "time" / "now") -        .publish(boost::bind(&time_core_3000::get_time_now, _radio_perifs[0].time64)) -        .subscribe(boost::bind(&b200_impl::set_time, this, _1)) +        .set_publisher(boost::bind(&time_core_3000::get_time_now, _radio_perifs[0].time64)) +        .add_coerced_subscriber(boost::bind(&b200_impl::set_time, this, _1))          .set(0.0);      //re-sync the times when the tick rate changes      _tree->access<double>(mb_path / "tick_rate") -        .subscribe(boost::bind(&b200_impl::sync_times, this)); +        .add_coerced_subscriber(boost::bind(&b200_impl::sync_times, this));      _tree->create<time_spec_t>(mb_path / "time" / "pps") -        .publish(boost::bind(&time_core_3000::get_time_last_pps, _radio_perifs[0].time64)); +        .set_publisher(boost::bind(&time_core_3000::get_time_last_pps, _radio_perifs[0].time64));      BOOST_FOREACH(radio_perifs_t &perif, _radio_perifs)      {          _tree->access<time_spec_t>(mb_path / "time" / "pps") -            .subscribe(boost::bind(&time_core_3000::set_time_next_pps, perif.time64, _1)); +            .add_coerced_subscriber(boost::bind(&time_core_3000::set_time_next_pps, perif.time64, _1));      }      //setup time source props @@ -647,8 +647,8 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      _tree->create<std::vector<std::string> >(mb_path / "time_source" / "options")          .set(time_sources);      _tree->create<std::string>(mb_path / "time_source" / "value") -        .coerce(boost::bind(&check_option_valid, "time source", time_sources, _1)) -        .subscribe(boost::bind(&b200_impl::update_time_source, this, _1)); +        .set_coercer(boost::bind(&check_option_valid, "time source", time_sources, _1)) +        .add_coerced_subscriber(boost::bind(&b200_impl::update_time_source, this, _1));      //setup reference source props      static const std::vector<std::string> clock_sources = (_gpsdo_capable) ?                                  boost::assign::list_of("internal")("external")("gpsdo") : @@ -656,8 +656,8 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      _tree->create<std::vector<std::string> >(mb_path / "clock_source" / "options")          .set(clock_sources);      _tree->create<std::string>(mb_path / "clock_source" / "value") -        .coerce(boost::bind(&check_option_valid, "clock source", clock_sources, _1)) -        .subscribe(boost::bind(&b200_impl::update_clock_source, this, _1)); +        .set_coercer(boost::bind(&check_option_valid, "clock source", clock_sources, _1)) +        .add_coerced_subscriber(boost::bind(&b200_impl::update_clock_source, this, _1));      ////////////////////////////////////////////////////////////////////      // front panel gpio @@ -667,10 +667,10 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s      {              _tree->create<boost::uint32_t>(mb_path / "gpio" / "FP0" / attr.second)              .set(0) -            .subscribe(boost::bind(&gpio_atr_3000::set_gpio_attr, _radio_perifs[0].fp_gpio, attr.first, _1)); +            .add_coerced_subscriber(boost::bind(&gpio_atr_3000::set_gpio_attr, _radio_perifs[0].fp_gpio, attr.first, _1));      }      _tree->create<boost::uint32_t>(mb_path / "gpio" / "FP0" / "READBACK") -        .publish(boost::bind(&gpio_atr_3000::read_gpio, _radio_perifs[0].fp_gpio)); +        .set_publisher(boost::bind(&gpio_atr_3000::read_gpio, _radio_perifs[0].fp_gpio));      ////////////////////////////////////////////////////////////////////      // dboard eeproms but not really @@ -749,9 +749,9 @@ void b200_impl::setup_radio(const size_t dspno)      perif.ctrl->hold_task(_async_task);      _async_task_data->radio_ctrl[dspno] = perif.ctrl; //weak      _tree->access<time_spec_t>(mb_path / "time" / "cmd") -        .subscribe(boost::bind(&radio_ctrl_core_3000::set_time, perif.ctrl, _1)); +        .add_coerced_subscriber(boost::bind(&radio_ctrl_core_3000::set_time, perif.ctrl, _1));      _tree->access<double>(mb_path / "tick_rate") -        .subscribe(boost::bind(&radio_ctrl_core_3000::set_tick_rate, perif.ctrl, _1)); +        .add_coerced_subscriber(boost::bind(&radio_ctrl_core_3000::set_tick_rate, perif.ctrl, _1));      this->register_loopback_self_test(perif.ctrl);      //////////////////////////////////////////////////////////////////// @@ -782,27 +782,27 @@ void b200_impl::setup_radio(const size_t dspno)      // connect rx dsp control objects      ////////////////////////////////////////////////////////////////////      _tree->access<double>(mb_path / "tick_rate") -        .subscribe(boost::bind(&rx_vita_core_3000::set_tick_rate, perif.framer, _1)) -        .subscribe(boost::bind(&rx_dsp_core_3000::set_tick_rate, perif.ddc, _1)); +        .add_coerced_subscriber(boost::bind(&rx_vita_core_3000::set_tick_rate, perif.framer, _1)) +        .add_coerced_subscriber(boost::bind(&rx_dsp_core_3000::set_tick_rate, perif.ddc, _1));      const fs_path rx_dsp_path = mb_path / "rx_dsps" / dspno;      perif.ddc->populate_subtree(_tree->subtree(rx_dsp_path));      _tree->access<double>(rx_dsp_path / "rate" / "value") -        .coerce(boost::bind(&b200_impl::coerce_rx_samp_rate, this, perif.ddc, dspno, _1)) -        .subscribe(boost::bind(&b200_impl::update_rx_samp_rate, this, dspno, _1)) +        .set_coercer(boost::bind(&b200_impl::coerce_rx_samp_rate, this, perif.ddc, dspno, _1)) +        .add_coerced_subscriber(boost::bind(&b200_impl::update_rx_samp_rate, this, dspno, _1))      ;      _tree->create<stream_cmd_t>(rx_dsp_path / "stream_cmd") -        .subscribe(boost::bind(&rx_vita_core_3000::issue_stream_command, perif.framer, _1)); +        .add_coerced_subscriber(boost::bind(&rx_vita_core_3000::issue_stream_command, perif.framer, _1));      ////////////////////////////////////////////////////////////////////      // create tx dsp control objects      ////////////////////////////////////////////////////////////////////      _tree->access<double>(mb_path / "tick_rate") -        .subscribe(boost::bind(&tx_dsp_core_3000::set_tick_rate, perif.duc, _1)); +        .add_coerced_subscriber(boost::bind(&tx_dsp_core_3000::set_tick_rate, perif.duc, _1));      const fs_path tx_dsp_path = mb_path / "tx_dsps" / dspno;      perif.duc->populate_subtree(_tree->subtree(tx_dsp_path));      _tree->access<double>(tx_dsp_path / "rate" / "value") -        .coerce(boost::bind(&b200_impl::coerce_tx_samp_rate, this, perif.duc, dspno, _1)) -        .subscribe(boost::bind(&b200_impl::update_tx_samp_rate, this, dspno, _1)) +        .set_coercer(boost::bind(&b200_impl::coerce_tx_samp_rate, this, perif.duc, dspno, _1)) +        .add_coerced_subscriber(boost::bind(&b200_impl::update_tx_samp_rate, this, dspno, _1))      ;      //////////////////////////////////////////////////////////////////// @@ -822,17 +822,17 @@ void b200_impl::setup_radio(const size_t dspno)          // Now connect all the b200_impl-specific items          _tree->create<sensor_value_t>(rf_fe_path / "sensors" / "lo_locked") -            .publish(boost::bind(&b200_impl::get_fe_pll_locked, this, dir == TX_DIRECTION)) +            .set_publisher(boost::bind(&b200_impl::get_fe_pll_locked, this, dir == TX_DIRECTION))          ;          _tree->access<double>(rf_fe_path / "freq" / "value") -            .subscribe(boost::bind(&b200_impl::update_bandsel, this, key, _1)) +            .add_coerced_subscriber(boost::bind(&b200_impl::update_bandsel, this, key, _1))          ;          if (dir == RX_DIRECTION)          {              static const std::vector<std::string> ants = boost::assign::list_of("TX/RX")("RX2");              _tree->create<std::vector<std::string> >(rf_fe_path / "antenna" / "options").set(ants);              _tree->create<std::string>(rf_fe_path / "antenna" / "value") -                .subscribe(boost::bind(&b200_impl::update_antenna_sel, this, dspno, _1)) +                .add_coerced_subscriber(boost::bind(&b200_impl::update_antenna_sel, this, dspno, _1))                  .set("RX2")              ; | 
