From 248df215aa0b382e2c54877680abfc1ca823bb6b Mon Sep 17 00:00:00 2001 From: michael-west Date: Wed, 18 Jun 2014 12:43:10 -0700 Subject: Fix for BUG #516: B210: Fails to Run with 30.72 MHz Clock - Corrected clock rate checks for B2x0 --- host/lib/usrp/b200/b200_impl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 261183128..40b316175 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -681,7 +681,7 @@ void b200_impl::enforce_tick_rate_limits(size_t chan_count, double tick_rate, co else { const double max_tick_rate = ((chan_count <= 1) ? AD9361_1_CHAN_CLOCK_RATE_MAX : AD9361_2_CHAN_CLOCK_RATE_MAX); - if (tick_rate > max_tick_rate) + if (tick_rate > max_tick_rate and (tick_rate - max_tick_rate > 1.0)) { throw uhd::value_error(boost::str( boost::format("current master clock rate (%.2f MHz) exceeds maximum possible master clock rate (%.2f MHz) when using %d %s channels") @@ -696,12 +696,12 @@ void b200_impl::enforce_tick_rate_limits(size_t chan_count, double tick_rate, co double b200_impl::set_tick_rate(const double rate) { - UHD_MSG(status) << "Asking for clock rate " << rate/1e6 << " MHz\n"; + UHD_MSG(status) << (boost::format("Asking for clock rate %.2f MHz\n") % (rate/1e6)); check_tick_rate_with_current_streamers(rate); // Defined in b200_io_impl.cpp _tick_rate = _codec_ctrl->set_clock_rate(rate); - UHD_MSG(status) << "Actually got clock rate " << _tick_rate/1e6 << " MHz\n"; + UHD_MSG(status) << (boost::format("Actually got clock rate %.2f MHz\n") % (_tick_rate/1e6)); //reset after clock rate change this->reset_codec_dcm(); -- cgit v1.2.3 From 016430b3f8b3535b59e70592fc1029f783cf6cd0 Mon Sep 17 00:00:00 2001 From: michael-west Date: Wed, 18 Jun 2014 13:42:24 -0700 Subject: Fix for BUG #516: B210: Fails to Run with 30.72 MHz Clock - Corrected clock rate checks for B2x0 --- host/lib/usrp/b200/b200_impl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 40b316175..72dd25904 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -684,7 +684,7 @@ void b200_impl::enforce_tick_rate_limits(size_t chan_count, double tick_rate, co if (tick_rate > max_tick_rate and (tick_rate - max_tick_rate > 1.0)) { throw uhd::value_error(boost::str( - boost::format("current master clock rate (%.2f MHz) exceeds maximum possible master clock rate (%.2f MHz) when using %d %s channels") + boost::format("current master clock rate (%.6f MHz) exceeds maximum possible master clock rate (%.6f MHz) when using %d %s channels") % (tick_rate/1e6) % (max_tick_rate/1e6) % chan_count @@ -696,12 +696,12 @@ void b200_impl::enforce_tick_rate_limits(size_t chan_count, double tick_rate, co double b200_impl::set_tick_rate(const double rate) { - UHD_MSG(status) << (boost::format("Asking for clock rate %.2f MHz\n") % (rate/1e6)); + UHD_MSG(status) << (boost::format("Asking for clock rate %.6f MHz\n") % (rate/1e6)); check_tick_rate_with_current_streamers(rate); // Defined in b200_io_impl.cpp _tick_rate = _codec_ctrl->set_clock_rate(rate); - UHD_MSG(status) << (boost::format("Actually got clock rate %.2f MHz\n") % (_tick_rate/1e6)); + UHD_MSG(status) << (boost::format("Actually got clock rate %.6f MHz\n") % (_tick_rate/1e6)); //reset after clock rate change this->reset_codec_dcm(); -- cgit v1.2.3 From 487e7fc2b41deb3867d24d8e4dacb10d2cafebb1 Mon Sep 17 00:00:00 2001 From: michael-west Date: Thu, 10 Jul 2014 14:37:38 -0700 Subject: BUG #516: B210: Fails to Run with 30.72 MHz Clock - Addressed feedback from review. --- host/lib/usrp/b200/b200_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index 72dd25904..d8c8db9ae 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -681,7 +681,7 @@ void b200_impl::enforce_tick_rate_limits(size_t chan_count, double tick_rate, co else { const double max_tick_rate = ((chan_count <= 1) ? AD9361_1_CHAN_CLOCK_RATE_MAX : AD9361_2_CHAN_CLOCK_RATE_MAX); - if (tick_rate > max_tick_rate and (tick_rate - max_tick_rate > 1.0)) + if (tick_rate - max_tick_rate >= 1.0) { throw uhd::value_error(boost::str( boost::format("current master clock rate (%.6f MHz) exceeds maximum possible master clock rate (%.6f MHz) when using %d %s channels") -- cgit v1.2.3