USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
 
Loading...
Searching...
No Matches
source_node_ctrl.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_SOURCE_NODE_CTRL_BASE_HPP
9#define INCLUDED_LIBUHD_SOURCE_NODE_CTRL_BASE_HPP
10
14#include <boost/thread.hpp>
15
16namespace uhd { namespace rfnoc {
17
23class source_node_ctrl : virtual public node_ctrl_base
24{
25public:
26 /***********************************************************************
27 * Types
28 **********************************************************************/
29 typedef boost::shared_ptr<source_node_ctrl> sptr;
30 typedef std::map<size_t, boost::weak_ptr<source_node_ctrl> > node_map_t;
31 typedef std::pair<size_t, boost::weak_ptr<source_node_ctrl> > node_map_pair_t;
32
33 /***********************************************************************
34 * Source block controls
35 **********************************************************************/
40 virtual void issue_stream_cmd(
41 const uhd::stream_cmd_t& stream_cmd, const size_t chan = 0) = 0;
42
58 size_t port = ANY_PORT,
60
67 virtual void set_rx_streamer(bool active, const size_t port);
68
69protected:
80 virtual size_t _request_output_port(
81 const size_t suggested_port, const uhd::device_addr_t& args) const;
82
83
84private:
87 boost::mutex _output_mutex;
88
100 void _register_downstream_node(node_ctrl_base::sptr downstream_node, size_t port);
101
102}; /* class source_node_ctrl */
103
104}} /* namespace uhd::rfnoc */
105
106#endif /* INCLUDED_LIBUHD_SOURCE_NODE_CTRL_BASE_HPP */
Definition device_addr.hpp:39
Definition node_ctrl_base.hpp:39
boost::shared_ptr< node_ctrl_base > sptr
Definition node_ctrl_base.hpp:44
Definition source_node_ctrl.hpp:24
std::map< size_t, boost::weak_ptr< source_node_ctrl > > node_map_t
Definition source_node_ctrl.hpp:30
boost::shared_ptr< source_node_ctrl > sptr
Definition source_node_ctrl.hpp:29
virtual size_t _request_output_port(const size_t suggested_port, const uhd::device_addr_t &args) const
virtual void set_rx_streamer(bool active, const size_t port)
virtual void issue_stream_cmd(const uhd::stream_cmd_t &stream_cmd, const size_t chan=0)=0
std::pair< size_t, boost::weak_ptr< source_node_ctrl > > node_map_pair_t
Definition source_node_ctrl.hpp:31
size_t connect_downstream(node_ctrl_base::sptr downstream_node, size_t port=ANY_PORT, const uhd::device_addr_t &args=uhd::device_addr_t())
#define UHD_RFNOC_API
Definition config.hpp:117
Definition build_info.hpp:13
Definition stream_cmd.hpp:37