USRP Hardware Driver and USRP Manual  Version: 4.6.0.0-7-gece7c4811
UHD and USRP Manual
uhd::rfnoc::null_block_control Class Referenceabstract

#include <uhd/rfnoc/null_block_control.hpp>

Inheritance diagram for uhd::rfnoc::null_block_control:
uhd::rfnoc::noc_block_base uhd::rfnoc::node_t uhd::rfnoc::register_iface_holder

Public Types

enum  port_type_t { SINK, SOURCE, LOOP }
 
enum  count_type_t { LINES, PACKETS }
 
- Public Types inherited from uhd::rfnoc::noc_block_base
using sptr = std::shared_ptr< noc_block_base >
 
using make_args_ptr = std::unique_ptr< make_args_t >
 Opaque pointer to the constructor arguments. More...
 
- Public Types inherited from uhd::rfnoc::node_t
enum  forwarding_policy_t {
  forwarding_policy_t::ONE_TO_ONE, forwarding_policy_t::ONE_TO_FAN, forwarding_policy_t::ONE_TO_ALL_IN, forwarding_policy_t::ONE_TO_ALL_OUT,
  forwarding_policy_t::ONE_TO_ALL, forwarding_policy_t::DROP, forwarding_policy_t::USE_MAP
}
 Types of property/action forwarding for those not defined by the block itself. More...
 
using resolver_fn_t = std::function< void(void)>
 
using resolve_callback_t = std::function< void(void)>
 
using graph_mutex_callback_t = std::function< std::recursive_mutex &(void)>
 
using action_handler_t = std::function< void(const res_source_info &, action_info::sptr)>
 
using forwarding_map_t = std::unordered_map< res_source_info, std::vector< res_source_info > >
 

Public Member Functions

virtual void issue_stream_cmd (const uhd::stream_cmd_t &stream_cmd)=0
 
virtual void reset_counters ()=0
 
virtual void set_bytes_per_packet (const uint32_t bpp)=0
 
virtual void set_throttle_cycles (const uint32_t cycs)=0
 
virtual uint32_t get_item_width ()=0
 
virtual uint32_t get_nipc ()=0
 
virtual uint32_t get_lines_per_packet ()=0
 
virtual uint32_t get_bytes_per_packet ()=0
 
virtual uint32_t get_throttle_cycles ()=0
 
virtual uint64_t get_count (const port_type_t port_type, const count_type_t count_type)=0
 
- Public Member Functions inherited from uhd::rfnoc::noc_block_base
 ~noc_block_base () override
 
std::string get_unique_id () const override
 Unique ID for an RFNoC block is its block ID. More...
 
size_t get_num_input_ports () const override
 Number of input ports. Note: This gets passed into this block from the. More...
 
size_t get_num_output_ports () const override
 Number of output ports. Note: This gets passed outto this block from the. More...
 
noc_id_t get_noc_id () const
 
const block_id_tget_block_id () const
 
double get_tick_rate () const
 
size_t get_mtu (const res_source_info &edge)
 
size_t get_chdr_hdr_len (const bool account_for_ts=true) const
 
size_t get_max_payload_size (const res_source_info &edge, const bool account_for_ts=true)
 
uhd::device_addr_t get_block_args () const
 
uhd::property_tree::sptrget_tree () const
 Return a reference to this block's subtree. More...
 
uhd::property_tree::sptrget_tree ()
 Return a reference to this block's subtree (non-const version) More...
 
std::shared_ptr< mb_controllerget_mb_controller ()
 
- Public Member Functions inherited from uhd::rfnoc::node_t
 node_t ()
 
virtual ~node_t ()
 
std::vector< std::string > get_property_ids () const
 
template<typename prop_data_t >
void set_property (const std::string &id, const prop_data_t &val, const size_t instance=0)
 
void set_properties (const uhd::device_addr_t &props, const size_t instance=0)
 
template<typename prop_data_t >
const prop_data_t & get_property (const std::string &id, const size_t instance=0)
 
virtual void set_command_time (uhd::time_spec_t time, const size_t instance)
 
virtual uhd::time_spec_t get_command_time (const size_t instance) const
 
virtual void clear_command_time (const size_t instance)
 
- Public Member Functions inherited from uhd::rfnoc::register_iface_holder
 register_iface_holder (register_iface::sptr reg)
 
virtual ~register_iface_holder ()=default
 
register_ifaceregs ()
 

Static Public Attributes

static const uint32_t REG_CTRL_STATUS
 
static const uint32_t REG_SRC_LINES_PER_PKT
 
static const uint32_t REG_SRC_BYTES_PER_PKT
 
static const uint32_t REG_SRC_THROTTLE_CYC
 
static const uint32_t REG_SNK_LINE_CNT_LO
 
static const uint32_t REG_SNK_LINE_CNT_HI
 
static const uint32_t REG_SNK_PKT_CNT_LO
 
static const uint32_t REG_SNK_PKT_CNT_HI
 
static const uint32_t REG_SRC_LINE_CNT_LO
 
static const uint32_t REG_SRC_LINE_CNT_HI
 
static const uint32_t REG_SRC_PKT_CNT_LO
 
static const uint32_t REG_SRC_PKT_CNT_HI
 
static const uint32_t REG_LOOP_LINE_CNT_LO
 
static const uint32_t REG_LOOP_LINE_CNT_HI
 
static const uint32_t REG_LOOP_PKT_CNT_LO
 
static const uint32_t REG_LOOP_PKT_CNT_HI
 
- Static Public Attributes inherited from uhd::rfnoc::node_t
static const size_t ANY_PORT = size_t(~0)
 

Additional Inherited Members

- Protected Types inherited from uhd::rfnoc::node_t
using prop_ptrs_t = std::vector< property_base_t * >
 
