diff options
author | Mark Meserve <mark.meserve@ni.com> | 2017-09-27 18:03:30 -0500 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:04:01 -0800 |
commit | ea9a03d753e06888a835eb092be74e2fecdf62f1 (patch) | |
tree | c561aea3ef0d2d7533c8d4e2a4554ec14d68d03a | |
parent | c309da44616bf910cf526723217c021856576f4d (diff) | |
download | uhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.tar.gz uhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.tar.bz2 uhd-ea9a03d753e06888a835eb092be74e2fecdf62f1.zip |
ad937x: revise ad937x_device
add comments
add TODOs
fix set_gain return value
-rw-r--r-- | mpm/lib/mykonos/ad937x_device.cpp | 16 |
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); |