USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
 
Loading...
Searching...
No Matches
source_block_ctrl_base.hpp
Go to the documentation of this file.
1//
2// Copyright 2014 Ettus Research LLC
3// Copyright 2018 Ettus Research, a National Instruments Company
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
7
8#ifndef INCLUDED_LIBUHD_RX_BLOCK_CTRL_BASE_HPP
9#define INCLUDED_LIBUHD_RX_BLOCK_CTRL_BASE_HPP
10
13
14namespace uhd { namespace rfnoc {
15
25 virtual public source_node_ctrl
26{
27public:
28 typedef boost::shared_ptr<source_block_ctrl_base> sptr;
29
30 /***********************************************************************
31 * Streaming operations
32 **********************************************************************/
56 virtual void issue_stream_cmd(
57 const uhd::stream_cmd_t& stream_cmd, const size_t chan = 0);
58
59 /***********************************************************************
60 * Stream signatures
61 **********************************************************************/
72 stream_sig_t get_output_signature(size_t block_port = 0) const;
73
76 std::vector<size_t> get_output_ports() const;
77
78 /***********************************************************************
79 * FPGA Configuration
80 **********************************************************************/
90 virtual void set_destination(uint32_t next_address, size_t output_block_port = 0);
91
114 virtual void configure_flow_control_out(const bool enable_output,
115 const bool lossless_link,
116 const size_t buf_size_bytes,
117 const size_t pkt_limit = 0,
118 const size_t block_port = 0,
119 const uhd::sid_t& sid = uhd::sid_t());
120
131 size_t get_mtu(size_t block_port = 0) const;
132
133
134protected:
135 /***********************************************************************
136 * Hooks
137 **********************************************************************/
141 virtual size_t _request_output_port(
142 const size_t suggested_port, const uhd::device_addr_t& args) const;
143
144}; /* class source_block_ctrl_base */
145
146}} /* namespace uhd::rfnoc */
147
148#endif /* INCLUDED_LIBUHD_RX_BLOCK_CTRL_BASE_HPP */
Definition device_addr.hpp:39
Definition block_ctrl_base.hpp:88
Definition source_block_ctrl_base.hpp:26
boost::shared_ptr< source_block_ctrl_base > sptr
Definition source_block_ctrl_base.hpp:28
stream_sig_t get_output_signature(size_t block_port=0) const
std::vector< size_t > get_output_ports() const
virtual void issue_stream_cmd(const uhd::stream_cmd_t &stream_cmd, const size_t chan=0)
virtual size_t _request_output_port(const size_t suggested_port, const uhd::device_addr_t &args) const
virtual void configure_flow_control_out(const bool enable_output, const bool lossless_link, const size_t buf_size_bytes, const size_t pkt_limit=0, const size_t block_port=0, const uhd::sid_t &sid=uhd::sid_t())
size_t get_mtu(size_t block_port=0) const
virtual void set_destination(uint32_t next_address, size_t output_block_port=0)
Definition source_node_ctrl.hpp:24
Definition stream_sig.hpp:24
Represents a stream ID (SID).
Definition sid.hpp:75
#define UHD_RFNOC_API
Definition config.hpp:117
Definition build_info.hpp:13
Definition stream_cmd.hpp:37