summaryrefslogtreecommitdiff
path: root/gr-uhd/include/gnuradio/uhd/rfnoc_graph.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-uhd/include/gnuradio/uhd/rfnoc_graph.h')
-rw-r--r--gr-uhd/include/gnuradio/uhd/rfnoc_graph.h135
1 files changed, 0 insertions, 135 deletions
diff --git a/gr-uhd/include/gnuradio/uhd/rfnoc_graph.h b/gr-uhd/include/gnuradio/uhd/rfnoc_graph.h
deleted file mode 100644
index efa0e14c30..0000000000
--- a/gr-uhd/include/gnuradio/uhd/rfnoc_graph.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2019 Ettus Research, a National Instruments Brand.
- * Copyright 2020 Free Software Foundation, Inc.
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
-
-#ifndef INCLUDED_GR_UHD_RFNOC_GRAPH_H
-#define INCLUDED_GR_UHD_RFNOC_GRAPH_H
-
-#include <gnuradio/uhd/api.h>
-#include <uhd/rfnoc/noc_block_base.hpp>
-#include <uhd/stream.hpp>
-#include <uhd/types/device_addr.hpp>
-#include <boost/shared_ptr.hpp>
-
-namespace gr {
-namespace uhd {
-
-class rfnoc_block;
-
-/*! GNU Radio-specific wrapper for uhd::rfnoc::rfnoc_graph
- *
- * This wraps uhd::rfnoc::rfnoc_graph for simpler insertion into GNU Radio flow
- * graphs. All API calls match those on said class.
- */
-class GR_UHD_API rfnoc_graph
-{
-public:
- using sptr = boost::shared_ptr<rfnoc_graph>;
-
- static sptr make(const ::uhd::device_addr_t& dev_addr);
-
- virtual ~rfnoc_graph() {}
-
- //! Connect two blocks, or a block to a streamer, or a streamer to a block
- //
- // \param src_block The block ID of the source block (e.g., "0/Radio#0)
- // \param src_block_port The port on the source block to connect to
- // \param dst_block The block ID of the destination block (e.g., "0/DDC#0)
- // \param dst_block_port The port on the destination block to connect to
- // \param skip_property_propagation Disable property propagation on this
- // connection (see the UHD documentation)
- virtual void connect(const std::string& src_block,
- const size_t src_block_port,
- const std::string& dst_block,
- const size_t dst_block_port,
- const bool skip_property_propagation = false) = 0;
-
- //! Convenience overload: Defaults to port 0 on both blocks
- //
- // \param src_block The block ID of the source block (e.g., "0/Radio#0)
- // \param dst_block The block ID of the destination block (e.g., "0/DDC#0)
- // \param skip_property_propagation Disable property propagation on this
- // connection (see the UHD documentation)
- virtual void connect(const std::string& src_block,
- const std::string& dst_block,
- const bool skip_property_propagation = false) = 0;
-
- //! Create an RX streamer
- //
- // Note: This streamer is not connected to anything after creation.
- //
- // See also the UHD documentation for uhd::rfnoc::rfnoc_graph::create_rx_streamer().
- //
- // \param num_ports Number of streaming ports
- // \param args Stream args.
- virtual ::uhd::rx_streamer::sptr
- create_rx_streamer(const size_t num_ports, const ::uhd::stream_args_t& args) = 0;
-
- //! Create a TX streamer
- //
- // Note: This streamer is not connected to anything after creation.
- //
- // See also the UHD documentation for uhd::rfnoc::rfnoc_graph::create_tx_streamer().
- //
- // \param num_ports Number of streaming ports
- // \param args Stream args.
- virtual ::uhd::tx_streamer::sptr
- create_tx_streamer(const size_t num_ports, const ::uhd::stream_args_t& args) = 0;
-
- //! Commit the graph and run initial checks
- //
- // See ::uhd::rfnoc::rfnoc_graph::commit() for more documentation.
- virtual void commit() = 0;
-
- /*! Return a valid block ID string, if it exists, or an empty string, if not
- *
- * This will check the available blocks on the connected devices and see if
- * they match the block name, device ID, and block number.
- */
- virtual std::string get_block_id(const std::string& block_name,
- const int device_select,
- const int block_select) = 0;
-
- //! Set time source on the specified motherboard
- //
- // Note: This is a convenience call, it directly dereferences the underlying
- // motherboard controller.
- //
- // \param source Time source (e.g., "internal")
- // \param mb_index Motherboard index, starting at 0
- virtual void set_time_source(const std::string& source, const size_t mb_index) = 0;
-
- //! Set clock source on the specified motherboard
- //
- // Note: This is a convenience call, it directly dereferences the underlying
- // motherboard controller.
- //
- // \param source Clock source (e.g., "internal")
- // \param mb_index Motherboard index, starting at 0
- virtual void set_clock_source(const std::string& source, const size_t mb_index) = 0;
-
- //! Return a reference to the block with a given block ID
- //
- // This allows to retrieve a shared pointer to a block controller with a
- // limit. It keeps track of the references given out, and will throw an
- // exception if called more than max_ref_count times. This is to help ensure
- // that GNU Radio blocks don't share block controllers unintentionally.
- //
- // \param block_id A valid block ID. Use get_block_id() to make sure it is
- // valid.
- // \param max_ref_count The maximum number of references that are doled out.
- //
- // \throws std::runtime_error if more than \p max_ref_count references are
- // given out
- virtual ::uhd::rfnoc::noc_block_base::sptr
- get_block_ref(const std::string& block_id, const size_t max_ref_count) = 0;
-};
-
-} // namespace uhd
-} // namespace gr
-
-#endif /* INCLUDED_GR_UHD_RFNOC_GRAPH_H */