From 77c578fc639bb3d54c6730402de04a22636b1d6d Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sun, 18 Apr 2010 00:37:24 -0700 Subject: Created a docs directory to house restructured text documentation. Moved doxygen build rules into the docs build directory. Created rst docs for building and burning usrp2. --- host/docs/index.rst | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 host/docs/index.rst (limited to 'host/docs/index.rst') diff --git a/host/docs/index.rst b/host/docs/index.rst new file mode 100644 index 000000000..f71b0d453 --- /dev/null +++ b/host/docs/index.rst @@ -0,0 +1,6 @@ +======================================================================== +UHD - Universal Hardware Driver +======================================================================== + +* `Build Guide <./build.html>`_ +* `USRP2 App Notes <./usrp2.html>`_ -- cgit v1.2.3 From d4b113cc514b121f696f1693a4ca650950750036 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 19 Apr 2010 11:16:21 -0700 Subject: added some documentation and links to the index --- host/docs/index.rst | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'host/docs/index.rst') diff --git a/host/docs/index.rst b/host/docs/index.rst index f71b0d453..51dba26b5 100644 --- a/host/docs/index.rst +++ b/host/docs/index.rst @@ -2,5 +2,27 @@ UHD - Universal Hardware Driver ======================================================================== -* `Build Guide <./build.html>`_ +The UHD is the universal hardware driver for Ettus Research products. +The goal of the UHD is to provide a host driver and api for current and future Ettus Research products. +Users will be able to use the UHD driver standalone/without gnuradio. +Also, a dual license option will be available for those who build against the UHD +but cannot release their software products under the GPL. + +------------------------------------------------------------------------ +Contents +------------------------------------------------------------------------ + +^^^^^^^^^^^^^^^^^^^^^ +API Documentation +^^^^^^^^^^^^^^^^^^^^^ +* `Doxygen <./../../doxygen/html/index.html>`_ + +^^^^^^^^^^^^^^^^^^^^^ +Supported Devices +^^^^^^^^^^^^^^^^^^^^^ * `USRP2 App Notes <./usrp2.html>`_ + +^^^^^^^^^^^^^^^^^^^^^ +Building the UHD +^^^^^^^^^^^^^^^^^^^^^ +* `Build Guide <./build.html>`_ -- cgit v1.2.3 From cf5a45b140163ae330f0017a85c0a9fd9a29cc0c Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 20 Apr 2010 16:18:39 -0700 Subject: added coding docs --- host/docs/CMakeLists.txt | 1 + host/docs/coding.rst | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ host/docs/index.rst | 1 + 3 files changed, 65 insertions(+) create mode 100644 host/docs/coding.rst (limited to 'host/docs/index.rst') diff --git a/host/docs/CMakeLists.txt b/host/docs/CMakeLists.txt index 476023a1e..1bbd52fee 100644 --- a/host/docs/CMakeLists.txt +++ b/host/docs/CMakeLists.txt @@ -21,6 +21,7 @@ SET(manual_sources index.rst build.rst + coding.rst usrp2.rst ) diff --git a/host/docs/coding.rst b/host/docs/coding.rst new file mode 100644 index 000000000..689667f30 --- /dev/null +++ b/host/docs/coding.rst @@ -0,0 +1,63 @@ +======================================================================== +UHD - Coding to the API +======================================================================== + +.. contents:: Table of Contents + +------------------------------------------------------------------------ +Low-Level: The device API +------------------------------------------------------------------------ +A device is an abstraction for hardware that is connected to the host system. +For a USRP, this means that the motherboard and everything on it would be considered to be a "device". +The device API provides ways to: + +* Discover devices that are physical connected to the host system. +* Create a device object for a particular physical device identified by address. +* Register a device driver into the discovery and factory sub-system. +* Streaming samples with metadata into and out of the device. +* Set and get properties on the device object. + +See the documentation in device.hpp for reference. + +------------------------------------------------------------------------ +High-Level: The simple usrp +------------------------------------------------------------------------ +The goal of the simple usrp is to wrap high level functions around the device properties. +The simple usrp provides a fat interface to access the most common properties. +The simple usrp provides ways to: + +* Set and get daughterboard gains. +* Set and get daughterboard antennas. +* Set and get the streaming rates. +* Tune the DSPs and daughterboards. +* Issue stream commands. +* Set the clock configuration. +* Set the usrp time registers. +* Get the underlying device (as discussed above). + +It is recommended that users code to the simple_usrp api when possible. +See the documentation in usrp/simple_usrp.hpp for reference. + +------------------------------------------------------------------------ +Integrating custom hardware +------------------------------------------------------------------------ +Creators of custom hardware can create drivers that use the UHD API. +These drivers can be built as dynamically lodable modules that the UHD will load at runtime. +For a module to be loaded at runtime, it must be found in the UHD_MODULE_PATH environment variable. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Custom motherboard +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Create a new device driver when the driver in lib/usrp/ +cannot support your custom FPGA or hardware modifications. +Make a copy of the relevant driver code in lib/usrp/, make mods, and rename the class. +The new device code should register itself into the discovery and factory system. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Custom daughterboard +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Use code from an existing daughterboard in lib/usrp/dboard/* as an example. +Your daughterboard code should subclass an rx dboard, rx dboard, or xcvr dboard; +and it should respond to calls to get and set properties. +The new daughterboard code should register itself into the dboard manager +with a unique rx and/or tx 16 bit identification number. diff --git a/host/docs/index.rst b/host/docs/index.rst index 51dba26b5..37853b0b6 100644 --- a/host/docs/index.rst +++ b/host/docs/index.rst @@ -16,6 +16,7 @@ Contents API Documentation ^^^^^^^^^^^^^^^^^^^^^ * `Doxygen <./../../doxygen/html/index.html>`_ +* `Using the API <./coding.html>`_ ^^^^^^^^^^^^^^^^^^^^^ Supported Devices -- cgit v1.2.3 From 05d0a14a2eaf6054d304c153dc9035eaca8039b2 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 22 Apr 2010 12:55:54 -0700 Subject: pulled in some dboard docs and fixes --- host/docs/CMakeLists.txt | 4 ++- host/docs/dboards.rst | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ host/docs/index.rst | 12 +++++---- host/docs/style.css | 4 +-- host/docs/usrp2.rst | 8 +++--- 5 files changed, 80 insertions(+), 12 deletions(-) create mode 100644 host/docs/dboards.rst (limited to 'host/docs/index.rst') diff --git a/host/docs/CMakeLists.txt b/host/docs/CMakeLists.txt index 1bbd52fee..61eede8b7 100644 --- a/host/docs/CMakeLists.txt +++ b/host/docs/CMakeLists.txt @@ -22,6 +22,7 @@ SET(manual_sources index.rst build.rst coding.rst + dboards.rst usrp2.rst ) @@ -38,8 +39,9 @@ ELSE(${RST2HTML} STREQUAL "RST2HTML-NOTFOUND") MESSAGE(STATUS " Enabled generation of HTML manual.") #setup rst2html options + SET(stylesheet ${CMAKE_CURRENT_SOURCE_DIR}/style.css) SET(rst2html_options - --stylesheet=${CMAKE_CURRENT_SOURCE_DIR}/style.css + --stylesheet=${stylesheet} --no-toc-backlinks --date --time ) diff --git a/host/docs/dboards.rst b/host/docs/dboards.rst new file mode 100644 index 000000000..d08b752a6 --- /dev/null +++ b/host/docs/dboards.rst @@ -0,0 +1,64 @@ +======================================================================== +UHD - Daughterboard Application Notes +======================================================================== + +.. contents:: Table of Contents + +------------------------------------------------------------------------ +Daughterboard Properties +------------------------------------------------------------------------ + +The following contains interesting notes about each daughterboard. +Eventually, this page will be expanded to list out the full +properties of each board as well. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Basic RX and and LFRX +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The Basic RX and LFRX boards have 3 subdevices: + +* **Subdevice A:** real signal on antenna RXA +* **Subdevice B:** real signal on antenna RXB +* **Subdevice AB:** quadrature subdevice using both antennas + +The boards have no tunable elements or programmable gains. +Though the magic of aliasing, you can down-convert signals +greater than the nyquist rate of the ADC. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Basic TX and and LFTX +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The Basic TX and LFTX boards have 1 quadrature subdevice using both antennas. + +The boards have no tunable elements or programmable gains. +Though the magic of aliasing, you can up-convert signals +greater than the nyquist rate of the DAC. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RFX Series +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Transmit Antennas: **TX/RX** + +Receive Antennas: **TX/RX** or **RX2** + +The user may set the receive antenna to be TX/RX or RX2. +However, when using an RFX board in full-duplex mode, +the receive antenna will always be set to RX2, regardless of the settings. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +XCVR 2450 +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The XCVR2450 has a non-contiguous tuning range consiting of a high band and a low band. +The high band consists of frequencies between...TODO + +Transmit Antennas: **J1** or **J2** + +Receive Antennas: **J1** or **J2** + +When using the XCVR2450 in full-duplex mode, +the user must set the receive antenna and the transmit antenna to be different; +not doing so will yeild undefined results. + +The XCVR2450 uses a common LO for both receive and transmit. +Even though the API allows the RX and TX LOs to be individually set, +a change of one LO setting will be reflected in the other LO setting. diff --git a/host/docs/index.rst b/host/docs/index.rst index 37853b0b6..3dc7a2d98 100644 --- a/host/docs/index.rst +++ b/host/docs/index.rst @@ -13,17 +13,19 @@ Contents ------------------------------------------------------------------------ ^^^^^^^^^^^^^^^^^^^^^ -API Documentation +Building the UHD ^^^^^^^^^^^^^^^^^^^^^ -* `Doxygen <./../../doxygen/html/index.html>`_ -* `Using the API <./coding.html>`_ +* `Build Guide <./build.html>`_ ^^^^^^^^^^^^^^^^^^^^^ Supported Devices ^^^^^^^^^^^^^^^^^^^^^ * `USRP2 App Notes <./usrp2.html>`_ +* `Daughterboard App Notes <./dboards.html>`_ ^^^^^^^^^^^^^^^^^^^^^ -Building the UHD +API Documentation ^^^^^^^^^^^^^^^^^^^^^ -* `Build Guide <./build.html>`_ +* `Doxygen <./../../doxygen/html/index.html>`_ +* `Using the API <./coding.html>`_ + diff --git a/host/docs/style.css b/host/docs/style.css index 7bd84c9c7..bf97bf007 100644 --- a/host/docs/style.css +++ b/host/docs/style.css @@ -1,8 +1,8 @@ body{ font-family:Arial, Helvetica, sans-serif; -font-size:10pt; +font-size:11pt; color:black; -background-color:#FEFEFE; +background-color:white; width:90%; margin:0 auto 0 auto; } diff --git a/host/docs/usrp2.rst b/host/docs/usrp2.rst index 48ef60683..32e7374c8 100644 --- a/host/docs/usrp2.rst +++ b/host/docs/usrp2.rst @@ -1,5 +1,5 @@ ======================================================================== -UHD - USRP2 App Notes +UHD - USRP2 Application Notes ======================================================================== .. contents:: Table of Contents @@ -36,7 +36,7 @@ Run the following commands: cd /firmware/microblaze ./boostrap - ./configure host=mb + ./configure --host=mb make *The image file will be ./apps/txrx.bin* @@ -112,7 +112,7 @@ Run the following commands: :: cd /share/uhd/utils - ./usrp2 recovery.py --ifc=eth0 --new-ip=192.168.10.3 + ./usrp2_recovery.py --ifc=eth0 --new-ip=192.168.10.3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Debugging networking problems @@ -125,4 +125,4 @@ The microcontroller prints useful information about IP addresses, MAC addresses, control packets, and fast-path settings. **Monitor the host network traffic:** -Use wireshark to monitor packets send to and received from the USRP2. +Use wireshark to monitor packets sent to and received from the USRP2. -- cgit v1.2.3