19 #define RFNOC_BLOCK_CONSTRUCTOR(CLASS_NAME) \    20     CLASS_NAME##_impl(make_args_ptr make_args) : CLASS_NAME(std::move(make_args))    22 #define RFNOC_DECLARE_BLOCK(CLASS_NAME)       \    23     using sptr = std::shared_ptr<CLASS_NAME>; \    24     CLASS_NAME(make_args_ptr make_args) : noc_block_base(std::move(make_args)) {}    26 namespace uhd { 
namespace rfnoc {
    48     using sptr = std::shared_ptr<noc_block_base>;
    64         return get_block_id().to_string();
    75         return _num_input_ports;
    86         return _num_output_ports;
   114     double get_tick_rate() 
const;
   147     size_t get_chdr_hdr_len(
const bool account_for_ts = 
true) 
const;
   176     size_t get_max_payload_size(
   209     std::shared_ptr<mb_controller> get_mb_controller();
   223     void set_num_input_ports(
const size_t num_ports);
   237     void set_num_output_ports(
const size_t num_ports);
   244     void set_tick_rate(
const double tick_rate);
   311     virtual void deinit();
   314     friend class block_initializer;
   321     void _set_tick_rate(
const double tick_rate);
   328     void shutdown() 
override;
   351     size_t _num_input_ports;
   354     size_t _num_output_ports;
   358     std::vector<property_t<double>> _tick_rate_props;
   364     bool _mtu_fwd_policy_set = 
false;
   368     std::vector<property_t<size_t>> _mtu_props;
   371     std::unordered_map<res_source_info, size_t> _mtu;
   377     std::shared_ptr<clock_iface> _ctrlport_clock_iface;
   380     std::shared_ptr<clock_iface> _tb_clock_iface;
   384     std::shared_ptr<mb_controller> _mb_controller;
 
const block_id_t & get_block_id() const
Definition: noc_block_base.hpp:105
 
Definition: register_iface_holder.hpp:18
 
uhd::property_tree::sptr & get_tree()
Return a reference to this block's subtree (non-const version) 
Definition: noc_block_base.hpp:193
 
std::string get_unique_id() const override
Unique ID for an RFNoC block is its block ID. 
Definition: noc_block_base.hpp:62
 
Definition: block_id.hpp:39
 
Definition: build_info.hpp:12
 
Definition: noc_block_base.hpp:42
 
forwarding_policy_t
Types of property/action forwarding for those not defined by the block itself. 
Definition: node.hpp:46
 
noc_id_t get_noc_id() const
Definition: noc_block_base.hpp:96
 
uhd::property_tree::sptr & get_tree() const
Return a reference to this block's subtree. 
Definition: noc_block_base.hpp:187
 
Definition: res_source_info.hpp:17
 
size_t get_num_output_ports() const override
Number of output ports. Note: This gets passed outto this block from the. 
Definition: noc_block_base.hpp:84
 
size_t get_num_input_ports() const override
Number of input ports. Note: This gets passed into this block from the. 
Definition: noc_block_base.hpp:73
 
std::shared_ptr< noc_block_base > sptr
Definition: noc_block_base.hpp:48
 
#define UHD_API
Definition: config.h:87
 
Definition: property.hpp:25
 
Definition: noc_block_make_args.hpp:24
 
uint32_t noc_id_t
Definition: defaults.hpp:51
 
chdr_w_t
Type that indicates the CHDR Width in bits. 
Definition: rfnoc_types.hpp:19
 
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:223
 
std::unique_ptr< make_args_t > make_args_ptr
Opaque pointer to the constructor arguments. 
Definition: noc_block_base.hpp:54
 
uhd::device_addr_t get_block_args() const
Definition: noc_block_base.hpp:181
 
Definition: device_addr.hpp:37