USRP Hardware Driver and USRP Manual  Version: 4.9.0.HEAD-11-gcf78e1cf
UHD and USRP Manual
uhd::rfnoc::register_iface_stats Struct Reference

#include <uhd/rfnoc/register_iface.hpp>

Public Member Functions

std::string UHD_API to_string () const
 

Public Attributes

uint64_t ctrl_packets_sent = 0
 Number of control packets sent. More...
 
uint64_t ack_packets_received = 0
 Number of ACK packets received. More...
 
uint64_t async_packets_received = 0
 Number of async packets received. More...
 
uint64_t ack_packets_sent = 0
 Number of ACK packets sent. More...
 
uint64_t ctrl_dropped = 0
 Number of control packets dropped (or ACKs not received) More...
 
uint64_t ctrl_out_of_sequence = 0
 Number of out-of-sequence control packets. More...
 
ssize_t buffer_fullness = 0
 The fullness of the buffer in the FPGA, as calculated by the software. More...
 

Detailed Description

Statistics for register interface operations.

This struct contains counters for various register interface operations, useful for debugging and performance monitoring.

Notes:

  • Dropped packets are detected when there is a sequence gap between incoming ACKs. If the incoming ACK sequence numbers are [0,1,3] then we assume number 2 dropped, and ctrl_dropped is incremented.
  • Out-of-sequence packets are only counted when packets with unexpected sequence numbers arrive. If the incoming ACK sequence numbers are [0,2,1], then first we assume that sequence number 1 was dropped (and ctrl_dropped is incremented). We therefore no longer expect sequence number 1, and when it is detected after sequence number 2, ctrl_out_of_sequence is incremented. When ACKs are reordered, they therefore cause both drop counts and out-of-sequence counts.

Member Function Documentation

◆ to_string()

std::string UHD_API uhd::rfnoc::register_iface_stats::to_string ( ) const

Member Data Documentation

◆ ack_packets_received

uint64_t uhd::rfnoc::register_iface_stats::ack_packets_received = 0

Number of ACK packets received.

◆ ack_packets_sent

uint64_t uhd::rfnoc::register_iface_stats::ack_packets_sent = 0

Number of ACK packets sent.

◆ async_packets_received

uint64_t uhd::rfnoc::register_iface_stats::async_packets_received = 0

Number of async packets received.

◆ buffer_fullness

ssize_t uhd::rfnoc::register_iface_stats::buffer_fullness = 0

The fullness of the buffer in the FPGA, as calculated by the software.

◆ ctrl_dropped

uint64_t uhd::rfnoc::register_iface_stats::ctrl_dropped = 0

Number of control packets dropped (or ACKs not received)

◆ ctrl_out_of_sequence

uint64_t uhd::rfnoc::register_iface_stats::ctrl_out_of_sequence = 0

Number of out-of-sequence control packets.

◆ ctrl_packets_sent

uint64_t uhd::rfnoc::register_iface_stats::ctrl_packets_sent = 0

Number of control packets sent.


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