#include <uhd/config.hpp>
#include <uhd/rfnoc/defaults.hpp>
#include <uhd/rfnoc/noc_block_base.hpp>
#include <uhd/utils/static.hpp>
#include <functional>
#include <string>
 
Go to the source code of this file.
 | 
| #define  | UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT( CLASS_NAME,  NOC_ID,  DEVICE_ID,  BLOCK_NAME,  MB_ACCESS,  TB_CLOCK,  CTRL_CLOCK) | 
|   | This macro must be placed inside a block implementation file.  More...
  | 
|   | 
| #define  | UHD_RFNOC_BLOCK_REGISTER_DIRECT( CLASS_NAME,  NOC_ID,  BLOCK_NAME,  TB_CLOCK,  CTRL_CLOCK) | 
|   | 
| #define  | UHD_RFNOC_BLOCK_REGISTER_DIRECT_MB_ACCESS( CLASS_NAME,  NOC_ID,  BLOCK_NAME,  TB_CLOCK,  CTRL_CLOCK) | 
|   | 
◆ UHD_RFNOC_BLOCK_REGISTER_DIRECT
      
        
          | #define UHD_RFNOC_BLOCK_REGISTER_DIRECT | 
          ( | 
            | 
          CLASS_NAME,  | 
        
        
           | 
           | 
            | 
          NOC_ID,  | 
        
        
           | 
           | 
            | 
          BLOCK_NAME,  | 
        
        
           | 
           | 
            | 
          TB_CLOCK,  | 
        
        
           | 
           | 
            | 
          CTRL_CLOCK  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
        CLASS_NAME, NOC_ID, ANY_DEVICE, BLOCK_NAME, false, TB_CLOCK, CTRL_CLOCK)
#define UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT( CLASS_NAME, NOC_ID, DEVICE_ID, BLOCK_NAME, MB_ACCESS, TB_CLOCK, CTRL_CLOCK)
This macro must be placed inside a block implementation file.
Definition: registry.hpp:18
 
 
 
 
◆ UHD_RFNOC_BLOCK_REGISTER_DIRECT_MB_ACCESS
      
        
          | #define UHD_RFNOC_BLOCK_REGISTER_DIRECT_MB_ACCESS | 
          ( | 
            | 
          CLASS_NAME,  | 
        
        
           | 
           | 
            | 
          NOC_ID,  | 
        
        
           | 
           | 
            | 
          BLOCK_NAME,  | 
        
        
           | 
           | 
            | 
          TB_CLOCK,  | 
        
        
           | 
           | 
            | 
          CTRL_CLOCK  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
        CLASS_NAME, NOC_ID, ANY_DEVICE, BLOCK_NAME, true, TB_CLOCK, CTRL_CLOCK)
 
 
 
◆ UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT
      
        
          | #define UHD_RFNOC_BLOCK_REGISTER_FOR_DEVICE_DIRECT | 
          ( | 
            | 
          CLASS_NAME,  | 
        
        
           | 
           | 
            | 
          NOC_ID,  | 
        
        
           | 
           | 
            | 
          DEVICE_ID,  | 
        
        
           | 
           | 
            | 
          BLOCK_NAME,  | 
        
        
           | 
           | 
            | 
          MB_ACCESS,  | 
        
        
           | 
           | 
            | 
          TB_CLOCK,  | 
        
        
           | 
           | 
            | 
          CTRL_CLOCK  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Value:
    {                                                                           \
        return std::make_shared<CLASS_NAME##_impl>(std::move(make_args));       \
    }                                                                           \
    UHD_STATIC_BLOCK(register_rfnoc_##CLASS_NAME)                               \
            DEVICE_ID,                                                          \
            BLOCK_NAME,                                                         \
            MB_ACCESS,                                                          \
            TB_CLOCK,                                                           \
            CTRL_CLOCK,                                                         \
            &CLASS_NAME##_make);                                                \
    }
std::unique_ptr< make_args_t > make_args_ptr
Opaque pointer to the constructor arguments.
Definition: noc_block_base.hpp:53
 
std::shared_ptr< noc_block_base > sptr
Definition: noc_block_base.hpp:47
 
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)
 
 
This macro must be placed inside a block implementation file.