USRP Hardware Driver and USRP Manual  Version: 4.0.0.0-170-gd398fe465
UHD and USRP Manual
uhd::rfnoc Namespace Reference

Namespaces

 detail
 

Classes

struct  action_info
 
class  block_control
 
class  block_id_t
 
class  blockdef
 
class  ddc_block_control
 
class  dirtifier_t
 
class  dmafifo_block_control
 
class  duc_block_control
 
class  fft_block_control
 
class  fir_filter_block_control
 
struct  graph_edge_t
 
class  mb_controller
 
struct  mock_block_container
 
class  mock_reg_iface_t
 
class  multichan_register_iface
 
class  noc_block_base
 
class  node_t
 
class  null_block_control
 
class  property_base_t
 
class  property_t
 
class  radio_control
 
class  register_iface
 
class  register_iface_holder
 
class  registry
 
struct  res_source_info
 
class  rfnoc_graph
 
struct  rx_event_action_info
 
struct  stream_cmd_action_info
 
class  traffic_counter
 
struct  tx_event_action_info
 

Typedefs

using io_type_t = std::string
 
using noc_id_t = uint32_t
 
using device_type_t = uint16_t
 Device Type. More...
 
using block_port_def = std::tuple< std::string, boost::optional< size_t > >
 Tuple that stores a block ID, as well as an optional port number. More...
 

Enumerations

enum  settingsbus_reg_t {
  SR_READBACK_REG_ID = 0, SR_READBACK_REG_GLOBAL_PARAMS = 1, SR_READBACK_REG_FIFOSIZE = 2, SR_READBACK_REG_MTU = 3,
  SR_READBACK_REG_BLOCKPORT_SIDS = 4, SR_READBACK_REG_USER = 5, SR_READBACK_COMPAT = 6
}
 Settings register readback. More...
 
enum  fft_shift { fft_shift::NORMAL, fft_shift::REVERSE, fft_shift::NATURAL }
 
enum  fft_direction { fft_direction::REVERSE, fft_direction::FORWARD }
 
enum  fft_magnitude { fft_magnitude::COMPLEX, fft_magnitude::MAGNITUDE, fft_magnitude::MAGNITUDE_SQUARED }
 

Functions

std::ostream & operator<< (std::ostream &out, block_id_t block_id)
 Shortcut for << block_id.to_string() More...
 
UHD_API mock_block_container get_mock_block (const noc_id_t noc_id, const size_t num_inputs=1, const size_t num_outputs=1, const uhd::device_addr_t &args=uhd::device_addr_t(), const size_t mtu=8000, const device_type_t device_id=ANY_DEVICE, std::shared_ptr< mock_reg_iface_t > client_reg_iface=nullptr)
 
std::vector< graph_edge_t > UHD_API get_block_chain (const rfnoc_graph::sptr graph, const block_id_t start_block, const size_t port, const bool source_chain)
 
void UHD_API connect_through_blocks (rfnoc_graph::sptr graph, const block_id_t src_blk, const size_t src_port, const block_id_t dst_blk, const size_t dst_port)
 

Typedef Documentation

◆ block_port_def

using uhd::rfnoc::block_port_def = typedef std::tuple<std::string, boost::optional<size_t> >

Tuple that stores a block ID, as well as an optional port number.

◆ device_type_t

using uhd::rfnoc::device_type_t = typedef uint16_t

Device Type.

◆ io_type_t

using uhd::rfnoc::io_type_t = typedef std::string

◆ noc_id_t

using uhd::rfnoc::noc_id_t = typedef uint32_t

The NoC ID is the unique identifier of the block type. All blocks of the same type have the same NoC ID.

Enumeration Type Documentation

◆ fft_direction

Enumerator
REVERSE 
FORWARD 

◆ fft_magnitude

Enumerator
COMPLEX 
MAGNITUDE 
MAGNITUDE_SQUARED 

◆ fft_shift

enum uhd::rfnoc::fft_shift
strong
Enumerator
NORMAL 
REVERSE 
NATURAL 

◆ settingsbus_reg_t

Settings register readback.

Enumerator
SR_READBACK_REG_ID 
SR_READBACK_REG_GLOBAL_PARAMS 
SR_READBACK_REG_FIFOSIZE 
SR_READBACK_REG_MTU 
SR_READBACK_REG_BLOCKPORT_SIDS 
SR_READBACK_REG_USER 
SR_READBACK_COMPAT 

Function Documentation

◆ connect_through_blocks()

void UHD_API uhd::rfnoc::connect_through_blocks ( rfnoc_graph::sptr  graph,
const block_id_t  src_blk,
const size_t  src_port,
const block_id_t  dst_blk,
const size_t  dst_port 
)

Connect desired blocks by whatever path that can be found

Parameters
graphThe rfnoc_graph that is being examined
src_blkSource block's ID
src_portBlock port where the path starts
dst_blkDestination block's ID
dst_portBlock port where the path ends

◆ get_block_chain()

std::vector<graph_edge_t> UHD_API uhd::rfnoc::get_block_chain ( const rfnoc_graph::sptr  graph,
const block_id_t  start_block,
const size_t  port,
const bool  source_chain 
)

Get a chain of blocks that statically connect back to a terminating block. This vector's first element is start_block, and the chain continues from there.

This function does not make the connections between blocks, it simply traverses the static connections.

Parameters
graphThe rfnoc_graph that is being examined
start_blockThe block we begin to build the chain from
portThe block port of src_port that the path will begin at
source_chainWhether or not the start_block is a source (or a destination). If true, the chain will start at start_block's output port. If false, the chain will start with start_block's output port.
Returns
The edge list representing the data path requested

◆ get_mock_block()

UHD_API mock_block_container uhd::rfnoc::get_mock_block ( const noc_id_t  noc_id,
const size_t  num_inputs = 1,
const size_t  num_outputs = 1,
const uhd::device_addr_t args = uhd::device_addr_t(),
const size_t  mtu = 8000,
const device_type_t  device_id = ANY_DEVICE,
std::shared_ptr< mock_reg_iface_t client_reg_iface = nullptr 
)

Factory function for mock block controllers

◆ operator<<()

std::ostream& uhd::rfnoc::operator<< ( std::ostream &  out,
block_id_t  block_id 
)
inline

Shortcut for << block_id.to_string()