diff options
author | Julian Arnold <julian.arnold@ettus.com> | 2015-03-19 11:48:39 -0700 |
---|---|---|
committer | Julian Arnold <julian.arnold@ettus.com> | 2015-03-19 11:59:00 -0700 |
commit | 4cdb75606b6d79ac15d4b64e706a1c75368bba7d (patch) | |
tree | 00388bf492c2323bc794342dcb561baf56d8169e /host/lib/usrp/common/ad9361_ctrl.cpp | |
parent | 0634323a51a32ebc288383856af4cd150eae1aa8 (diff) | |
download | uhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.tar.gz uhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.tar.bz2 uhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.zip |
b2xx: filter API implementation. Supports listing of RX/TX filters, querying RX/TX filter information and writing of analog and FIR filters
Diffstat (limited to 'host/lib/usrp/common/ad9361_ctrl.cpp')
-rw-r--r-- | host/lib/usrp/common/ad9361_ctrl.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/host/lib/usrp/common/ad9361_ctrl.cpp b/host/lib/usrp/common/ad9361_ctrl.cpp index a0a5fa663..9c17a582d 100644 --- a/host/lib/usrp/common/ad9361_ctrl.cpp +++ b/host/lib/usrp/common/ad9361_ctrl.cpp @@ -214,6 +214,40 @@ public: _device.set_iq_balance_auto(direction,on); } + double set_bw_filter(const std::string &which, const double bw) + { + boost::lock_guard<boost::mutex> lock(_mutex); + + ad9361_device_t::direction_t direction = _get_direction_from_antenna(which); + return _device.set_bw_filter(direction, bw); + } + + std::vector<std::string> get_filter_names(const std::string &which) + { + boost::lock_guard<boost::mutex> lock(_mutex); + + ad9361_device_t::direction_t direction = _get_direction_from_antenna(which); + return _device.get_filter_names(direction); + } + + filter_info_base::sptr get_filter(const std::string &which, const std::string &filter_name) + { + boost::lock_guard<boost::mutex> lock(_mutex); + + ad9361_device_t::direction_t direction = _get_direction_from_antenna(which); + ad9361_device_t::chain_t chain =_get_chain_from_antenna(which); + return _device.get_filter(direction, chain, filter_name); + } + + void set_filter(const std::string &which, const std::string &filter_name, const filter_info_base::sptr filter) + { + boost::lock_guard<boost::mutex> lock(_mutex); + + ad9361_device_t::direction_t direction = _get_direction_from_antenna(which); + ad9361_device_t::chain_t chain = _get_chain_from_antenna(which); + _device.set_filter(direction, chain, filter_name, filter); + } + private: static ad9361_device_t::direction_t _get_direction_from_antenna(const std::string& antenna) { |