aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/rfnoc
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/include/uhdlib/rfnoc')
-rw-r--r--host/lib/include/uhdlib/rfnoc/graph.hpp7
-rw-r--r--host/lib/include/uhdlib/rfnoc/node_accessor.hpp11
2 files changed, 18 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/graph.hpp b/host/lib/include/uhdlib/rfnoc/graph.hpp
index 49dc62551..4b08b5842 100644
--- a/host/lib/include/uhdlib/rfnoc/graph.hpp
+++ b/host/lib/include/uhdlib/rfnoc/graph.hpp
@@ -236,6 +236,13 @@ private:
*/
bool _assert_edge_props_consistent(rfnoc_graph_t::edge_descriptor edge);
+ /*! Query all blocks on their topology
+ *
+ * \throws uhd::runtime_error if any of the blocks doesn't like its
+ * configuration
+ */
+ void _check_topology();
+
/**************************************************************************
* Attributes
*************************************************************************/
diff --git a/host/lib/include/uhdlib/rfnoc/node_accessor.hpp b/host/lib/include/uhdlib/rfnoc/node_accessor.hpp
index 827c87dd2..3351c5531 100644
--- a/host/lib/include/uhdlib/rfnoc/node_accessor.hpp
+++ b/host/lib/include/uhdlib/rfnoc/node_accessor.hpp
@@ -97,6 +97,17 @@ public:
{
node->receive_action(port_info, action);
}
+
+ /*! Check topology for this block
+ *
+ * See node_t::check_topology() for details
+ */
+ bool check_topology(node_t* node,
+ const std::vector<size_t>& connected_inputs,
+ const std::vector<size_t>& connected_outputs)
+ {
+ return node->check_topology(connected_inputs, connected_outputs);
+ }
};