USRP Hardware Driver and USRP Manual  Version: 004.000.000.HEAD-0-g8773fb2c
UHD and USRP Manual
block_ctrl_base.hpp File Reference
#include <uhd/property_tree.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 <uhd/rfnoc/node_ctrl_base.hpp>
#include <uhd/rfnoc/block_id.hpp>
#include <uhd/rfnoc/stream_sig.hpp>
#include <uhd/rfnoc/blockdef.hpp>
#include <uhd/rfnoc/constants.hpp>
#include <boost/cstdint.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/lexical_cast.hpp>
#include <stdint.h>

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)
 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)
Value:
CLASS_NAME##_impl( \
const make_args_t &make_args \
) : block_ctrl_base(make_args)
class UHD_RFNOC_API block_ctrl_base
Base class for all RFNoC block controller objects.
Definition: block_ctrl_base.hpp:105

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.