18#define UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT(                             \ 
   19    CLASS_NAME, NOC_ID, DEVICE_ID, BLOCK_NAME, MB_ACCESS, TB_CLOCK, CTRL_CLOCK) \ 
   20    uhd::rfnoc::noc_block_base::sptr CLASS_NAME##_make(                         \ 
   21        uhd::rfnoc::noc_block_base::make_args_ptr make_args)                    \ 
   23        return std::make_shared<CLASS_NAME##_impl>(std::move(make_args));       \ 
   25    UHD_STATIC_BLOCK(register_rfnoc_##CLASS_NAME)                               \ 
   27        uhd::rfnoc::registry::register_block_direct(NOC_ID,                     \ 
   33            &CLASS_NAME##_make);                                                \ 
   36#define UHD_RFNOC_BLOCK_REGISTER_DIRECT(                  \ 
   37    CLASS_NAME, NOC_ID, BLOCK_NAME, TB_CLOCK, CTRL_CLOCK) \ 
   38    UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT(           \ 
   39        CLASS_NAME, NOC_ID, ANY_DEVICE, BLOCK_NAME, false, TB_CLOCK, CTRL_CLOCK) 
   41#define UHD_RFNOC_BLOCK_REGISTER_DIRECT_MB_ACCESS(        \ 
   42    CLASS_NAME, NOC_ID, BLOCK_NAME, TB_CLOCK, CTRL_CLOCK) \ 
   43    UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT(           \ 
   44        CLASS_NAME, NOC_ID, ANY_DEVICE, BLOCK_NAME, true, TB_CLOCK, CTRL_CLOCK) 
   46namespace uhd { 
namespace rfnoc {
 
   89        const std::string& block_name,
 
   91        const std::string& timebase_clock,
 
   92        const std::string& ctrlport_clock,
 
   99        const std::string& block_name,
 
  101        const std::string& timebase_clock,
 
  102        const std::string& ctrlport_clock,
 
  117        const std::string& block_key, 
factory_t factory_fn);
 
 
std::unique_ptr< make_args_t > make_args_ptr
Opaque pointer to the constructor arguments.
Definition noc_block_base.hpp:54
std::shared_ptr< noc_block_base > sptr
Definition noc_block_base.hpp:48
Definition registry.hpp:53
std::function< noc_block_base::sptr(noc_block_base::make_args_ptr)> factory_t
Definition registry.hpp:55
static void register_block_direct(std::vector< noc_id_t > noc_ids, device_type_t device_id, const std::string &block_name, bool mb_access, const std::string &timebase_clock, const std::string &ctrlport_clock, factory_t factory_fn)
static void register_block_descriptor(const std::string &block_key, factory_t factory_fn)
static void register_block_direct(noc_id_t noc_id, device_type_t device_id, const std::string &block_name, bool mb_access, const std::string &timebase_clock, const std::string &ctrlport_clock, factory_t factory_fn)
#define UHD_API
Definition config.h:87
uint16_t device_type_t
Device Type.
Definition defaults.hpp:56
uint32_t noc_id_t
Definition defaults.hpp:52
Definition build_info.hpp:12