diff options
author | Julian Arnold <julian.arnold@ettus.com> | 2015-03-19 11:49:54 -0700 |
---|---|---|
committer | Julian Arnold <julian.arnold@ettus.com> | 2015-03-19 11:59:00 -0700 |
commit | b850dfb583e05e500fd7e78af416a92f1a1e046e (patch) | |
tree | 2f3552d6b3c2746a953d847c47a6727595fdc019 /host/lib/usrp/e300/e300_impl.cpp | |
parent | 4cdb75606b6d79ac15d4b64e706a1c75368bba7d (diff) | |
download | uhd-b850dfb583e05e500fd7e78af416a92f1a1e046e.tar.gz uhd-b850dfb583e05e500fd7e78af416a92f1a1e046e.tar.bz2 uhd-b850dfb583e05e500fd7e78af416a92f1a1e046e.zip |
e3xx: 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/e300/e300_impl.cpp')
-rw-r--r-- | host/lib/usrp/e300/e300_impl.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/host/lib/usrp/e300/e300_impl.cpp b/host/lib/usrp/e300/e300_impl.cpp index 8be3e47c9..40904bda7 100644 --- a/host/lib/usrp/e300/e300_impl.cpp +++ b/host/lib/usrp/e300/e300_impl.cpp @@ -1056,6 +1056,18 @@ void e300_impl::_setup_radio(const size_t dspno) _tree->create<meta_range_t>(rf_fe_path / "freq" / "range") .publish(boost::bind(&ad9361_ctrl::get_rf_freq_range)); + //only in local mode + if(_xport_path == AXI) { + //add all frontend filters + std::vector<std::string> filter_names = _codec_ctrl->get_filter_names(key); + for(size_t i = 0;i < filter_names.size(); i++) + { + _tree->create<filter_info_base::sptr>(rf_fe_path / "filters" / filter_names[i] / "value" ) + .publish(boost::bind(&ad9361_ctrl::get_filter, _codec_ctrl, key, filter_names[i])) + .subscribe(boost::bind(&ad9361_ctrl::set_filter, _codec_ctrl, key, filter_names[i], _1)); + } + } + //setup RX related stuff if (key[0] == 'R') { static const std::vector<std::string> ants = boost::assign::list_of("TX/RX")("RX2"); |