From 3896348122aeecfddb0c8df4ec7db59aaab66e59 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Fri, 21 Nov 2014 00:02:41 +0100 Subject: x300: Clarified FPGA compat error message --- host/lib/usrp/x300/x300_impl.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/x300/x300_impl.cpp b/host/lib/usrp/x300/x300_impl.cpp index 5520cc82e..a879ae02d 100644 --- a/host/lib/usrp/x300/x300_impl.cpp +++ b/host/lib/usrp/x300/x300_impl.cpp @@ -1689,11 +1689,16 @@ void x300_impl::check_fpga_compat(const fs_path &mb_path, wb_iface::sptr iface) if (compat_major != X300_FPGA_COMPAT_MAJOR) { throw uhd::runtime_error(str(boost::format( - "Expected FPGA compatibility number 0x%x, but got 0x%x.%x:\n" - "The FPGA build is not compatible with the host code build.\n" - "%s" - ) % int(X300_FPGA_COMPAT_MAJOR) % compat_major % compat_minor - % print_images_error())); + "Expected FPGA compatibility number %d, but got %d:\n" + "The FPGA image on your device is not compatible with this host code build.\n" + "Download the appropriate FPGA images for this version of UHD.\n" + "%s\n\n" + "Then burn a new image to the on-board flash storage of your\n" + "USRP X3xx device using the burner utility. \n\n" + "For more information, refer to the UHD manual:\n\n" + " http://files.ettus.com/manual/page_usrp_x3x0.html#x3x0_flash" + ) % int(X300_FPGA_COMPAT_MAJOR) % compat_major + % print_images_error())); } _tree->create(mb_path / "fpga_version").set(str(boost::format("%u.%u") % compat_major % compat_minor)); -- cgit v1.2.3 From d43a68499e58f279aec136ce4e609732dbaf2d89 Mon Sep 17 00:00:00 2001 From: Julian Arnold Date: Mon, 17 Nov 2014 16:53:58 -0800 Subject: b200: serialized access to get_rx/tx_stream --- host/lib/usrp/b200/b200_impl.hpp | 2 ++ host/lib/usrp/b200/b200_io_impl.cpp | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/b200/b200_impl.hpp b/host/lib/usrp/b200/b200_impl.hpp index 613844ffc..8f03d81ad 100644 --- a/host/lib/usrp/b200/b200_impl.hpp +++ b/host/lib/usrp/b200/b200_impl.hpp @@ -117,6 +117,8 @@ private: boost::weak_ptr _rx_streamer; boost::weak_ptr _tx_streamer; + boost::mutex _transport_setup_mutex; + //async ctrl + msgs uhd::msg_task::sptr _async_task; typedef uhd::transport::bounded_buffer async_md_type; diff --git a/host/lib/usrp/b200/b200_io_impl.cpp b/host/lib/usrp/b200/b200_io_impl.cpp index 9f6d593fe..262c95f0d 100644 --- a/host/lib/usrp/b200/b200_io_impl.cpp +++ b/host/lib/usrp/b200/b200_io_impl.cpp @@ -256,6 +256,8 @@ boost::optional b200_impl::handle_async_task( **********************************************************************/ rx_streamer::sptr b200_impl::get_rx_stream(const uhd::stream_args_t &args_) { + boost::mutex::scoped_lock lock(_transport_setup_mutex); + stream_args_t args = args_; //setup defaults for unspecified values @@ -361,6 +363,8 @@ void b200_impl::handle_overflow(const size_t radio_index) **********************************************************************/ tx_streamer::sptr b200_impl::get_tx_stream(const uhd::stream_args_t &args_) { + boost::mutex::scoped_lock lock(_transport_setup_mutex); + stream_args_t args = args_; //setup defaults for unspecified values -- cgit v1.2.3