USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-g6563c537
UHD and USRP Manual
block_ctrl_base.hpp File Reference
#include <uhd/property_tree.hpp>
#include <uhd/rfnoc/block_id.hpp>
#include <uhd/rfnoc/blockdef.hpp>
#include <uhd/rfnoc/constants.hpp>
#include <uhd/rfnoc/node_ctrl_base.hpp>
#include <uhd/rfnoc/stream_sig.hpp>
#include <uhd/stream.hpp>
#include <uhd/types/sid.hpp>
#include <uhd/types/stream_cmd.hpp>
#include <uhd/types/wb_iface.hpp>
#include <uhd/utils/static.hpp>
#include <stdint.h>
#include <boost/shared_ptr.hpp>

Go to the source code of this file.

Classes

struct  uhd::rfnoc::make_args_t
 
class  uhd::rfnoc::block_ctrl_base
 

Namespaces

 uhd
 
 uhd::rfnoc
 
 uhd::rfnoc::nocscript
 

Macros

#define UHD_RFNOC_BLOCK_OBJECT(class_name)   typedef boost::shared_ptr<class_name> sptr;
 This macro must be put in the public section of an RFNoC. More...
 
#define UHD_RFNOC_BLOCK_CONSTRUCTOR(CLASS_NAME)   CLASS_NAME##_impl(const make_args_t& make_args) : block_ctrl_base(make_args)
 Shorthand for block constructor. More...
 
#define UHD_RFNOC_BLOCK_REGISTER(CLASS_NAME, BLOCK_NAME)
 This macro must be placed inside a block implementation file. More...
 

Variables

class UHD_RFNOC_API uhd::rfnoc::block_ctrl_base
 Base class for all RFNoC block controller objects. More...
 

Macro Definition Documentation

◆ UHD_RFNOC_BLOCK_CONSTRUCTOR

#define UHD_RFNOC_BLOCK_CONSTRUCTOR (   CLASS_NAME)    CLASS_NAME##_impl(const make_args_t& make_args) : block_ctrl_base(make_args)

Shorthand for block constructor.

◆ UHD_RFNOC_BLOCK_OBJECT

#define UHD_RFNOC_BLOCK_OBJECT (   class_name)    typedef boost::shared_ptr<class_name> sptr;

This macro must be put in the public section of an RFNoC.

◆ UHD_RFNOC_BLOCK_REGISTER

#define UHD_RFNOC_BLOCK_REGISTER (   CLASS_NAME,
  BLOCK_NAME 
)
Value:
block_ctrl_base::sptr CLASS_NAME##_make(const make_args_t& make_args) \
{ \
return block_ctrl_base::sptr(new CLASS_NAME##_impl(make_args)); \
} \
UHD_STATIC_BLOCK(register_rfnoc_##CLASS_NAME) \
{ \
uhd::rfnoc::block_ctrl_base::register_block(&CLASS_NAME##_make, BLOCK_NAME); \
}
static void register_block(const make_t &make, const std::string &name)

This macro must be placed inside a block implementation file.