diff options
| author | Ashish Chaudhari <ashish@ettus.com> | 2015-01-23 10:19:02 -0800 | 
|---|---|---|
| committer | Ashish Chaudhari <ashish@ettus.com> | 2015-01-23 10:19:02 -0800 | 
| commit | 1efc8d353acaace7c28ea7ecededb8790c5d667b (patch) | |
| tree | 9e099ddef98ef04d422e525d4cfaeba526f22ed0 | |
| parent | e36f0482e71d5df6219c66bfb0653f6872a1b586 (diff) | |
| download | uhd-1efc8d353acaace7c28ea7ecededb8790c5d667b.tar.gz uhd-1efc8d353acaace7c28ea7ecededb8790c5d667b.tar.bz2 uhd-1efc8d353acaace7c28ea7ecededb8790c5d667b.zip  | |
ad9361: Removed unnecessary digital TX attenuation
- Fix ported from He. The current TX filter does not need
  the additional -6dB of headroom. Set it to zero so we
  meet our max power specs.
| -rw-r--r-- | host/lib/usrp/common/ad9361_driver/ad9361_device.cpp | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp index 3ce655c9b..97b214d7d 100644 --- a/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp +++ b/host/lib/usrp/common/ad9361_driver/ad9361_device.cpp @@ -135,9 +135,15 @@ void ad9361_device_t::_program_fir_filter(direction_t direction, int num_taps, b      _io_iface->poke8(base + 5, reg_numtaps | 0x1A);      if (direction == RX) {          _io_iface->poke8(base + 5, reg_numtaps | 0x18); +        /* Rx Gain, set to prevent digital overflow/saturation in filters +           0:+6dB, 1:0dB, 2:-6dB, 3:-12dB +           page 35 of UG-671 */          _io_iface->poke8(base + 6, 0x02); /* Also turn on -6dB Rx gain here, to stop filter overfow.*/      } else { -        _io_iface->poke8(base + 5, reg_numtaps | 0x19); /* Also turn on -6dB Tx gain here, to stop filter overfow.*/ +        /* Tx Gain. bit[0]. set to prevent digital overflow/saturation in filters +           0: 0dB, 1:-6dB +           page 25 of UG-671 */ +        _io_iface->poke8(base + 5, reg_numtaps | 0x18);      }  }  | 
