From 7eb18c621180fab669df591191d7771e89ed8ffa Mon Sep 17 00:00:00 2001 From: Balint Seeber Date: Fri, 5 Dec 2014 16:39:04 -0800 Subject: b200: select valid 10 MHz ref (update GPIO) *before* updating ADF4001 external ref selection --- host/lib/usrp/b200/b200_impl.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'host/lib/usrp/b200') diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index da06e12b4..01c0f5cbf 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -822,6 +822,10 @@ void b200_impl::set_mb_eeprom(const uhd::usrp::mboard_eeprom_t &mb_eeprom) void b200_impl::update_clock_source(const std::string &source) { + // present the PLL with a valid 10 MHz signal before switching its reference + _gpio_state.ref_sel = (source == "gpsdo")? 1 : 0; + this->update_gpio_state(); + if (source == "internal"){ _adf4001_iface->set_lock_to_ext_ref(false); } @@ -832,9 +836,6 @@ void b200_impl::update_clock_source(const std::string &source) } else { throw uhd::key_error("update_clock_source: unknown source: " + source); } - - _gpio_state.ref_sel = (source == "gpsdo")? 1 : 0; - this->update_gpio_state(); } void b200_impl::update_time_source(const std::string &source) -- cgit v1.2.3