  | 
  
    USRP Hardware Driver and USRP Manual
    Version: 4.8.0.0
    
   UHD and USRP Manual 
   | 
           
 | 
 
 
 
 
Go to the documentation of this file.
   19 #include <boost/units/detail/utility.hpp>  
   23 namespace uhd { 
namespace rfnoc {
 
   34                             public std::enable_shared_from_this<rfnoc_graph>
 
   40     using sptr = std::shared_ptr<rfnoc_graph>;
 
   79     virtual std::vector<block_id_t> find_blocks(
 
   80         const std::string& block_id_hint) 
const = 0;
 
   85     std::vector<block_id_t> 
find_blocks(
const std::string& block_id_hint)
 const 
   87         std::vector<block_id_t> all_block_ids = find_blocks(block_id_hint);
 
   88         std::vector<block_id_t> filt_block_ids;
 
   89         for (
size_t i = 0; i < all_block_ids.size(); i++) {
 
   90             if (has_block<T>(all_block_ids[i])) {
 
   91                 filt_block_ids.push_back(all_block_ids[i]);
 
   94         return filt_block_ids;
 
  103     virtual bool has_block(
const block_id_t& block_id) 
const = 0;
 
  110     template <
typename T>
 
  113         return has_block(block_id)
 
  114                && bool(std::dynamic_pointer_cast<T>(get_block(block_id)));
 
  141     template <
typename T>
 
  144         std::shared_ptr<T> blk = std::dynamic_pointer_cast<T>(get_block(block_id));
 
  149                 std::string(
"This device does not have a block of type ")
 
  150                 + boost::units::detail::demangle(
typeid(T).name())
 
  166     virtual bool is_connectable(
const block_id_t& src_blk,
 
  169         size_t dst_port) = 0;
 
  190     virtual void connect(
const block_id_t& src_blk,
 
  194         bool is_back_edge = 
false) = 0;
 
  224     virtual void connect(
const block_id_t& src_blk,
 
  243     virtual void disconnect(
const block_id_t& src_blk,
 
  246         size_t dst_port) = 0;
 
  257     virtual void disconnect(
const std::string& streamer_id) = 0;
 
  269     virtual void disconnect(
const std::string& streamer_id, 
size_t port) = 0;
 
  280     virtual std::vector<uhd::transport::adapter_id_t> enumerate_adapters_from_src(
 
  281         const block_id_t& src_blk, 
size_t src_port) = 0;
 
  292     virtual std::vector<uhd::transport::adapter_id_t> enumerate_adapters_to_dst(
 
  293         const block_id_t& dst_blk, 
size_t dst_port) = 0;
 
  304     virtual std::vector<graph_edge_t> enumerate_static_connections() 
const = 0;
 
  313     virtual std::vector<graph_edge_t> enumerate_active_connections() = 0;
 
  322     virtual void commit() = 0;
 
  337     virtual std::string to_dot() = 0;
 
  379     virtual size_t get_num_mboards() 
const = 0;
 
  390     virtual std::shared_ptr<mb_controller> get_mb_controller(
 
  391         const size_t mb_index = 0) = 0;
 
  427     virtual bool synchronize_devices(
 
  434     virtual chdr_w_t get_chdr_width(
const size_t mb_index = 0) 
const = 0;
 
  
 
Definition: block_id.hpp:39
 
std::vector< block_id_t > find_blocks(const std::string &block_id_hint) const
Definition: rfnoc_graph.hpp:85
 
Definition: exception.hpp:59
 
string release
Definition: conf.py:29
 
std::shared_ptr< rx_streamer > sptr
Definition: stream.hpp:172
 
std::shared_ptr< tx_streamer > sptr
Definition: stream.hpp:278
 
std::string to_string() const
Return a string like this: "0/FFT#1" (includes all components, if set)
 
#define UHD_API
Definition: config.h:87
 
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:224
 
bool has_block(const block_id_t &block_id) const
Definition: rfnoc_graph.hpp:111
 
Definition: device_addr.hpp:38
 
virtual ~rfnoc_graph()
Definition: rfnoc_graph.hpp:42
 
Definition: build_info.hpp:12
 
Definition: time_spec.hpp:28
 
size_t adapter_id_t
Host transport adapter ID.
Definition: adapter_id.hpp:17
 
Definition: rfnoc_graph.hpp:33
 
Definition: stream.hpp:50
 
std::shared_ptr< rfnoc_graph > sptr
Definition: rfnoc_graph.hpp:40
 
std::shared_ptr< noc_block_base > sptr
Definition: noc_block_base.hpp:48
 
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
 
chdr_w_t
Type that indicates the CHDR Width in bits.
Definition: rfnoc_types.hpp:19
 
std::shared_ptr< T > get_block(const block_id_t &block_id) const
Definition: rfnoc_graph.hpp:142