aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Split radio_control into rf_control interfacesLane Kolbly2021-01-111-0/+1
| | | | | | These rf_control interfaces allow easier implementation of radio controls as well as allowing easier sharing of code for implementing e.g. gain_profile.
* rfnoc: Add Keep One in N block supportAaron Rossetto2020-08-051-0/+1
|
* rfnoc: Add RFNoC replay blockmattprost2020-08-041-0/+1
| | | | Signed-off-by: mattprost <matt.prost@ni.com>
* rfnoc: Add siggen RFNoC block controller supportAaron Rossetto2020-07-301-0/+1
|
* rfnoc: Add Switchboard block supportJesse Zhang2020-07-301-0/+1
|
* rfnoc: Add Moving Average block controllermattprost2020-07-161-0/+1
| | | | Signed-off-by: mattprost <matt.prost@ni.com>
* rfnoc: Rename chdr_packet to chdr_packet_writerSamuel O'Brien2020-07-131-1/+1
| | | | | | | | | It would be confusing to have two classes named chdr_packet. As it makes more sense to name the new public chdr parser class chdr_packet, the internal uhd::rfnoc::chdr::chdr_packet class is being renamed to chdr_packet_writer to better represent its functionality. Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
* rfnoc: Add Log Power RFNoC block supportAaron Rossetto2020-06-291-0/+1
|
* rfnoc: Add window RFNoC block controllerAaron Rossetto2020-06-291-0/+1
|
* rfnoc: Add Add/Sub RFNoC block supportAaron Rossetto2020-05-281-0/+1
|
* rfnoc: Add support for Split Stream RFNoC blockAaron Rossetto2020-05-281-0/+1
| | | | | | | | The split stream RFNoC block is an RFNoC block that takes in a single CHDR stream and duplicates it, creating a number of output streams for each input stream. Consult the split_stream_block_control class header file for more details on block configuration and behavior, including how property and action forwarding is handled by the block.
* rfnoc: Add Vector IIR RFNoC block supportAaron Rossetto2020-05-191-0/+1
|
* rfnoc: Add RFNoC fosphor blockWade Fife2020-04-141-0/+1
|
* rfnoc: Add FIR filter RFNoC block controllerAaron Rossetto2020-04-071-0/+1
|
* rfnoc: Create mock factoryMartin Braun2020-01-291-0/+1
| | | | | | This is an API that allows creating mock block controllers, to write unit tests for block controllers. See rfnoc_blocks_test for an example how to use them.
* rfnoc: Port FFT controllerLars Amsel2019-11-261-0/+1
| | | | | | rfnoc used noc-script for FFT controller implementation. Because erfnoc does not support noc-script yet, the implementation is done as a rfnoc controller.
* rfnoc: Add DMA FIFO block controllerMartin Braun2019-11-261-0/+1
|
* Remove proto-RFNoC filesMartin Braun2019-11-261-30/+0
| | | | | | | This commit removes all files and parts of files that are used by proto-RFNoC only. uhd: Fix include CMakeLists.txt, add missing files
* rfnoc: Move data xport sep configuration to static methodsCiro Nishiguchi2019-11-261-0/+2
| | | | | | | Move the configuration logic for stream endpoints to static methods of the chdr data transports. This separates those interactions from the main transport code, simplifying both. It also makes it easier to use the transports with mock link objects.
* rfnoc: tx_streamer: add support for async messagesCiro Nishiguchi2019-11-261-0/+1
| | | | | | Add an async message queue that aggregates errors from multiple sources. Errors can come from the strs packets originating from the stream endpoint or from the radio block through control packets to the host.
* rfnoc: Add DUC block controllerMartin Braun2019-11-261-0/+1
|
* rfnoc: add rx and tx transports, and amend rfnoc_graphCiro Nishiguchi2019-11-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | transports: Transports build on I/O service and implements flow control and sequence number checking. The rx streamer subclass extends the streamer implementation to connect it to the rfnoc graph. It receives configuration values from property propagation and configures the streamer accordingly. It also implements the issue_stream_cmd rx_streamer API method. Add implementation of rx streamer creation and method to connect it to an rfnoc block. rfnoc_graph: Cache more connection info, clarify contract Summary of changes: - rfnoc_graph stores more information about static connections at the beginning. Some search algorithms are replaced by simpler lookups. - The contract for connect() was clarified. It is required to call connect, even for static connections.
* rfnoc: register_iface_holder: Add ability to invalidate and updateMartin Braun2019-11-261-0/+1
| | | | | This lets child classes of register_iface_holder change the register interface, or even invalidate it.
* rfnoc: Add chdr_ctrl_xportAlex Williams2019-11-261-0/+1
| | | | | | | | | | | | | | chdr_ctrl_xport is a dumb-pipe transport for RFNoC control transactions and management frames. Also remove the I/O service's check on num_recv_frames and num_send_frames. The transports may request additional virtual channels, so the send_io_if and recv_io_if may not reserve additional frames, as they are shared with a previously-allocated instance. Note: this uses a mutex to force sequentual access to the chdr_ctrl_xport. This is supposed to go away when the multi threaded xport is done.
* rfnoc: Add device_id allocatorMartin Braun2019-11-261-0/+1
| | | | | | This is a single atomic allocator in the global uhd::rfnoc namespace, so that devices can allocate themselves device IDs without having to confer with the rest of the RFNoC infrastructure.
* rfnoc: Add null block controllerMartin Braun2019-11-261-0/+1
|
* rfnoc: Add mb_controller APIMartin Braun2019-11-261-0/+1
| | | | | | | | | The mb_controller is an interface to hardware-specific functions of the motherboard. The API works in two ways: - The user can request access to it, and thus interact directly with the motherboard - RFNoC blocks can request access to it, if they need to interact with the motherboard themselves.
* rfnoc: Add radio block controllerMartin Braun2019-11-261-0/+1
|
* rfnoc: Added link/graph specific stream managersAshish Chaudhari2019-11-261-0/+3
| | | | | - Fleshed out mb_iface - Managers currently only export ctrl APIs. Data APIs TBD
* rfnoc: Moved chdr types/packet class out of chdr dirAshish Chaudhari2019-11-261-1/+2
| | | | | | - Moved chdr_packet and chdr_types from rfnoc/chdr to rfnoc and updated all references - Moved non-CHDR definitions to rfnoc_common.hpp
* rfnoc: Add default block controllerMartin Braun2019-11-261-0/+1
| | | | | The default block controller should get instantiated when no other suitable block controller can be found.
* rfnoc: Add DDC block controllerMartin Braun2019-11-261-0/+1
|
* rfnoc: Add rfnoc_graph classMartin Braun2019-11-261-0/+1
| | | | This replaces device3() for RFNoC applications.
* rfnoc: Add block registry/factory and make_argsMartin Braun2019-11-261-0/+2
| | | | | | - noc_block_base now has a ctor defined - The registry stores factory functions to the individual Noc-Block implementations
* rfnoc: adding client_zeroBrent Stapleton2019-11-261-0/+1
| | | | | | | | | | - Adding client_zero class, which gathers information about our device form the global registers on port 0 of the RFNoC backend registers. - adding unit tests to exercise client_zero - mock_reg_iface class: adding fake register_iface so we can run unit tests in software only Co-authored-by: Martin Braun <martin.braun@ettus.com>
* rfnoc: Added impl for reg_iface and ctrl_endpointAshish Chaudhari2019-11-261-0/+2
| | | | | | | | - Added new register_iface class that translates high-level peek/poke calls into CHDR control payloads - Added new chdr_ctrl_endpoint class that emulates a control stream endpoint in SW. It can create and handle multiple register interfaces
* rfnoc: Add action APIMartin Braun2019-11-261-0/+1
| | | | | | | | - Added action_info class - Allow to send actions from node to node - Allow to post actions into nodes - Allow to set default forwarding policies - Added unit tests
* rfnoc: Added initial impl for mgmt_portalAshish Chaudhari2019-11-261-1/+1
| | | | | | | - The management portal is the interface for the framework to allow discovering the data topology, setup routes between stream endpoints and configure streamers - Use a zero_copy_if and the mgmt_paylod to send/recv packets
* rfnoc: Refactored CHDR packet interfacesAshish Chaudhari2019-11-261-0/+2
| | | | | | | - Moved packet interface code from public to private include - Split packet interface into two files: payload paring and packet iface - Added support for all CHDR packet types - Added more test cases to unit test
* rfnoc: Add property propagation, Boost.Graph storageMartin Braun2019-11-261-0/+1
| | | | | | | | | | | | - Adds a detail::graph_t class, which handles the propagation - Adds methods to node_t to aid with propagation - Adds unit tests - Adds dynamic property forwarding: Nodes are now able to forward properties they don't know about by providing a forwarding policy. A good example is the FIFO block which simply forwards most properties verbatim. - node: Temporarily disabling consistency check at init
* rfnoc: Add detail::block_container_t classMartin Braun2019-11-261-0/+1
| | | | | This is a storage for the noc_block_base derivatives. It supports finding blocks.
* rfnoc: Add noc_block_base classMartin Braun2019-11-261-0/+1
| | | | This is a parent class for all block controllers.
* rfnoc: Add properties, nodes, and accessorsMartin Braun2019-11-261-0/+1
| | | | | | | | | | | | | | Adds the following classes: - uhd::rfnoc::node_t, the base class for RFNoC nodes - uhd::rfnoc::node_accessor_t, a class to access private properties - uhd::rfnoc::res_source_info, a struct that identifies where properties come from - uhd::rfnoc::property_t, and property_base_t (its parent) - uhd::rfnoc::prop_accessor_t, a class to access properties Add always dirty property (dirtifier). Also adds unit tests for properties.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-081-1/+1
| | | | Updating all SPDX license identifiers to include "-or-later"
* uhd: rfnoc: add async message handlerTrung Tran2018-09-141-0/+1
|
* RFNoC: Add Replay API and exampleWade Fife2018-08-291-0/+1
|
* RFNoC: Add FIR, Null, and Window block controllersMartin Braun2018-06-221-0/+4
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-2/+0
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* uhd: Update license headersMartin Braun2018-02-191-0/+1
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* Move all license headers to SPDX format.Martin Braun2017-12-221-12/+1
|