aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/rfnoc
Commit message (Collapse)AuthorAgeFilesLines
...
* lib: Purge use of boost::assign, except for uhd::dictMartin Braun2018-05-023-18/+15
| | | | | | | Replaced with initialization lists. Note: uhd::dict does not work with initializer lists without making changes to said data structure. This commit has no functional changes, so keeping the boost::assigns for uhd::dict.
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-302-3/+6
| | | | Replace with std::this_thread::sleep_for().
* fixup! rfnoc: ctrl_iface cleanupmichael-west2018-04-301-4/+0
|
* fixup! rfnoc: ctrl_iface cleanupmichael-west2018-04-301-1/+0
|
* fixup! legacy: fix legacy compat to work with 2TX radio blockmichael-west2018-04-061-23/+9
|
* fixup! rfnoc: Update logging in some blocksTrung N Tran2018-03-301-1/+1
|
* rfnoc: Update logging in some blocksMartin Braun2018-03-305-43/+52
| | | | | | | | | | Updated the following blocks and components: Radio, DmaFIFO, block_ctrl_base and node_ctrl_base, blockdef_xml_impl, device3_impl. No functional changes. - Demoted some log messages - Consistent log style (use unique_id()) - Some adaptation of coding style where close to log statements
* fixup! rfnoc radio: Improve warning for too many samples requestedMartin Braun2018-03-271-1/+2
|
* rfnoc radio: Improve warning for too many samples requestedMartin Braun2018-03-271-1/+11
| | | | | | | | | | When doing a NUM_SAMPS_AND_DONE stream command, there is a limit to the number of samples that can be requested (as of now, there's 28 bits for this counter). When the number was exceeded, the previous error message was not helpful. Note that the DDC block will multiply the number of requested samples by the decimation rate. This means the number of samples requested from the radio is higher than the number of samples requested by the application.
* DDC/DUC: switch CORDIC -> DDS for all relevant variable namesRyan Marlow2018-03-222-22/+16
| | | | - Bump compat number for DDC/DUC to 2.0
* rfnoc: ctrl_iface cleanupMartin Braun2018-03-165-246/+154
| | | | | | | | | | - ctrl_iface is now longer a wb_iface. All it can do now is send command packets, and receive responses to those. - ctrl_iface does not store command time or tick rate - wb_iface_adapter is no longer a set of functors, but a wrapper around ctrl_iface. Command times are stored once, in the block. - DMA FIFO and radio block controllers have an easier time getting access to a timed_wb_iface
* rfnoc/x300: Make sure peek32() and peek64() are called with actual addressesMartin Braun2018-03-162-9/+5
| | | | Before, we were calling peeks with the number of the readback register.
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-1426-800/+19
| | | | | | | | | | | | | | | | 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>
* legacy: fix legacy compat to work with 2TX radio blockTrung N Tran2018-03-131-89/+230
| | | | | | | This change will allow legacy compat connect any in/out ports radios/ddcs/ducs/dmafifo block connect together in a legacy graph: [HOST]=>DFIFO/SFIFO=>DUC=>RADIO=>DDC=>[HOST]
* uhd: Fix some log statementsAndrej Rode2018-03-071-1/+0
| | | | Some log statements were incorrectly using multi-line log statements.
* fixup! rfnoc: Refactor radio_ctrl_impl, remove some BoostAshish Chaudhari2018-02-201-5/+5
|
* uhd: Update license headersMartin Braun2018-02-1945-43/+85
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* rfnoc: Check noc_shell compat number at runtimeMartin Braun2018-02-191-7/+19
|
* ddc: duc: Factor out usage of boost::bind()Martin Braun2018-02-192-32/+54
| | | | Replace with lambdas.
* rfnoc: Factor out ceil_log2() into central locationMartin Braun2018-02-192-13/+7
| | | | - New file: uhdlib/utils/math.hpp
* rfnoc: Factored out FPGA compat checkMartin Braun2018-02-192-89/+89
| | | | | - Applied changes to DUC and DDC blocks - Fixed minor formatting
* rfnoc: Refactor radio_ctrl_impl, remove some BoostMartin Braun2018-02-082-56/+74
| | | | | | - Replaces some very verbose boost::bind() with simpler lambdas - Replaces some boost:tuple with std::tuple - Replaces some Boost locks with std locks
* rfnoc: Add TX bandwidth APIs to radio_ctrlMartin Braun2018-02-082-0/+15
|
* Revert "rfnoc: compat: Disable DMA FIFO if more radios than DMA channels exist"Ashish Chaudhari2018-01-081-31/+1
| | | | This reverts commit c8cdbfc4d4e307017e02dd48c449d3e3f38118af.
* rfnoc: dma_fifo: Minor: Cleaned up log printsAshish Chaudhari2018-01-081-4/+4
|
* rfnoc: Fix named readback of user_reg_read32()Martin Braun2018-01-051-1/+1
| | | | Thanks to github user mdmikh for pointing out problem and fix.
* Move all headers to SPDX format, harmonize license headersMartin Braun2017-12-221-13/+2
|
* rfnoc: compat: Disable DMA FIFO if more radios than DMA channels existMartin Braun2017-12-221-1/+31
|
* legacy_compat: extend radio index and radio slotTrung N Tran2017-12-221-2/+28
| | | | We need more radio index and radio slot for N310.
* legacy_compat: Fix number of TX channels per radio calculation when ↵Michael West2017-12-221-1/+1
| | | | skip_dram is used
* rfnoc: Added anonymous connections capability to graphMartin Braun2017-12-222-0/+87
|
* rfnoc: ddc - Changed M = 2 for eiscat DDCsugandhagupta2017-12-221-1/+9
|
* mpmd: Added preliminary support for passing RPC client to blocksMartin Braun2017-12-221-0/+51
|
* rfnoc: Enabled log messages for graph_implMartin Braun2017-12-221-2/+1
|
* Move all license headers to SPDX format.Martin Braun2017-12-2244-528/+44
|
* rfnoc: ddc: Removed boost::bind usage, other minor cleanupMartin Braun2017-12-201-39/+60
|
* ddc/duc: enhance ddc/duc with new parametersRyan Marlow2017-12-202-40/+113
| | | | | | | | | | | | - NUM_HALFBANDS and CIC_MAX are no longer hard coded and are now readback regs. - both DDC and DUC use same encoding to enable halfbands (increment the number) - removed hacky hack & fixed get_output_rate/get_input_rate to include only valid rates based on NUM_HALFBANDS and CIC_MAX. - added compatibility number readback w/ warning/error messages - Updated images package to include new DDC/DUC (affects X-Series only) - Updated fpga-src submodule pointer
* rfnoc: Added TX LO APIs to radio_ctrlMartin Braun2017-12-062-2/+84
| | | | | | | Also added stubs in the default impl. Reviewed-By: Ashish Chaudhari <ashish@ettus.com> Reviewed-By: Derek Kozel <derek.kozel@ettus.com>
* rfnoc: Fix potential double-overrun handling in rx stream terminatorMartin Braun2017-10-042-0/+9
| | | | | | It's feasible that error messages are sent out during overrun handling, which would cause a nested invocation of handle_overrun(). This adds a lock to prevent that.
* dram_fifo, BIST: BUS_CLK_RATE is now a readback reg.Ryan Marlow2017-09-291-4/+2
|
* rfnoc: Fixed seq # error message in ctrl_ifaceMartin Braun2017-09-281-2/+3
|
* rfnoc: Do not pop a sequence number earlyTom Bereknyei2017-09-281-1/+1
| | | | | | The ctrl_iface class will assume that a response packet is available. There are cases where no response packet is available, in which case sequence numbers should not get popped from the stack prematurely.
* lib: rfnoc: cmake: Fix typo in CMakeLists.txtMoritz Fischer2017-07-271-2/+2
| | | | | | | | The file was missing a .cpp suffix for the dma_fifo_block_ctrl_impl file, somehow CMake was being smart and inferring the filetype. Be explicit. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* rfnoc: Fixed SRAM FIFO indexingMartin Braun2017-06-301-3/+12
| | | | | | | Loopback FIFOs ("SRAM FIFOs") only have a single channel, unlike the DRAM FIFOs (and that's also the reason why we have full bandwdith between all channels using those). We thus need to ensure that every TX stream gets its own SRAM FIFO.
* uhd: Replaced many lexical_cast with appropriate C++11 equivalentsMartin Braun2017-06-294-17/+16
|
* rfnoc: Added some more logging in graph codeMartin Braun2017-06-281-8/+18
|
* rfnoc: Fixed radio compiler warningsMartin Braun2017-06-271-5/+5
|
* Merge branch 'maint'Martin Braun2017-06-271-5/+29
|\
| * X300: Dual channel TX performance improvementsMichael West2017-06-261-4/+28
| |
* | rfnoc radio: Made GPIO functions not pure virtualMartin Braun2017-05-262-0/+28
| | | | | | | | | | Default implementations simply throw an exception. Makes it easier to write new radio controls that do not implement GPIO features.