diff options
Diffstat (limited to 'host/lib/usrp')
| -rw-r--r-- | host/lib/usrp/multi_usrp.cpp | 12 | ||||
| -rw-r--r-- | host/lib/usrp/x300/x300_impl.cpp | 14 | 
2 files changed, 12 insertions, 14 deletions
diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index 7f27bdc64..e97787785 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -393,16 +393,16 @@ public:          dict<std::string, std::string> usrp_info;          mboard_eeprom_t mb_eeprom = _tree->access<mboard_eeprom_t>(mb_root(mcp.mboard) / "eeprom").get(); -        dboard_eeprom_t db_eeprom = _tree->access<dboard_eeprom_t>(rx_rf_fe_root(mcp.chan).branch_path().branch_path() / "rx_eeprom").get(); +        dboard_eeprom_t db_eeprom = _tree->access<dboard_eeprom_t>(rx_rf_fe_root(chan).branch_path().branch_path() / "rx_eeprom").get();          usrp_info["mboard_id"] = _tree->access<std::string>(mb_root(mcp.mboard) / "name").get();          usrp_info["mboard_name"] = mb_eeprom["name"];          usrp_info["mboard_serial"] = mb_eeprom["serial"];          usrp_info["rx_id"] = db_eeprom.id.to_pp_string(); -        usrp_info["rx_subdev_name"] = _tree->access<std::string>(rx_rf_fe_root(mcp.chan) / "name").get(); +        usrp_info["rx_subdev_name"] = _tree->access<std::string>(rx_rf_fe_root(chan) / "name").get();          usrp_info["rx_subdev_spec"] = _tree->access<subdev_spec_t>(mb_root(mcp.mboard) / "rx_subdev_spec").get().to_string();          usrp_info["rx_serial"] = db_eeprom.serial; -        usrp_info["rx_antenna"] =  _tree->access<std::string>(rx_rf_fe_root(mcp.chan) / "antenna" / "value").get(); +        usrp_info["rx_antenna"] =  _tree->access<std::string>(rx_rf_fe_root(chan) / "antenna" / "value").get();          return usrp_info;      } @@ -412,16 +412,16 @@ public:          dict<std::string, std::string> usrp_info;          mboard_eeprom_t mb_eeprom = _tree->access<mboard_eeprom_t>(mb_root(mcp.mboard) / "eeprom").get(); -        dboard_eeprom_t db_eeprom = _tree->access<dboard_eeprom_t>(tx_rf_fe_root(mcp.chan).branch_path().branch_path() / "tx_eeprom").get(); +        dboard_eeprom_t db_eeprom = _tree->access<dboard_eeprom_t>(tx_rf_fe_root(chan).branch_path().branch_path() / "tx_eeprom").get();          usrp_info["mboard_id"] = _tree->access<std::string>(mb_root(mcp.mboard) / "name").get();          usrp_info["mboard_name"] = mb_eeprom["name"];          usrp_info["mboard_serial"] = mb_eeprom["serial"];          usrp_info["tx_id"] = db_eeprom.id.to_pp_string(); -        usrp_info["tx_subdev_name"] = _tree->access<std::string>(tx_rf_fe_root(mcp.chan) / "name").get(); +        usrp_info["tx_subdev_name"] = _tree->access<std::string>(tx_rf_fe_root(chan) / "name").get();          usrp_info["tx_subdev_spec"] = _tree->access<subdev_spec_t>(mb_root(mcp.mboard) / "tx_subdev_spec").get().to_string();          usrp_info["tx_serial"] = db_eeprom.serial; -        usrp_info["tx_antenna"] = _tree->access<std::string>(tx_rf_fe_root(mcp.chan) / "antenna" / "value").get(); +        usrp_info["tx_antenna"] = _tree->access<std::string>(tx_rf_fe_root(chan) / "antenna" / "value").get();          return usrp_info;      } diff --git a/host/lib/usrp/x300/x300_impl.cpp b/host/lib/usrp/x300/x300_impl.cpp index 95ac3af38..bf676b661 100644 --- a/host/lib/usrp/x300/x300_impl.cpp +++ b/host/lib/usrp/x300/x300_impl.cpp @@ -755,6 +755,12 @@ void x300_impl::setup_mb(const size_t mb_i, const uhd::device_addr_t &dev_addr)      _tree->create<bool>(mb_path / "clock_source" / "output")          .subscribe(boost::bind(&x300_clock_ctrl::set_ref_out, mb.clock, _1)); +    //initialize tick rate (must be done before setting time) +    _tree->access<double>(mb_path / "tick_rate") +        .subscribe(boost::bind(&x300_impl::set_tick_rate, this, boost::ref(mb), _1)) +        .subscribe(boost::bind(&x300_impl::update_tick_rate, this, boost::ref(mb), _1)) +        .set(mb.clock->get_master_clock_rate()); +      ////////////////////////////////////////////////////////////////////      // initialize clock and time sources      //////////////////////////////////////////////////////////////////// @@ -790,14 +796,6 @@ void x300_impl::setup_mb(const size_t mb_i, const uhd::device_addr_t &dev_addr)          .publish(boost::bind(&x300_impl::get_ref_locked, this, mb.zpu_ctrl));      //////////////////////////////////////////////////////////////////// -    // create clock properties -    //////////////////////////////////////////////////////////////////// -    _tree->access<double>(mb_path / "tick_rate") -        .subscribe(boost::bind(&x300_impl::set_tick_rate, this, boost::ref(mb), _1)) -        .subscribe(boost::bind(&x300_impl::update_tick_rate, this, boost::ref(mb), _1)) -        .set(mb.clock->get_master_clock_rate()); - -    ////////////////////////////////////////////////////////////////////      // do some post-init tasks      ////////////////////////////////////////////////////////////////////      subdev_spec_t rx_fe_spec, tx_fe_spec;  | 
