USRP Hardware Driver and USRP Manual  Version: 4.7.0.0
UHD and USRP Manual
registry.hpp File Reference
#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.

Classes

class  uhd::rfnoc::registry
 

Namespaces

 uhd
 
 uhd::rfnoc
 

Macros

#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)
 

Macro Definition Documentation

◆ 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)
#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_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); \
}
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)
std::shared_ptr< noc_block_base > sptr
Definition: noc_block_base.hpp:48
std::unique_ptr< make_args_t > make_args_ptr
Opaque pointer to the constructor arguments.
Definition: noc_block_base.hpp:54

This macro must be placed inside a block implementation file.