diff options
| author | Martin Braun <martin.braun@ettus.com> | 2022-04-20 10:06:59 +0200 | 
|---|---|---|
| committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2022-06-10 13:24:04 -0500 | 
| commit | 1cdbc89050fd5783e7f926355f97361690a635f6 (patch) | |
| tree | c726ab03f23a93569a0140379d16fe2e31ebb8a4 /host/lib/include/uhdlib | |
| parent | 685a334c55083b9f68ae4b021554eed584931c18 (diff) | |
| download | uhd-1cdbc89050fd5783e7f926355f97361690a635f6.tar.gz uhd-1cdbc89050fd5783e7f926355f97361690a635f6.tar.bz2 uhd-1cdbc89050fd5783e7f926355f97361690a635f6.zip | |
rfnoc: Improve documentation for chdr_ctrl_endpoint
Diffstat (limited to 'host/lib/include/uhdlib')
| -rw-r--r-- | host/lib/include/uhdlib/rfnoc/chdr_ctrl_endpoint.hpp | 26 | 
1 files changed, 23 insertions, 3 deletions
| diff --git a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_endpoint.hpp b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_endpoint.hpp index 65db20e5a..ad7e2e4e3 100644 --- a/host/lib/include/uhdlib/rfnoc/chdr_ctrl_endpoint.hpp +++ b/host/lib/include/uhdlib/rfnoc/chdr_ctrl_endpoint.hpp @@ -16,8 +16,26 @@ namespace uhd { namespace rfnoc {  /*! A software interface that represents a CHDR control endpoint   * + * This object is assigned an endpoint ID (EPID) and is responsible for sending/ + * receiving CHDR control packets, typically from a single device (in other + * words, we spawn one of these for every USRP in our UHD session). + * + * All the RFNoC blocks on this device (as well as client zero) can create a + * ctrlport_endpoint interface from this object (the ctrlport_endpoint object + * is the thing that can do the actual peek/poke operations). This class will + * handle the packaging and addressing of CHDR packets. + * + * The only place where we create a chdr_ctrl_endpoint (outside of tests) is + * in link_stream_manager.cpp. + * + * Incoming packets (that originate from the device and reach this chdr_ctrl_endpoint) + * are mapped to their intended destination (the desired ctrlport_endpoint + * instance) by their source EPID and the destination control crossbar port. + *   *  The endpoint is capable of sending/receiving CHDR packets   *  and creating multiple ctrlport_endpoint interfaces + * + *  Typically, there is one chdr_ctrl_endpoint for every device.   */  class chdr_ctrl_endpoint  { @@ -28,11 +46,13 @@ public:      //! Creates a new register interface for the specified port      // -    // \param port The port number on the control crossbar +    // \param dst_epid The endpoint ID of the remote block for which this +    //                 controlport endpoint object is designed for +    // \param dst_port The port number on the control crossbar      // \param buff_capacity The buffer capacity of the downstream buff in 32-bit words      // \param max_outstanding_async_msgs Max outstanding async messages allowed -    // \param ctrl_clk_freq Frequency of the clock driving the ctrlport logic -    // \param timebase_freq Frequency of the timebase (for timed commands) +    // \param client_clk Frequency of the clock driving the ctrlport logic +    // \param timebase_clk Frequency of the timebase (for timed commands)      //      virtual ctrlport_endpoint::sptr get_ctrlport_ep(sep_id_t dst_epid,          uint16_t dst_port, | 
