diff options
Diffstat (limited to 'host')
| -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      }  | 
