aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authorDerek Kozel <derek.kozel@gmail.com>2017-01-25 00:42:36 -0800
committerMartin Braun <martin.braun@ettus.com>2017-01-26 08:37:25 +0100
commitbe4dda6d4666988fc8624bd336a22ee6d1a82f59 (patch)
tree944654d2d9c975a2140e4ed3b6de6411a5d8d02f /host
parentb99f94f65040363b25dc2db18b1d2b6a8575457f (diff)
downloaduhd-be4dda6d4666988fc8624bd336a22ee6d1a82f59.tar.gz
uhd-be4dda6d4666988fc8624bd336a22ee6d1a82f59.tar.bz2
uhd-be4dda6d4666988fc8624bd336a22ee6d1a82f59.zip
X300: Move property tree check to subscriber
Command Time path in the daughterboard does not yet exist during X300 initialization, so check cannot be done while subscribing.
Diffstat (limited to 'host')
-rw-r--r--host/lib/usrp/x300/x300_radio_ctrl_impl.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
index bb17eb2ec..0e11cb42c 100644
--- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
+++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
@@ -126,8 +126,7 @@ UHD_RFNOC_RADIO_BLOCK_CONSTRUCTOR(x300_radio_ctrl)
// Bind the daughterboard command time to the motherboard level property
////////////////////////////////////////////////////////////////
- if (_tree->exists(fs_path("time") / "cmd") and
- _tree->exists(fs_path("dboards" / _radio_slot / "rx_frontends" / _rx_fe_map.at(i).db_fe_name / "time" / "cmd"))) {
+ if (_tree->exists(fs_path("time") / "cmd")) {
_tree->access<time_spec_t>(fs_path("time") / "cmd")
.add_coerced_subscriber(boost::bind(&x300_radio_ctrl_impl::set_fe_cmd_time, this, _1, i));
}
@@ -180,9 +179,11 @@ double x300_radio_ctrl_impl::set_rate(double rate)
void x300_radio_ctrl_impl::set_fe_cmd_time(const time_spec_t &time, const size_t chan)
{
- _tree->access<time_spec_t>(
- fs_path("dboards" / _radio_slot / "rx_frontends" / _rx_fe_map.at(chan).db_fe_name / "time" / "cmd")
- ).set(time);
+ if (_tree->exists(fs_path("dboards" / _radio_slot / "rx_frontends" / _rx_fe_map.at(chan).db_fe_name / "time" / "cmd"))) {
+ _tree->access<time_spec_t>(
+ fs_path("dboards" / _radio_slot / "rx_frontends" / _rx_fe_map.at(chan).db_fe_name / "time" / "cmd")
+ ).set(time);
+ }
}
void x300_radio_ctrl_impl::set_tx_antenna(const std::string &ant, const size_t chan)