diff options
author | kurtis.heimerl <kurtis.heimerl@19bc5d8c-e614-43d4-8b26-e1612bc8e597> | 2011-11-26 03:17:59 +0000 |
---|---|---|
committer | kurtis.heimerl <kurtis.heimerl@19bc5d8c-e614-43d4-8b26-e1612bc8e597> | 2011-11-26 03:17:59 +0000 |
commit | b9e237e83ed1df2bbf2bd4f2d319d72fdabb7a02 (patch) | |
tree | d1094fdb28f18a4f7b66edd0ebe6841c2f0cc7f4 /Transceiver52M/USRPDevice.cpp | |
parent | c3c7c3e23dc87a1c95ab65ef4921c6a5364b2ecf (diff) |
usrp1: fix transmit side tuning bug
Transmit tuning was primarily setup for side A only. Some boards
- WBX - would still tune with improper channel arguments, though
receiver performance was disrupted.
Previous testing was primarily with single board on side A only
or dual configuration with side A transmit, so this bug largely
went undetected. Patch tested with RFX and WBX daughterboards
in single and dual configurations sides A and B.
Signed-off-by: Thomas Tsou <ttsou@vt.edu>
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@2658 19bc5d8c-e614-43d4-8b26-e1612bc8e597
Diffstat (limited to 'Transceiver52M/USRPDevice.cpp')
-rw-r--r-- | Transceiver52M/USRPDevice.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/Transceiver52M/USRPDevice.cpp b/Transceiver52M/USRPDevice.cpp index 85a9f97..c9b2c91 100644 --- a/Transceiver52M/USRPDevice.cpp +++ b/Transceiver52M/USRPDevice.cpp @@ -130,36 +130,29 @@ bool USRPDevice::open() switch (dboardConfig) { case TXA_RXB: - m_dbTx = m_uTx->db(0)[0]; - m_dbRx = m_uRx->db(1)[0]; txSubdevSpec = usrp_subdev_spec(0,0); rxSubdevSpec = usrp_subdev_spec(1,0); break; case TXB_RXA: - m_dbTx = m_uTx->db(1)[0]; - m_dbRx = m_uRx->db(0)[0]; txSubdevSpec = usrp_subdev_spec(1,0); rxSubdevSpec = usrp_subdev_spec(0,0); break; case TXA_RXA: - m_dbTx = m_uTx->db(0)[0]; - m_dbRx = m_uRx->db(0)[0]; txSubdevSpec = usrp_subdev_spec(0,0); rxSubdevSpec = usrp_subdev_spec(0,0); break; case TXB_RXB: - m_dbTx = m_uTx->db(1)[0]; - m_dbRx = m_uRx->db(1)[0]; txSubdevSpec = usrp_subdev_spec(1,0); rxSubdevSpec = usrp_subdev_spec(1,0); break; default: - m_dbTx = m_uTx->db(0)[0]; - m_dbRx = m_uRx->db(1)[0]; txSubdevSpec = usrp_subdev_spec(0,0); rxSubdevSpec = usrp_subdev_spec(1,0); } + m_dbTx = m_uTx->selected_subdev(txSubdevSpec); + m_dbRx = m_uRx->selected_subdev(rxSubdevSpec); + samplesRead = 0; samplesWritten = 0; started = false; @@ -513,7 +506,7 @@ bool USRPDevice::setTxFreq(double wFreq) { usrp_tune_result result; - if (m_uTx->tune(0, m_dbTx, wFreq, &result)) { + if (m_uTx->tune(txSubdevSpec.side, m_dbTx, wFreq, &result)) { LOG(INFO) << "set TX: " << wFreq << std::endl << " baseband freq: " << result.baseband_freq << std::endl << " DDC freq: " << result.dxc_freq << std::endl |