aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/docs/CMakeLists.txt4
-rw-r--r--host/docs/dboards.rst64
-rw-r--r--host/docs/index.rst12
-rw-r--r--host/docs/style.css4
-rw-r--r--host/docs/usrp2.rst8
-rw-r--r--host/lib/usrp/dboard/db_xcvr2450.cpp3
6 files changed, 82 insertions, 13 deletions
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 <uhd-repo-path>/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 <prefix>/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.
diff --git a/host/lib/usrp/dboard/db_xcvr2450.cpp b/host/lib/usrp/dboard/db_xcvr2450.cpp
index 3f00b2539..44921d7d4 100644
--- a/host/lib/usrp/dboard/db_xcvr2450.cpp
+++ b/host/lib/usrp/dboard/db_xcvr2450.cpp
@@ -137,13 +137,14 @@ void xcvr2450::update_atr(void){
int band_sel = (_lo_freq > 4e9)? HB_PA_TXIO : LB_PA_TXIO;
int tx_ant_sel = (_tx_ant == "J1")? ANTSEL_TX1_RX2_TXIO : ANTSEL_TX2_RX1_TXIO;
int rx_ant_sel = (_rx_ant == "J1")? ANTSEL_TX1_RX2_TXIO : ANTSEL_TX2_RX1_TXIO;
+ int xx_ant_sel = tx_ant_sel; //prefer the tx antenna selection for full duplex (rx will get the other antenna)
int ad9515div = (_ad9515div == 3)? AD9515DIV_3_TXIO : AD9515DIV_2_TXIO;
//set the tx registers
this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, dboard_iface::ATR_REG_IDLE, band_sel | ad9515div | TX_DIS_TXIO);
this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, dboard_iface::ATR_REG_RX_ONLY, band_sel | ad9515div | TX_DIS_TXIO | rx_ant_sel);
this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, dboard_iface::ATR_REG_TX_ONLY, band_sel | ad9515div | TX_ENB_TXIO | tx_ant_sel);
- this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, dboard_iface::ATR_REG_FULL_DUPLEX, band_sel | ad9515div | TX_ENB_TXIO);
+ this->get_iface()->set_atr_reg(dboard_iface::UNIT_TX, dboard_iface::ATR_REG_FULL_DUPLEX, band_sel | ad9515div | TX_ENB_TXIO | xx_ant_sel);
//set the rx registers
this->get_iface()->set_atr_reg(dboard_iface::UNIT_RX, dboard_iface::ATR_REG_IDLE, ALL_ENB_RXIO | RX_DIS_RXIO);