diff options
author | Martin Braun <martin.braun@ettus.com> | 2015-02-12 11:04:29 +0100 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2015-02-12 11:04:29 +0100 |
commit | 8086c2e32c8a71e3b50c63620a18f63b994628aa (patch) | |
tree | 08247dcad2cb3ba1e4d973be7b50962203e04d93 /host/lib/usrp/common | |
parent | e28d7844b0c9d206bf5b7737a44c22f29e761ec1 (diff) | |
parent | ec7eedcca8418970e081b4875c2d5c147611025b (diff) | |
download | uhd-8086c2e32c8a71e3b50c63620a18f63b994628aa.tar.gz uhd-8086c2e32c8a71e3b50c63620a18f63b994628aa.tar.bz2 uhd-8086c2e32c8a71e3b50c63620a18f63b994628aa.zip |
Merge branch 'maint'
Conflicts:
host/examples/rx_samples_to_file.cpp
Diffstat (limited to 'host/lib/usrp/common')
-rw-r--r-- | host/lib/usrp/common/ad9361_ctrl.hpp | 2 | ||||
-rw-r--r-- | host/lib/usrp/common/ad9361_driver/ad9361_device.cpp | 25 |
2 files changed, 6 insertions, 21 deletions
diff --git a/host/lib/usrp/common/ad9361_ctrl.hpp b/host/lib/usrp/common/ad9361_ctrl.hpp index 7d44700fe..f831f870d 100644 --- a/host/lib/usrp/common/ad9361_ctrl.hpp +++ b/host/lib/usrp/common/ad9361_ctrl.hpp @@ -52,7 +52,7 @@ public: static uhd::meta_range_t get_gain_range(const std::string &which) { if(which[0] == 'R') { - return uhd::meta_range_t(0.0, 73.0, 1.0); + return uhd::meta_range_t(0.0, 76.0, 1.0); } else { return uhd::meta_range_t(0.0, 89.75, 0.25); } diff --git a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp index 8ee7bf231..1ea771db0 100644 --- a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp +++ b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp @@ -1854,31 +1854,16 @@ double ad9361_device_t::tune(direction_t direction, const double value) /* Set the gain of RX1, RX2, TX1, or TX2. * - * Note that the 'value' passed to this function is the actual gain value, - * _not_ the gain index. This is the opposite of the eval software's GUI! - * Also note that the RX chains are done in terms of gain, and the TX chains - * are done in terms of attenuation. */ + * Note that the 'value' passed to this function is the gain index + * for RX. Also note that the RX chains are done in terms of gain, and + * the TX chains are done in terms of attenuation. */ double ad9361_device_t::set_gain(direction_t direction, chain_t chain, const double value) { boost::lock_guard<boost::recursive_mutex> lock(_mutex); if (direction == RX) { - /* Indexing the gain tables requires an offset from the requested - * amount of total gain in dB: - * < 1300MHz: dB + 5 - * >= 1300MHz and < 4000MHz: dB + 3 - * >= 4000MHz and <= 6000MHz: dB + 14 - */ - int gain_offset = 0; - if (_rx_freq < 1300e6) { - gain_offset = 5; - } else if (_rx_freq < 4000e6) { - gain_offset = 3; - } else { - gain_offset = 14; - } - int gain_index = static_cast<int>(value + gain_offset); + int gain_index = static_cast<int>(value); /* Clip the gain values to the proper min/max gain values. */ if (gain_index > 76) @@ -1894,7 +1879,7 @@ double ad9361_device_t::set_gain(direction_t direction, chain_t chain, const dou _io_iface->poke8(0x10c, gain_index); } - return gain_index - gain_offset; + return gain_index; } else { /* Setting the below bits causes a change in the TX attenuation word * to immediately take effect. */ |