- Protected Member Functions inherited from uhd::rfnoc::noc_block_base
 noc_block_base (make_args_ptr make_args)
 
void set_num_input_ports (const size_t num_ports)
 Update number of input ports. More...
 
void set_num_output_ports (const size_t num_ports)
 Update number of output ports. More...
 
void set_tick_rate (const double tick_rate)
 
void set_mtu_forwarding_policy (const forwarding_policy_t policy)
 
void set_mtu (const res_source_info &edge, const size_t new_mtu)
 
property_base_tget_mtu_prop_ref (const res_source_info &edge)
 
virtual void deinit ()
 
- Protected Member Functions inherited from uhd::rfnoc::node_t
void register_property (property_base_t *prop, resolve_callback_t &&clean_callback=nullptr)
 
void add_property_resolver (prop_ptrs_t &&inputs, prop_ptrs_t &&outputs, resolver_fn_t &&resolver_fn)
 
void set_prop_forwarding_policy (forwarding_policy_t policy, const std::string &prop_id="")
 
void set_prop_forwarding_map (const forwarding_map_t &map)
 
template<typename prop_data_t >
void set_property (const std::string &id, const prop_data_t &val, const res_source_info &src_info)
 
template<typename prop_data_t >
const prop_data_t & get_property (const std::string &id, const res_source_info &src_info)
 
void register_action_handler (const std::string &id, action_handler_t &&handler)
 
void set_action_forwarding_policy (forwarding_policy_t policy, const std::string &action_key="")
 
void set_action_forwarding_map (const forwarding_map_t &map)
 
void post_action (const res_source_info &edge_info, action_info::sptr action)
 
virtual bool check_topology (const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs)
 
- Protected Member Functions inherited from uhd::rfnoc::register_iface_holder
void update_reg_iface (register_iface::sptr new_iface=nullptr)
 
- Static Protected Attributes inherited from uhd::rfnoc::node_t
static dirtifier_t ALWAYS_DIRTY
 A dirtifyer object, useful for properties that always need updating. More...
 

Detailed Description

Null block: Bit bucket or -sink

Member Enumeration Documentation

◆ count_type_t

Enumerator
LINES 
PACKETS 

◆ port_type_t

Enumerator
SINK 
SOURCE 
LOOP 

Member Function Documentation

◆ get_bytes_per_packet()

virtual uint32_t uhd::rfnoc::null_block_control::get_bytes_per_packet ( )
pure virtual

Get bytes per packet

◆ get_count()

virtual uint64_t uhd::rfnoc::null_block_control::get_count ( const port_type_t  port_type,
const count_type_t  count_type 
)
pure virtual

Returns the number of lines that have been consumed on port 0 since the last reset

Parameters
port_typeThe port for which the counter value should be returned, sink, source, or loop.
count_typeIf we want the packet count, or the line count

◆ get_item_width()

virtual uint32_t uhd::rfnoc::null_block_control::get_item_width ( )
pure virtual

Get item width (ITEM_W)

◆ get_lines_per_packet()

virtual uint32_t uhd::rfnoc::null_block_control::get_lines_per_packet ( )
pure virtual

Get lines per packet (including the header!)

◆ get_nipc()

virtual uint32_t uhd::rfnoc::null_block_control::get_nipc ( )
pure virtual

Get number of items per clock (NIPC)

◆ get_throttle_cycles()

virtual uint32_t uhd::rfnoc::null_block_control::get_throttle_cycles ( )
pure virtual

Get throttle cycles

◆ issue_stream_cmd()

virtual void uhd::rfnoc::null_block_control::issue_stream_cmd ( const uhd::stream_cmd_t stream_cmd)
pure virtual

Start/stop the null source (port 0)

◆ reset_counters()

virtual void uhd::rfnoc::null_block_control::reset_counters ( )
pure virtual

Reset the counters

◆ set_bytes_per_packet()

virtual void uhd::rfnoc::null_block_control::set_bytes_per_packet ( const uint32_t  bpp)
pure virtual

Set bytes per packet

Note: This sets the entire packet size, including header.

◆ set_throttle_cycles()

virtual void uhd::rfnoc::null_block_control::set_throttle_cycles ( const uint32_t  cycs)
pure virtual

Set throttle cycles

The block will wait this many cycles between packets. Useful for reducing the data output.

Member Data Documentation

◆ REG_CTRL_STATUS

const uint32_t uhd::rfnoc::null_block_control::REG_CTRL_STATUS
static

◆ REG_LOOP_LINE_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_LINE_CNT_HI
static

◆ REG_LOOP_LINE_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_LINE_CNT_LO
static

◆ REG_LOOP_PKT_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_PKT_CNT_HI
static

◆ REG_LOOP_PKT_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_LOOP_PKT_CNT_LO
static

◆ REG_SNK_LINE_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_SNK_LINE_CNT_HI
static

◆ REG_SNK_LINE_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_SNK_LINE_CNT_LO
static

◆ REG_SNK_PKT_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_SNK_PKT_CNT_HI
static

◆ REG_SNK_PKT_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_SNK_PKT_CNT_LO
static

◆ REG_SRC_BYTES_PER_PKT

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_BYTES_PER_PKT
static

◆ REG_SRC_LINE_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINE_CNT_HI
static

◆ REG_SRC_LINE_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINE_CNT_LO
static

◆ REG_SRC_LINES_PER_PKT

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_LINES_PER_PKT
static

◆ REG_SRC_PKT_CNT_HI

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_PKT_CNT_HI
static

◆ REG_SRC_PKT_CNT_LO

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_PKT_CNT_LO
static

◆ REG_SRC_THROTTLE_CYC

const uint32_t uhd::rfnoc::null_block_control::REG_SRC_THROTTLE_CYC
static

The documentation for this class was generated from the following file: