From b8e62bb9bf86d4804defe738b2a7140cd9417a6f Mon Sep 17 00:00:00 2001
From: Josh Blum <josh@joshknows.com>
Date: Wed, 29 Sep 2010 16:32:11 -0700
Subject: usb: added libusb docs to build guide, usrp1: moved transfer param
 docs

---
 host/docs/build.rst | 21 +++++++++++++++++++-
 host/docs/usrp1.rst | 56 +++++++++++++++++++++++++++--------------------------
 host/docs/usrp2.rst |  2 +-
 3 files changed, 50 insertions(+), 29 deletions(-)

diff --git a/host/docs/build.rst b/host/docs/build.rst
index f37b5dce7..9cf37db4a 100644
--- a/host/docs/build.rst
+++ b/host/docs/build.rst
@@ -58,7 +58,8 @@ LibUSB
 * **Purpose:** USB-based hardware support
 * **Version:** at least 1.0
 * **Usage:** build time + run time (optional)
-* **Download URL:** http://www.libusb.org/
+* **Download URL:** http://sourceforge.net/projects/libusb/files/libusb-1.0/
+* **Download URL (windows binaries):** http://www.libusb.org/wiki/windows_backend#LatestBinarySnapshots
 
 ^^^^^^^^^^^^^^^^
 Python
@@ -151,6 +152,19 @@ Generate the project with cmake
 * Set the build variables and click configure again.
 * Click generate and a project file will be created in the build directory.
 
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+LibUSB cmake notes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+On Windows, cmake does not have the advantage of pkg-config,
+so we must manually tell cmake how to locate the LibUSB header and lib.
+
+From the cmake gui, select "Advanded View":
+
+* Set LIBUSB_INCLUDE_DIR to the directory with "libusb.h".
+* Set LIBUSB_LIBRARIES to the full path for "libusb-1.0.lib".
+
+Then check the boxes to enable USRP1 support, click configure and generate.
+
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 Build the project in MSVC
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -177,3 +191,8 @@ Setup the PATH environment variable
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 * Add the boost library path to %PATH% (usually c:\\program files\\boost\\<version>\\lib)
 * Add the uhd library path to %PATH% (usually c:\\program files\\uhd\\lib)
+* Add the libusb library to %PATH% (if using usb support)
+
+**Note:**
+The interface for editing environment variable paths in Windows is very poor.
+I recommend using "Rapid Environment Editor" (http://www.rapidee.com) over the default editor.
diff --git a/host/docs/usrp1.rst b/host/docs/usrp1.rst
index 7cf447719..0baa93a45 100644
--- a/host/docs/usrp1.rst
+++ b/host/docs/usrp1.rst
@@ -60,6 +60,29 @@ Example device address string representations to specify non-standard firmware a
 
     fpga=usrp1_fpga_4rx.rbf, fw=usrp1_fw_custom.ihx
 
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Change USB transfer parameters
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+The advanced user may manipulate parameters of the usb bulk transfers
+for various reasons, such as lowering latency or increasing buffer size.
+By default, the UHD will use values for these parameters
+that are known to perform well on a variety of systems.
+The following device address parameters can be used to manipulate USB bulk transfers:
+
+* **recv_xfer_size:** the size of each receive bulk transfer in bytes
+* **recv_num_xfers:** the number of simultaneous receive bulk transfers
+* **send_xfer_size:** the size of each send bulk transfer in bytes
+* **send_num_xfers:** the number of simultaneous send bulk transfers
+
+Example usage, set the device address markup string to the following:
+::
+
+    serial=12345678, recv_num_xfers=16
+
+   -- OR --
+
+    serial=12345678, recv_xfer_size=2048, recv_num_xfers=16
+
 ------------------------------------------------------------------------
 Specifying the subdevice to use
 ------------------------------------------------------------------------
@@ -95,36 +118,15 @@ Notice that the subdevice name is always specified in the 3 possible cases.
 
     B:B
 
-
-------------------------------------------------------------------------
-Change USB transfer parameters
-------------------------------------------------------------------------
-The advanced user may manipulate parameters of the usb bulk transfers
-for various reasons, such as lowering latency or increasing buffer size.
-By default, the UHD will use values for these parameters
-that are known to perform well on a variety of systems.
-
-The following device address can be used to manipulate USB bulk transfers:
-
-* **recv_xfer_size:** the size of each receive bulk transfer in bytes
-* **recv_num_xfers:** the number of simultaneous receive bulk transfers
-* **send_xfer_size:** the size of each send bulk transfer in bytes
-* **send_num_xfers:** the number of simultaneous send bulk transfers
-
-Example, set the args string to the following:
-::
-
-    serial=12345678, recv_num_xfers=16
-
 ------------------------------------------------------------------------
 OS Specific Notes
 ------------------------------------------------------------------------
 
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Setup Udev on Linux
+Linux - setup udev
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-On Linux, Udev handles USB plug and unplug events.
-The following command creates a Udev rule for the USRP1
+On Linux, udev handles USB plug and unplug events.
+The following commands create a udev rule for the USRP1
 so that non-root users may access the device:
 
 ::
@@ -135,8 +137,8 @@ so that non-root users may access the device:
     sudo udevadm control --reload-rules
 
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Install libusb driver on Windows
+Windows - install driver
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 On Windows, a driver must be installed the first time the USRP1 is attached to the host computer.
-A download link for this driver can be found on the Ettus Research UHD wiki page.
-Download and unpack the driver, and direct the Windows driver install wizard to the *.inf file.
+A download link for this driver can be found on the UHD wiki page.
+Download and unpack the driver, and direct the Windows driver install wizard to the .inf file.
diff --git a/host/docs/usrp2.rst b/host/docs/usrp2.rst
index 72a919d1a..70e5ea28b 100644
--- a/host/docs/usrp2.rst
+++ b/host/docs/usrp2.rst
@@ -201,7 +201,7 @@ Each parameter will accept a numeric value for the number of bytes.
 * recv_buff_size
 * send_buff_size
 
-Example, set the args string to the following:
+Example usage, set the device address markup string to the following:
 ::
 
     addr=192.168.10.2, recv_buff_size=100e6
-- 
cgit v1.2.3