From 0d0d03d08d13037da2f2f1c85e546addff32aa69 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 15 Mar 2011 18:21:59 -0700 Subject: uhd: replace file_string() with string() for deprecation reasons Patch from moritz.fischer@student.kit.edu [1] http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/deprecated.html [2] http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/index.htm Boost 1.36 appears to have string(), so this should be safe to use. --- host/lib/usrp/usrp_e100/usrp_e100_impl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'host/lib/usrp/usrp_e100/usrp_e100_impl.cpp') diff --git a/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp b/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp index 40ea56466..f430090f0 100644 --- a/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp +++ b/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp @@ -53,7 +53,7 @@ static device_addrs_t usrp_e100_find(const device_addr_t &hint){ if (fs::exists(hint["node"])){ device_addr_t new_addr; new_addr["type"] = "usrp-e"; - new_addr["node"] = fs::system_complete(fs::path(hint["node"])).file_string(); + new_addr["node"] = fs::system_complete(fs::path(hint["node"])).string(); try{ usrp_e100_iface::sptr iface = usrp_e100_iface::make(new_addr["node"]); new_addr["name"] = iface->mb_eeprom["name"]; -- cgit v1.2.3 From 6fc9a384a7d9aef9457e7f7015431880f6bf91d8 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 11 Mar 2011 17:02:11 +0000 Subject: usrp-e100: added module compat num check, made fpga compat constant more obvious --- host/lib/usrp/usrp_e100/usrp_e100_iface.cpp | 11 ++++++++++- host/lib/usrp/usrp_e100/usrp_e100_impl.cpp | 8 ++++---- host/lib/usrp/usrp_e100/usrp_e100_impl.hpp | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) (limited to 'host/lib/usrp/usrp_e100/usrp_e100_impl.cpp') diff --git a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp index ec0baf490..55446da63 100644 --- a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp +++ b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp @@ -22,7 +22,7 @@ #include //open, close #include //ioctl structures and constants #include -#include //mutex +#include #include #include #include @@ -109,6 +109,15 @@ public: throw uhd::io_error("Failed to open " + node); } + //check the module compatibility number + int module_compat_num = ::ioctl(_node_fd, USRP_E_GET_COMPAT_NUMBER, NULL); + if (module_compat_num != USRP_E_COMPAT_NUMBER){ + throw uhd::runtime_error(str(boost::format( + "Expected module compatibility number 0x%x, but got 0x%x:\n" + "The module build is not compatible with the host code build." + ) % USRP_E_COMPAT_NUMBER % module_compat_num)); + } + mb_eeprom = mboard_eeprom_t(get_i2c_dev_iface(), mboard_eeprom_t::MAP_E100); } diff --git a/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp b/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp index a120c3303..a8fbe5d69 100644 --- a/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp +++ b/host/lib/usrp/usrp_e100/usrp_e100_impl.cpp @@ -120,10 +120,10 @@ static device::sptr usrp_e100_make(const device_addr_t &device_addr){ try{std::ifstream(hash_file_path) >> loaded_hash;}catch(...){} //if not loaded: load the fpga image and write the hash-file - if (fpga_compat_num != USRP_E_COMPAT_NUM or loaded_hash != fpga_hash){ + if (fpga_compat_num != USRP_E_FPGA_COMPAT_NUM or loaded_hash != fpga_hash){ iface.reset(); usrp_e100_load_fpga(usrp_e100_fpga_image); - sleep(1); ///\todo do this better one day. + sleep(1); ///\todo do this better one day. std::cout << boost::format("re-Opening USRP-E on %s") % node << std::endl; iface = usrp_e100_iface::make(node); try{std::ofstream(hash_file_path) << fpga_hash;}catch(...){} @@ -131,11 +131,11 @@ static device::sptr usrp_e100_make(const device_addr_t &device_addr){ //check that the compatibility is correct fpga_compat_num = iface->peek16(UE_REG_MISC_COMPAT); - if (fpga_compat_num != USRP_E_COMPAT_NUM){ + if (fpga_compat_num != USRP_E_FPGA_COMPAT_NUM){ throw uhd::runtime_error(str(boost::format( "Expected fpga compatibility number 0x%x, but got 0x%x:\n" "The fpga build is not compatible with the host code build." - ) % USRP_E_COMPAT_NUM % fpga_compat_num)); + ) % USRP_E_FPGA_COMPAT_NUM % fpga_compat_num)); } return device::sptr(new usrp_e100_impl(iface)); diff --git a/host/lib/usrp/usrp_e100/usrp_e100_impl.hpp b/host/lib/usrp/usrp_e100/usrp_e100_impl.hpp index 897616320..98117cf26 100644 --- a/host/lib/usrp/usrp_e100/usrp_e100_impl.hpp +++ b/host/lib/usrp/usrp_e100/usrp_e100_impl.hpp @@ -30,7 +30,7 @@ #ifndef INCLUDED_USRP_E100_IMPL_HPP #define INCLUDED_USRP_E100_IMPL_HPP -static const boost::uint16_t USRP_E_COMPAT_NUM = 0x03; +static const boost::uint16_t USRP_E_FPGA_COMPAT_NUM = 0x03; //! load an fpga image from a bin file into the usrp-e fpga extern void usrp_e100_load_fpga(const std::string &bin_file); -- cgit v1.2.3