aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/USRPDevice.cpp
diff options
context:
space:
mode:
authorkurtis.heimerl <kurtis.heimerl@19bc5d8c-e614-43d4-8b26-e1612bc8e597>2011-11-26 03:17:59 +0000
committerkurtis.heimerl <kurtis.heimerl@19bc5d8c-e614-43d4-8b26-e1612bc8e597>2011-11-26 03:17:59 +0000
commitb9e237e83ed1df2bbf2bd4f2d319d72fdabb7a02 (patch)
treed1094fdb28f18a4f7b66edd0ebe6841c2f0cc7f4 /Transceiver52M/USRPDevice.cpp
parentc3c7c3e23dc87a1c95ab65ef4921c6a5364b2ecf (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.cpp15
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