diff options
author | Ashish Chaudhari <ashish@ettus.com> | 2014-08-05 17:07:46 -0700 |
---|---|---|
committer | Ashish Chaudhari <ashish@ettus.com> | 2014-08-05 17:07:46 -0700 |
commit | 64c1d64901860c55acd1cfd21508e6b89a35a6ed (patch) | |
tree | 109de2c044e99b0c720800fdfec04194f62c90d1 /host/lib/usrp/usrp2 | |
parent | db6f3a2d7aabdd0eaa1021ac174edd3cbb77be55 (diff) | |
parent | 605b470a873c600dec9c106f5b09b70a77960470 (diff) | |
download | uhd-64c1d64901860c55acd1cfd21508e6b89a35a6ed.tar.gz uhd-64c1d64901860c55acd1cfd21508e6b89a35a6ed.tar.bz2 uhd-64c1d64901860c55acd1cfd21508e6b89a35a6ed.zip |
Merge branch 'master' into ashish/cat_refactor_master
Diffstat (limited to 'host/lib/usrp/usrp2')
-rw-r--r-- | host/lib/usrp/usrp2/usrp2_impl.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index ae2a6f81d..2ad15aade 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -35,6 +35,7 @@ #include <boost/assign/list_of.hpp> #include <boost/asio/ip/address_v4.hpp> #include <boost/asio.hpp> //used for htonl and ntohl +#include <boost/thread.hpp> using namespace uhd; using namespace uhd::usrp; @@ -761,7 +762,13 @@ usrp2_impl::usrp2_impl(const device_addr_t &_device_addr){ _tree->access<std::string>(root / "time_source/value").set("gpsdo"); _tree->access<std::string>(root / "clock_source/value").set("gpsdo"); UHD_MSG(status) << "Initializing time to the internal GPSDO" << std::endl; - _mbc[mb].time64->set_time_next_pps(time_spec_t(time_t(_mbc[mb].gps->get_sensor("gps_time").to_int()+1))); + const time_t tp = time_t(_mbc[mb].gps->get_sensor("gps_time").to_int()+1); + _tree->access<time_spec_t>(root / "time" / "pps").set(time_spec_t(tp)); + + //wait for next PPS edge (timeout after 1 second) + time_spec_t pps_time = _tree->access<time_spec_t>(root / "time" / "pps").get(); + for (size_t i = 0; i < 10 && _tree->access<time_spec_t>(root / "time" / "pps").get() == pps_time; i++) + boost::this_thread::sleep(boost::posix_time::milliseconds(100)); } } |