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