diff options
-rw-r--r-- | host/lib/include/uhdlib/rfnoc/block_container.hpp | 4 | ||||
-rw-r--r-- | host/lib/rfnoc/block_container.cpp | 7 | ||||
-rw-r--r-- | host/lib/rfnoc/rfnoc_graph.cpp | 3 |
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 } |