USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-g6563c537
UHD and USRP Manual
sink_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_TX_BLOCK_CTRL_BASE_HPP
9 #define INCLUDED_LIBUHD_TX_BLOCK_CTRL_BASE_HPP
10 
13 
14 namespace uhd { namespace rfnoc {
15 
25 class sink_block_ctrl_base : virtual public block_ctrl_base, virtual public sink_node_ctrl
26 {
27 public:
28  typedef boost::shared_ptr<sink_block_ctrl_base> sptr;
29 
30  /***********************************************************************
31  * Stream signatures
32  **********************************************************************/
43  stream_sig_t get_input_signature(size_t block_port = 0) const;
44 
47  std::vector<size_t> get_input_ports() const;
48 
49  /***********************************************************************
50  * FPGA Configuration
51  **********************************************************************/
64  size_t get_fifo_size(size_t block_port = 0) const;
65 
76  size_t get_mtu(size_t block_port = 0) const;
77 
94  virtual void configure_flow_control_in(
95  const size_t bytes, const size_t block_port = 0);
96 
102  virtual void set_error_policy(const std::string& policy);
103 
104 protected:
105  /***********************************************************************
106  * Hooks
107  **********************************************************************/
111  virtual size_t _request_input_port(
112  const size_t suggested_port, const uhd::device_addr_t& args) const;
113 
114 }; /* class sink_block_ctrl_base */
115 
116 }} /* namespace uhd::rfnoc */
117 
118 #endif /* INCLUDED_LIBUHD_TX_BLOCK_CTRL_BASE_HPP */
size_t get_fifo_size(size_t block_port=0) const
virtual size_t _request_input_port(const size_t suggested_port, const uhd::device_addr_t &args) const
stream_sig_t get_input_signature(size_t block_port=0) const
Definition: sink_block_ctrl_base.hpp:25
Definition: block_ctrl_base.hpp:87
size_t get_mtu(size_t block_port=0) const
Definition: build_info.hpp:13
#define UHD_RFNOC_API
Definition: config.hpp:104
Definition: sink_node_ctrl.hpp:23
boost::shared_ptr< sink_block_ctrl_base > sptr
Definition: sink_block_ctrl_base.hpp:28
virtual void configure_flow_control_in(const size_t bytes, const size_t block_port=0)
virtual void set_error_policy(const std::string &policy)
Definition: stream_sig.hpp:23
std::vector< size_t > get_input_ports() const
Definition: device_addr.hpp:38