diff options
author | michael-west <michael.west@ettus.com> | 2015-10-14 14:10:25 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2015-12-10 14:21:49 -0800 |
commit | c1e6da087946b522018996267441b8555791dabd (patch) | |
tree | 1833f03bfff3e08ca32ee53e757ba14f7f4c216b /host/lib | |
parent | c21c5ee6fe6c0e30ac803b308d74ec77317a456f (diff) | |
download | uhd-c1e6da087946b522018996267441b8555791dabd.tar.gz uhd-c1e6da087946b522018996267441b8555791dabd.tar.bz2 uhd-c1e6da087946b522018996267441b8555791dabd.zip |
B210/E300: Re-sync times after master clock rate change.
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/usrp/b200/b200_impl.cpp | 3 | ||||
-rw-r--r-- | host/lib/usrp/e300/e300_impl.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index a18e595a6..dae90bbfe 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -626,6 +626,9 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s .publish(boost::bind(&time_core_3000::get_time_now, _radio_perifs[0].time64)) .subscribe(boost::bind(&b200_impl::sync_times, 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, _radio_perifs[0].time64->get_time_now())); _tree->create<time_spec_t>(mb_path / "time" / "pps") .publish(boost::bind(&time_core_3000::get_time_last_pps, _radio_perifs[0].time64)); BOOST_FOREACH(radio_perifs_t &perif, _radio_perifs) diff --git a/host/lib/usrp/e300/e300_impl.cpp b/host/lib/usrp/e300/e300_impl.cpp index bf108e171..5cc274bbb 100644 --- a/host/lib/usrp/e300/e300_impl.cpp +++ b/host/lib/usrp/e300/e300_impl.cpp @@ -530,6 +530,9 @@ e300_impl::e300_impl(const uhd::device_addr_t &device_addr) .publish(boost::bind(&time_core_3000::get_time_now, _radio_perifs[0].time64)) .subscribe(boost::bind(&e300_impl::_sync_times, this, _1)) .set(0.0); + //re-sync the times when the tick rate changes + _tree->access<double>(mb_path / "tick_rate") + .subscribe(boost::bind(&e300_impl::_sync_times, this, _radio_perifs[0].time64->get_time_now())); _tree->create<time_spec_t>(mb_path / "time" / "pps") .publish(boost::bind(&time_core_3000::get_time_last_pps, _radio_perifs[0].time64)) .subscribe(boost::bind(&time_core_3000::set_time_next_pps, _radio_perifs[0].time64, _1)) |