summaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/e100
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2012-02-28 13:35:50 -0800
committerJosh Blum <josh@joshknows.com>2012-02-28 13:35:50 -0800
commitbd7e53d385431d792a8f7b3a006c3ba5c5d0867d (patch)
tree5873889bc6eb2993a022cceb2ad8433b07ec59c4 /host/lib/usrp/e100
parentaa422ece8206ad40dcc27aa31fcaeb6edd8f3e20 (diff)
downloaduhd-bd7e53d385431d792a8f7b3a006c3ba5c5d0867d.tar.gz
uhd-bd7e53d385431d792a8f7b3a006c3ba5c5d0867d.tar.bz2
uhd-bd7e53d385431d792a8f7b3a006c3ba5c5d0867d.zip
usrp: reset cordics on init after tick rate update
Diffstat (limited to 'host/lib/usrp/e100')
-rw-r--r--host/lib/usrp/e100/e100_impl.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/host/lib/usrp/e100/e100_impl.cpp b/host/lib/usrp/e100/e100_impl.cpp
index a01ce4a7b..bb135b646 100644
--- a/host/lib/usrp/e100/e100_impl.cpp
+++ b/host/lib/usrp/e100/e100_impl.cpp
@@ -411,6 +411,14 @@ e100_impl::e100_impl(const uhd::device_addr_t &device_addr){
_tree->access<double>(mb_path / "tick_rate") //now subscribe the clock rate setter
.subscribe(boost::bind(&e100_clock_ctrl::set_fpga_clock_rate, _clock_ctrl, _1));
+ //reset cordic rates and their properties to zero
+ BOOST_FOREACH(const std::string &name, _tree->list(mb_path / "rx_dsps")){
+ _tree->access<double>(mb_path / "rx_dsps" / name / "freq" / "value").set(0.0);
+ }
+ BOOST_FOREACH(const std::string &name, _tree->list(mb_path / "tx_dsps")){
+ _tree->access<double>(mb_path / "tx_dsps" / name / "freq" / "value").set(0.0);
+ }
+
_tree->access<subdev_spec_t>(mb_path / "rx_subdev_spec").set(subdev_spec_t("A:" + _tree->list(mb_path / "dboards/A/rx_frontends").at(0)));
_tree->access<subdev_spec_t>(mb_path / "tx_subdev_spec").set(subdev_spec_t("A:" + _tree->list(mb_path / "dboards/A/tx_frontends").at(0)));
_tree->access<std::string>(mb_path / "clock_source/value").set("internal");