aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-04-10 14:44:24 -0700
committerMartin Braun <martin.braun@ettus.com>2017-04-13 15:30:13 -0700
commitfae9468c3a2c00c4390a50679b5ae176c5f9a2a5 (patch)
tree5e880c71a186dc501b1a1c83b62a8ee7dbbcbde7
parent75fd281d270d41a6db4010afbdf0be1aaf946039 (diff)
downloaduhd-fae9468c3a2c00c4390a50679b5ae176c5f9a2a5.tar.gz
uhd-fae9468c3a2c00c4390a50679b5ae176c5f9a2a5.tar.bz2
uhd-fae9468c3a2c00c4390a50679b5ae176c5f9a2a5.zip
rfnoc: Update DDC and DUC command tick rate
Update happens when the sampling rate is queried, which needs revisiting, but happens to occur at the correct time in the sequence.
-rw-r--r--host/lib/rfnoc/ddc_block_ctrl_impl.cpp9
-rw-r--r--host/lib/rfnoc/duc_block_ctrl_impl.cpp9
-rw-r--r--host/lib/usrp/x300/x300_radio_ctrl_impl.cpp2
3 files changed, 19 insertions, 1 deletions
diff --git a/host/lib/rfnoc/ddc_block_ctrl_impl.cpp b/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
index fb70b6f45..8c8b07afd 100644
--- a/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
+++ b/host/lib/rfnoc/ddc_block_ctrl_impl.cpp
@@ -130,6 +130,15 @@ public:
}
}
}
+
+ // Wait, what? If this seems out of place to you, you're right. However,
+ // we need a function call that is called when the graph is complete,
+ // but streaming is not yet set up.
+ if (_tree->exists("tick_rate")) {
+ const double tick_rate = _tree->access<double>("tick_rate").get();
+ set_command_tick_rate(tick_rate, port);
+ }
+
if (not (_rx_streamer_active.count(port) and _rx_streamer_active.at(port))) {
return RATE_UNDEFINED;
}
diff --git a/host/lib/rfnoc/duc_block_ctrl_impl.cpp b/host/lib/rfnoc/duc_block_ctrl_impl.cpp
index 0340ba0d6..d755bf519 100644
--- a/host/lib/rfnoc/duc_block_ctrl_impl.cpp
+++ b/host/lib/rfnoc/duc_block_ctrl_impl.cpp
@@ -113,6 +113,15 @@ public:
double get_input_samp_rate(size_t port=ANY_PORT)
{
port = (port == ANY_PORT) ? 0 : port;
+
+ // Wait, what? If this seems out of place to you, you're right. However,
+ // we need a function call that is called when the graph is complete,
+ // but streaming is not yet set up.
+ if (_tree->exists("tick_rate")) {
+ const double tick_rate = _tree->access<double>("tick_rate").get();
+ set_command_tick_rate(tick_rate, port);
+ }
+
if (not (_tx_streamer_active.count(port) and _tx_streamer_active.at(port))) {
return RATE_UNDEFINED;
}
diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
index 80865eaf0..69eb51f55 100644
--- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
+++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp
@@ -909,7 +909,7 @@ void x300_radio_ctrl_impl::_set_db_eeprom(i2c_iface::sptr i2c, const size_t addr
void x300_radio_ctrl_impl::_set_command_time(const time_spec_t &spec, const size_t port)
{
- set_fe_cmd_time(spec, port);
+ set_fe_cmd_time(spec, port);
}
/****************************************************************************
* Helpers