9 #ifndef INCLUDED_GR_UHD_RFNOC_GRAPH_H
10 #define INCLUDED_GR_UHD_RFNOC_GRAPH_H
13 #include <uhd/rfnoc/noc_block_base.hpp>
14 #include <uhd/stream.hpp>
15 #include <uhd/types/device_addr.hpp>
31 using sptr = std::shared_ptr<rfnoc_graph>;
33 static sptr make(const ::uhd::device_addr_t& dev_addr);
45 virtual void connect(
const std::string& src_block,
46 const size_t src_block_port,
47 const std::string& dst_block,
48 const size_t dst_block_port,
49 const bool skip_property_propagation =
false) = 0;
57 virtual void connect(
const std::string& src_block,
58 const std::string& dst_block,
59 const bool skip_property_propagation =
false) = 0;
69 virtual ::uhd::rx_streamer::sptr
70 create_rx_streamer(
const size_t num_ports, const ::uhd::stream_args_t& args) = 0;
80 virtual ::uhd::tx_streamer::sptr
81 create_tx_streamer(
const size_t num_ports, const ::uhd::stream_args_t& args) = 0;
86 virtual void commit() = 0;
93 virtual std::string get_block_id(
const std::string& block_name,
94 const int device_select,
95 const int block_select) = 0;
104 virtual void set_time_source(
const std::string& source,
const size_t mb_index) = 0;
113 virtual void set_clock_source(
const std::string& source,
const size_t mb_index) = 0;
128 virtual ::uhd::rfnoc::noc_block_base::sptr
129 get_block_ref(
const std::string& block_id,
const size_t max_ref_count) = 0;