aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/mykonos
diff options
context:
space:
mode:
authorMark Meserve <mark.meserve@ni.com>2017-09-27 18:03:30 -0500
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:04:01 -0800
commitea9a03d753e06888a835eb092be74e2fecdf62f1 (patch)
treec561aea3ef0d2d7533c8d4e2a4554ec14d68d03a /mpm/lib/mykonos
parentc309da44616bf910cf526723217c021856576f4d (diff)
downloaduhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.tar.gz
uhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.tar.bz2
uhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.zip
ad937x: revise ad937x_device
add comments add TODOs fix set_gain return value
Diffstat (limited to 'mpm/lib/mykonos')
-rw-r--r--mpm/lib/mykonos/ad937x_device.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/mpm/lib/mykonos/ad937x_device.cpp b/mpm/lib/mykonos/ad937x_device.cpp
index 930334985..e1b9bf01d 100644
--- a/mpm/lib/mykonos/ad937x_device.cpp
+++ b/mpm/lib/mykonos/ad937x_device.cpp
@@ -240,8 +240,6 @@ double ad937x_device::_convert_tx_gain_from_mykonos(const uint16_t gain)
void ad937x_device::_apply_gain_pins(const direction_t direction, const chain_t chain)
{
- using namespace std::placeholders;
-
// get this channels configuration
const auto chan = gain_ctrl.config.at(direction).at(chain);
@@ -322,7 +320,7 @@ ad937x_device::ad937x_device(
void ad937x_device::_initialize_rf()
{
- // TODO: add setRfPllLoopFilter here when we upgrade the API to >3546
+ // TODO: add setRfPllLoopFilter here
// Set frequencies
tune(uhd::RX_DIRECTION, RX_DEFAULT_FREQ, false);
@@ -389,6 +387,10 @@ void ad937x_device::finish_initialization()
binary.data(),
binary.size()));
+ // TODO: check ARM version before or after the load of the ARM
+ // currently binary has no readable version number until after it's loaded
+
+ // TODO: separate initialize rf into its own step
_initialize_rf();
}
@@ -636,10 +638,9 @@ double ad937x_device::set_gain(const direction_t direction, const chain_t chain,
default:
MPM_THROW_INVALID_CODE_PATH();
}
-
_restore_from_config_state(state);
- // TODO: coerced_value here is wrong, should just call get_gain
- return coerced_value;
+
+ return get_gain(direction, chain);
}
void ad937x_device::set_agc_mode(const direction_t direction, const gain_mode_t mode)
@@ -734,8 +735,7 @@ double ad937x_device::get_freq(const direction_t direction)
MPM_THROW_INVALID_CODE_PATH();
}
- // TODO: coercion here causes extra device accesses, when the formula is provided on pg 119 of the user guide
- // Furthermore, because coerced is returned as an integer, it's not even accurate
+ // TODO: because coerced_pll is returned as an integer, it's not accurate
uint64_t coerced_pll;
CALL_API(MYKONOS_getRfPllFrequency(mykonos_config.device, pll, &coerced_pll));
return static_cast<double>(coerced_pll);