From b850dfb583e05e500fd7e78af416a92f1a1e046e Mon Sep 17 00:00:00 2001 From: Julian Arnold Date: Thu, 19 Mar 2015 11:49:54 -0700 Subject: e3xx: filter API implementation. Supports listing of RX/TX filters, querying RX/TX filter information and writing of analog and FIR filters --- host/lib/usrp/e300/e300_impl.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'host/lib/usrp/e300/e300_impl.cpp') 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(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 filter_names = _codec_ctrl->get_filter_names(key); + for(size_t i = 0;i < filter_names.size(); i++) + { + _tree->create(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 ants = boost::assign::list_of("TX/RX")("RX2"); -- cgit v1.2.3