aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/b200
diff options
context:
space:
mode:
authorJulian Arnold <julian.arnold@ettus.com>2015-03-19 11:48:39 -0700
committerJulian Arnold <julian.arnold@ettus.com>2015-03-19 11:59:00 -0700
commit4cdb75606b6d79ac15d4b64e706a1c75368bba7d (patch)
tree00388bf492c2323bc794342dcb561baf56d8169e /host/lib/usrp/b200
parent0634323a51a32ebc288383856af4cd150eae1aa8 (diff)
downloaduhd-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/b200')
-rw-r--r--host/lib/usrp/b200/b200_impl.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp
index e0a5e2c2b..81bbb6691 100644
--- a/host/lib/usrp/b200/b200_impl.cpp
+++ b/host/lib/usrp/b200/b200_impl.cpp
@@ -738,6 +738,15 @@ void b200_impl::setup_radio(const size_t dspno)
.subscribe(boost::bind(&ad9361_ctrl::set_iq_balance_auto, _codec_ctrl, key, _1)).set(true);
}
+ //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 antenna stuff
if (key[0] == 'R')
{