Loading...
Searching...
No Matches
uhd::rfnoc::null_block_control Class Referenceabstract
RFNoC » RFNoC Blocks

`#include <uhd/rfnoc/null_block_control.hpp>`

Inheritance diagram for uhd::rfnoc::null_block_control:
[legend]
Collaboration diagram for uhd::rfnoc::null_block_control:
[legend]

## 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.
Public Types inherited from uhd::rfnoc::node_t
enum class | forwarding_policy_t { ONE_TO_ONE , ONE_TO_FAN , ONE_TO_ALL_IN , ONE_TO_ALL_OUT , ONE_TO_ALL , DROP , 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
using | forwarding_map_t

## 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.
size_t | get_num_input_ports () const override
size_t | get_num_output_ports () const override
noc_id_t | get_noc_id () const
const block_id_t & | get_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::sptr & | get_tree () const
| Return a reference to this block's subtree.
uhd::property_tree::sptr & | get_tree ()
| Return a reference to this block's subtree (non-const version).
std::shared_ptr< mb_controller > | get_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_iface & | regs ()

## 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)
void | set_num_output_ports (const size_t num_ports)
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_t * | get_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.

## Detailed Description

Null block: Bit bucket or -sink

## Member Enumeration Documentation

## count_type_t

enum uhd::rfnoc::null_block_control::count_type_t

Enumerator
LINES |
PACKETS |

## port_type_t

enum uhd::rfnoc::null_block_control::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_type | The port for which the counter value should be returned, sink, source, or loop.
  count_type | If 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:

- null_block_control.hpp