aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/db_sbx_common.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-01-04 20:44:44 -0800
committerJosh Blum <josh@joshknows.com>2012-01-05 15:53:35 -0800
commit607b9a360067727a849d3088d5efa531192411e2 (patch)
tree371b82c55fcc18bd3bcb5451ef68ba8e942ed70b /host/lib/usrp/dboard/db_sbx_common.cpp
parent1c76adac7a5f4caa2ab07bc451b156980258130c (diff)
downloaduhd-607b9a360067727a849d3088d5efa531192411e2.tar.gz
uhd-607b9a360067727a849d3088d5efa531192411e2.tar.bz2
uhd-607b9a360067727a849d3088d5efa531192411e2.zip
sbx: fix dboard tuning to cache result
Diffstat (limited to 'host/lib/usrp/dboard/db_sbx_common.cpp')
-rw-r--r--host/lib/usrp/dboard/db_sbx_common.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/host/lib/usrp/dboard/db_sbx_common.cpp b/host/lib/usrp/dboard/db_sbx_common.cpp
index 32b6730d5..d9a922896 100644
--- a/host/lib/usrp/dboard/db_sbx_common.cpp
+++ b/host/lib/usrp/dboard/db_sbx_common.cpp
@@ -273,16 +273,12 @@ void sbx_xcvr::set_tx_ant(const std::string &ant){
/***********************************************************************
* Tuning
**********************************************************************/
-void sbx_xcvr::set_rx_lo_freq(double freq){
- _rx_lo_freq = db_actual->set_lo_freq(dboard_iface::UNIT_RX, freq);
-}
-
-void sbx_xcvr::set_tx_lo_freq(double freq){
- _tx_lo_freq = db_actual->set_lo_freq(dboard_iface::UNIT_TX, freq);
-}
-
double sbx_xcvr::set_lo_freq(dboard_iface::unit_t unit, double target_freq) {
- return db_actual->set_lo_freq(unit, target_freq);
+ const double actual = db_actual->set_lo_freq(unit, target_freq);
+ if (unit == dboard_iface::UNIT_RX) _rx_lo_freq = actual;
+ if (unit == dboard_iface::UNIT_TX) _tx_lo_freq = actual;
+ update_atr();
+ return actual;
}
sensor_value_t sbx_xcvr::get_locked(dboard_iface::unit_t unit) {