USRP Hardware Driver and USRP Manual  Version: 3.12.0.0-0-unknown
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 {
15  namespace rfnoc {
16 
26 class sink_block_ctrl_base : virtual public block_ctrl_base, virtual public sink_node_ctrl
27 {
28 public:
29  typedef boost::shared_ptr<sink_block_ctrl_base> sptr;
30 
31  /***********************************************************************
32  * Stream signatures
33  **********************************************************************/
44  stream_sig_t get_input_signature(size_t block_port=0) const;
45 
48  std::vector<size_t> get_input_ports() const;
49 
50  /***********************************************************************
51  * FPGA Configuration
52  **********************************************************************/
65  size_t get_fifo_size(size_t block_port=0) const;
66 
84  virtual void configure_flow_control_in(
85  size_t cycles,
86  size_t packets,
87  size_t block_port=0
88  );
89 
95  virtual void set_error_policy(
96  const std::string &policy
97  );
98 
99 protected:
100  /***********************************************************************
101  * Hooks
102  **********************************************************************/
106  virtual size_t _request_input_port(
107  const size_t suggested_port,
108  const uhd::device_addr_t &args
109  ) const;
110 
111 }; /* class sink_block_ctrl_base */
112 
113 }} /* namespace uhd::rfnoc */
114 
115 #endif /* INCLUDED_LIBUHD_TX_BLOCK_CTRL_BASE_HPP */
116 // vim: sw=4 et:
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:26
Definition: block_ctrl_base.hpp:93
Definition: build_info.hpp:14
#define UHD_RFNOC_API
Definition: config.hpp:93
Definition: sink_node_ctrl.hpp:24
boost::shared_ptr< sink_block_ctrl_base > sptr
Definition: sink_block_ctrl_base.hpp:29
virtual void configure_flow_control_in(size_t cycles, size_t packets, 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