aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-03-03 11:18:50 -0800
committerJosh Blum <josh@joshknows.com>2011-03-03 11:18:50 -0800
commitf938ed7938021c10bb0a0ce47e6d40d10f89abc2 (patch)
tree0c6793bd4bd8ba0a03ee8d83a0b67e3fe231356c /host/lib
parentb99c655d2ae52ee14e6430b175fe4849ccc0f0e7 (diff)
parent7aed95a658deb52404ba49774cfcecf96df654a8 (diff)
downloaduhd-f938ed7938021c10bb0a0ce47e6d40d10f89abc2.tar.gz
uhd-f938ed7938021c10bb0a0ce47e6d40d10f89abc2.tar.bz2
uhd-f938ed7938021c10bb0a0ce47e6d40d10f89abc2.zip
Merge branch 'master' into next
Conflicts: host/lib/usrp/usrp2/mboard_impl.cpp host/lib/usrp/usrp2/usrp2_impl.cpp
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/CMakeLists.txt2
-rw-r--r--host/lib/ic_reg_maps/CMakeLists.txt5
-rw-r--r--host/lib/transport/udp_zero_copy.cpp2
-rw-r--r--host/lib/usrp/usrp1/usrp1_impl.cpp28
-rw-r--r--host/lib/usrp/usrp2/dboard_impl.cpp1
-rw-r--r--host/lib/usrp/usrp2/io_impl.cpp2
-rw-r--r--host/lib/usrp/usrp2/mboard_impl.cpp1
-rw-r--r--host/lib/usrp/usrp2/usrp2_iface.cpp1
-rw-r--r--host/lib/usrp/usrp2/usrp2_iface.hpp8
-rw-r--r--host/lib/usrp/usrp2/usrp2_impl.cpp1
-rw-r--r--host/lib/usrp/usrp_e100/usrp_e100_iface.cpp2
11 files changed, 27 insertions, 26 deletions
diff --git a/host/lib/CMakeLists.txt b/host/lib/CMakeLists.txt
index c2dbef89b..597da85c4 100644
--- a/host/lib/CMakeLists.txt
+++ b/host/lib/CMakeLists.txt
@@ -33,7 +33,7 @@ MACRO(LIBUHD_PYTHON_GEN_SOURCE pyfile outfile)
#make the outfile depend on the python script
ADD_CUSTOM_COMMAND(
- OUTPUT ${outfile} DEPENDS ${pyfile}
+ OUTPUT ${outfile} DEPENDS ${pyfile} ${LIBUHD_PYTHON_GEN_SOURCE_DEPS}
COMMAND ${PYTHON_EXECUTABLE} -B ${pyfile} ${outfile}
COMMENT "Generating ${outfile}"
)
diff --git a/host/lib/ic_reg_maps/CMakeLists.txt b/host/lib/ic_reg_maps/CMakeLists.txt
index 67a63c32b..9e1f4705e 100644
--- a/host/lib/ic_reg_maps/CMakeLists.txt
+++ b/host/lib/ic_reg_maps/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright 2010 Ettus Research LLC
+# Copyright 2010-2011 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
@@ -20,6 +20,7 @@
########################################################################
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
+SET(LIBUHD_PYTHON_GEN_SOURCE_DEPS ${CMAKE_CURRENT_SOURCE_DIR}/common.py)
LIBUHD_PYTHON_GEN_SOURCE(
${CMAKE_CURRENT_SOURCE_DIR}/gen_adf4350_regs.py
@@ -90,3 +91,5 @@ LIBUHD_PYTHON_GEN_SOURCE(
${CMAKE_CURRENT_SOURCE_DIR}/gen_tuner_4937di5_regs.py
${CMAKE_CURRENT_BINARY_DIR}/tuner_4937di5_regs.hpp
)
+
+UNSET(LIBUHD_PYTHON_GEN_SOURCE_DEPS)
diff --git a/host/lib/transport/udp_zero_copy.cpp b/host/lib/transport/udp_zero_copy.cpp
index dda3bb547..5810f441c 100644
--- a/host/lib/transport/udp_zero_copy.cpp
+++ b/host/lib/transport/udp_zero_copy.cpp
@@ -196,6 +196,8 @@ public:
if (wait_for_recv_ready(_sock_fd, timeout)) return mrb->get_new(
::recv(_sock_fd, mrb->cast<char *>(), _recv_frame_size, 0)
);
+
+ this->handle_recv(mrb); //timeout: return the managed buffer to the queue
}
return managed_recv_buffer::sptr();
}
diff --git a/host/lib/usrp/usrp1/usrp1_impl.cpp b/host/lib/usrp/usrp1/usrp1_impl.cpp
index 1ec332a61..caea7c043 100644
--- a/host/lib/usrp/usrp1/usrp1_impl.cpp
+++ b/host/lib/usrp/usrp1/usrp1_impl.cpp
@@ -60,20 +60,6 @@ static device_addrs_t usrp1_find(const device_addr_t &hint)
//since an address is intended for a different, non-USB, device.
if (hint.has_key("addr")) return usrp1_addrs;
- //extract the firmware path for the USRP1
- std::string usrp1_fw_image;
- try{
- usrp1_fw_image = find_image_path(hint.get("fw", "usrp1_fw.ihx"));
- }
- catch(...){
- uhd::warning::post(
- "Could not locate USRP1 firmware.\n"
- "Please install the images package.\n"
- );
- return usrp1_addrs;
- }
- //std::cout << "USRP1 firmware image: " << usrp1_fw_image << std::endl;
-
boost::uint16_t vid = hint.has_key("uninit") ? FX2_VENDOR_ID : USRP1_VENDOR_ID;
boost::uint16_t pid = hint.has_key("uninit") ? FX2_PRODUCT_ID : USRP1_PRODUCT_ID;
@@ -85,6 +71,20 @@ static device_addrs_t usrp1_find(const device_addr_t &hint)
//find the usrps and load firmware
BOOST_FOREACH(usb_device_handle::sptr handle, usb_device_handle::get_device_list(vid, pid)) {
+ //extract the firmware path for the USRP1
+ std::string usrp1_fw_image;
+ try{
+ usrp1_fw_image = find_image_path(hint.get("fw", "usrp1_fw.ihx"));
+ }
+ catch(...){
+ uhd::warning::post(
+ "Could not locate USRP1 firmware.\n"
+ "Please install the images package.\n"
+ );
+ return usrp1_addrs;
+ }
+ //std::cout << "USRP1 firmware image: " << usrp1_fw_image << std::endl;
+
usrp_ctrl::make(usb_control::make(handle))->usrp_load_firmware(usrp1_fw_image);
}
diff --git a/host/lib/usrp/usrp2/dboard_impl.cpp b/host/lib/usrp/usrp2/dboard_impl.cpp
index e21fda074..3f41cddcf 100644
--- a/host/lib/usrp/usrp2/dboard_impl.cpp
+++ b/host/lib/usrp/usrp2/dboard_impl.cpp
@@ -17,6 +17,7 @@
#include "usrp2_impl.hpp"
#include "usrp2_regs.hpp"
+#include "fw_common.h"
#include <uhd/usrp/misc_utils.hpp>
#include <uhd/usrp/dsp_utils.hpp>
#include <uhd/usrp/subdev_props.hpp>
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp
index 082d77d3e..27a32d7a8 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -83,10 +83,10 @@ public:
* \return false on timeout
*/
UHD_INLINE bool check_fc_condition(seq_type seq, double timeout){
- boost::this_thread::disable_interruption di; //disable because the wait can throw
boost::unique_lock<boost::mutex> lock(_fc_mutex);
_last_seq_out = seq;
if (this->ready()) return true;
+ boost::this_thread::disable_interruption di; //disable because the wait can throw
return _fc_cond.timed_wait(lock, to_time_dur(timeout), _ready_fcn);
}
diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp
index 9049d4025..5cb4e4d34 100644
--- a/host/lib/usrp/usrp2/mboard_impl.cpp
+++ b/host/lib/usrp/usrp2/mboard_impl.cpp
@@ -17,6 +17,7 @@
#include "usrp2_impl.hpp"
#include "usrp2_regs.hpp"
+#include "fw_common.h"
#include <uhd/exception.hpp>
#include <uhd/usrp/gps_ctrl.hpp>
#include <uhd/usrp/misc_utils.hpp>
diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp
index 3a7ed8351..a872886a0 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.cpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.cpp
@@ -16,6 +16,7 @@
//
#include "usrp2_regs.hpp"
+#include "fw_common.h"
#include "usrp2_iface.hpp"
#include <uhd/exception.hpp>
#include <uhd/types/dict.hpp>
diff --git a/host/lib/usrp/usrp2/usrp2_iface.hpp b/host/lib/usrp/usrp2/usrp2_iface.hpp
index 49cb0e6dc..ea42d019f 100644
--- a/host/lib/usrp/usrp2/usrp2_iface.hpp
+++ b/host/lib/usrp/usrp2/usrp2_iface.hpp
@@ -27,7 +27,6 @@
#include <boost/function.hpp>
#include <utility>
#include <string>
-#include "fw_common.h"
#include "usrp2_regs.hpp"
@@ -52,13 +51,6 @@ public:
static sptr make(uhd::transport::udp_simple::sptr ctrl_transport);
/*!
- * Perform a control transaction.
- * \param data a control data struct
- * \return the result control data
- */
- virtual usrp2_ctrl_data_t ctrl_send_and_recv(const usrp2_ctrl_data_t &data) = 0;
-
- /*!
* Write a register (32 bits)
* \param addr the address
* \param data the 32bit data
diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp
index 0a23e3eff..651e9a89b 100644
--- a/host/lib/usrp/usrp2/usrp2_impl.cpp
+++ b/host/lib/usrp/usrp2/usrp2_impl.cpp
@@ -16,6 +16,7 @@
//
#include "usrp2_impl.hpp"
+#include "fw_common.h"
#include <uhd/exception.hpp>
#include <uhd/transport/if_addrs.hpp>
#include <uhd/transport/udp_zero_copy.hpp>
diff --git a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp
index 076ec2fd6..8ac00c2fe 100644
--- a/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp
+++ b/host/lib/usrp/usrp_e100/usrp_e100_iface.cpp
@@ -110,7 +110,7 @@ public:
}
//very first thing, reset all the wishbone, always do first!
- this->poke32(UE_REG_CLEAR_GLOBAL, 0);
+ //disabled for now: this->poke32(UE_REG_CLEAR_GLOBAL, 0);
mb_eeprom = mboard_eeprom_t(get_i2c_dev_iface(), mboard_eeprom_t::MAP_E100);
}