diff options
Diffstat (limited to 'host')
-rw-r--r-- | host/CMakeLists.txt | 4 | ||||
-rw-r--r-- | host/lib/transport/nirio/rpc/rpc_client.cpp | 5 | ||||
-rw-r--r-- | host/lib/usrp/multi_usrp.cpp | 30 | ||||
-rw-r--r-- | host/lib/utils/log.cpp | 6 |
4 files changed, 35 insertions, 10 deletions
diff --git a/host/CMakeLists.txt b/host/CMakeLists.txt index b53e6208e..1973f7b0a 100644 --- a/host/CMakeLists.txt +++ b/host/CMakeLists.txt @@ -210,8 +210,8 @@ UHD_INSTALL(FILES # Images download directory for utils/uhd_images_downloader.py ######################################################################## -SET(UHD_IMAGES_MD5SUM "6a51f54fb440860f3023fc888c6a5898") -SET(UHD_IMAGES_DOWNLOAD_SRC "http://files.ettus.com/binaries/maint_images/archive/uhd-images_003.007.001-release.zip") +SET(UHD_IMAGES_MD5SUM "fb5b36972c453e5b7954879873bbcf74") +SET(UHD_IMAGES_DOWNLOAD_SRC "http://files.ettus.com/binaries/maint_images/archive/uhd-images_003.007.001-20-g468e7f35.zip") ######################################################################## # Register top level components diff --git a/host/lib/transport/nirio/rpc/rpc_client.cpp b/host/lib/transport/nirio/rpc/rpc_client.cpp index f8dc26b50..0c4b8fe3c 100644 --- a/host/lib/transport/nirio/rpc/rpc_client.cpp +++ b/host/lib/transport/nirio/rpc/rpc_client.cpp @@ -104,6 +104,11 @@ rpc_client::rpc_client ( } catch (boost::exception&) { UHD_LOG << "rpc_client connection request cancelled/aborted." << std::endl; _exec_err.assign(boost::asio::error::connection_aborted, boost::asio::error::get_system_category()); +#if BOOST_VERSION < 104700 + } catch (std::exception& e) { + UHD_LOG << "rpc_client connection error: " << e.what() << std::endl; + _exec_err.assign(boost::asio::error::connection_aborted, boost::asio::error::get_system_category()); +#endif } } diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index 166b0cb37..71b1f8995 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -747,7 +747,11 @@ public: void set_rx_dc_offset(const bool enb, size_t chan){ if (chan != ALL_CHANS){ - _tree->access<bool>(rx_fe_root(chan) / "dc_offset" / "enable").set(enb); + if (_tree->exists(rx_fe_root(chan) / "dc_offset" / "enable")) { + _tree->access<bool>(rx_fe_root(chan) / "dc_offset" / "enable").set(enb); + } else { + UHD_MSG(warning) << "Setting DC offset compensation is not possible on this device." << std::endl; + } return; } for (size_t c = 0; c < get_rx_num_channels(); c++){ @@ -757,7 +761,11 @@ public: void set_rx_dc_offset(const std::complex<double> &offset, size_t chan){ if (chan != ALL_CHANS){ - _tree->access<std::complex<double> >(rx_fe_root(chan) / "dc_offset" / "value").set(offset); + if (_tree->exists(rx_fe_root(chan) / "dc_offset" / "value")) { + _tree->access<std::complex<double> >(rx_fe_root(chan) / "dc_offset" / "value").set(offset); + } else { + UHD_MSG(warning) << "Setting DC offset is not possible on this device." << std::endl; + } return; } for (size_t c = 0; c < get_rx_num_channels(); c++){ @@ -767,7 +775,11 @@ public: void set_rx_iq_balance(const std::complex<double> &offset, size_t chan){ if (chan != ALL_CHANS){ - _tree->access<std::complex<double> >(rx_fe_root(chan) / "iq_balance" / "value").set(offset); + if (_tree->exists(rx_fe_root(chan) / "iq_balance" / "value")) { + _tree->access<std::complex<double> >(rx_fe_root(chan) / "iq_balance" / "value").set(offset); + } else { + UHD_MSG(warning) << "Setting IQ balance is not possible on this device." << std::endl; + } return; } for (size_t c = 0; c < get_rx_num_channels(); c++){ @@ -933,7 +945,11 @@ public: void set_tx_dc_offset(const std::complex<double> &offset, size_t chan){ if (chan != ALL_CHANS){ - _tree->access<std::complex<double> >(tx_fe_root(chan) / "dc_offset" / "value").set(offset); + if (_tree->exists(tx_fe_root(chan) / "dc_offset" / "value")) { + _tree->access<std::complex<double> >(tx_fe_root(chan) / "dc_offset" / "value").set(offset); + } else { + UHD_MSG(warning) << "Setting DC offset is not possible on this device." << std::endl; + } return; } for (size_t c = 0; c < get_tx_num_channels(); c++){ @@ -943,7 +959,11 @@ public: void set_tx_iq_balance(const std::complex<double> &offset, size_t chan){ if (chan != ALL_CHANS){ - _tree->access<std::complex<double> >(tx_fe_root(chan) / "iq_balance" / "value").set(offset); + if (_tree->exists(tx_fe_root(chan) / "iq_balance" / "value")) { + _tree->access<std::complex<double> >(tx_fe_root(chan) / "iq_balance" / "value").set(offset); + } else { + UHD_MSG(warning) << "Setting IQ balance is not possible on this device." << std::endl; + } return; } for (size_t c = 0; c < get_tx_num_channels(); c++){ diff --git a/host/lib/utils/log.cpp b/host/lib/utils/log.cpp index d6d1786c7..31ee0c991 100644 --- a/host/lib/utils/log.cpp +++ b/host/lib/utils/log.cpp @@ -1,5 +1,5 @@ // -// Copyright 2012 Ettus Research LLC +// Copyright 2012,2014 Ettus Research LLC // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -117,11 +117,11 @@ UHD_SINGLETON_FCN(log_resource_type, log_rs); **********************************************************************/ //! get the relative file path from the host directory static std::string get_rel_file_path(const fs::path &file){ - fs::path abs_path = file.branch_path(); + fs::path abs_path = file.parent_path(); fs::path rel_path = file.leaf(); while (not abs_path.empty() and abs_path.leaf() != "host"){ rel_path = abs_path.leaf() / rel_path; - abs_path = abs_path.branch_path(); + abs_path = abs_path.parent_path(); } return rel_path.string(); } |