aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--host/lib/include/uhdlib/rfnoc/block_container.hpp4
-rw-r--r--host/lib/rfnoc/block_container.cpp7
-rw-r--r--host/lib/rfnoc/rfnoc_graph.cpp3
3 files changed, 14 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/block_container.hpp b/host/lib/include/uhdlib/rfnoc/block_container.hpp
index b43a7bc61..3c75892a4 100644
--- a/host/lib/include/uhdlib/rfnoc/block_container.hpp
+++ b/host/lib/include/uhdlib/rfnoc/block_container.hpp
@@ -43,6 +43,10 @@ public:
*/
noc_block_base::sptr get_block(const block_id_t& block_id) const;
+ /*! Initialize properties on all registered blocks
+ */
+ void init_props();
+
/*! Call shutdown() on all blocks
*
* After calling this, blocks won't be able to do anything anymore!
diff --git a/host/lib/rfnoc/block_container.cpp b/host/lib/rfnoc/block_container.cpp
index 6bbb3828b..e7fd396ba 100644
--- a/host/lib/rfnoc/block_container.cpp
+++ b/host/lib/rfnoc/block_container.cpp
@@ -79,5 +79,12 @@ void block_container_t::shutdown()
for (auto it = _blocks.begin(); it != _blocks.end(); ++it) {
node_accessor.shutdown(it->get());
}
+}
+void block_container_t::init_props()
+{
+ node_accessor_t node_accessor{};
+ for (auto it = _blocks.begin(); it != _blocks.end(); ++it) {
+ node_accessor.init_props(it->get());
+ }
}
diff --git a/host/lib/rfnoc/rfnoc_graph.cpp b/host/lib/rfnoc/rfnoc_graph.cpp
index 22fc8aee5..ca9c8573b 100644
--- a/host/lib/rfnoc/rfnoc_graph.cpp
+++ b/host/lib/rfnoc/rfnoc_graph.cpp
@@ -240,6 +240,9 @@ private:
}
}
+ UHD_LOG_TRACE("RFNOC::GRAPH", "Initializing properties on all blocks...");
+ _block_registry->init_props();
+
// Create graph, connect all static routes
// FIXME
}