aboutsummaryrefslogtreecommitdiffstats
path: root/host (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rfnoc: image builder: Add make jobs optionWade Fife2024-03-152-0/+9
|
* rfnoc: image builder: Add option to build IP onlyWade Fife2024-03-152-0/+9
|
* rfnoc: image builder: Add project save option to image builderWade Fife2024-03-152-0/+9
|
* rfnoc: image builder: Allow additional properties in schemaFrancisco Salomon2024-03-121-1/+1
|
* doc: Improve wording for streamersMartin Anderseck2024-03-061-4/+12
| | | | | | | The documentation for the streamers was misleading as it said that there can only be one TX streamer and one RX streamer while you can have many of them as long as they don't try to share their channels. This commit makes this clearer.
* examples: fix rx_samples_to_file fail for multichannel fullpathahmed.salman2024-03-061-4/+15
| | | | | | | | | | | | Fix for the issue where the example rx_samples_to_file fails in the case when samples from multiple channels are to be taken and a full path is given for the data files to be stored. The example source code used to put a channel number in front of the filename which caused the code to not be able to find the path. Now the channel number is added at the end of the filename and before the extension if it exists in the file argument given by the user.
* host: add ability to query dot representation of graphLars Amsel2024-03-055-0/+79
| | | | | | | | | | | | Current implementation only support dot representation of the graph topology. This adds the ability to also query the current graph layout. The method prints out connected blocks (including streamers) and their port to port connections. The graph has to be commited before calling to_dot. Update host/lib/rfnoc/graph.cpp Co-authored-by: Martin Braun <martin.braun@ettus.com>
* host: cmake: Verify find_libraryLars Amsel2024-02-291-0/+1
| | | | | | If we do a find_library on UHD we have to verify that this call was successful and fail fatal if it wasn't. Otherwise subsequent steps in the cmake will fail with incomprehensible error messages.
* doc: x440: Update stream.dox with X440 streaming capabilitySHoenerNI2024-02-291-1/+1
|
* examples: Add Python support to rfnoc-exampleMartin Braun2024-02-289-10/+710
| | | | | | - Generate Pybind11 bindings for the C++ code - Generate a Python module (rfnoc_example) that can be imported and used - Add an example to show how the gain block affects dBFS readings
* python: Make block_controller_factory_python.hpp publicMartin Braun2024-02-2816-19/+18
| | | | | This moves said file into include/, making it available for OOT block authors.
* examples: Amend rx_to_file.py to use DramReceiverMartin Anderseck2024-02-271-4/+67
| | | | | | When calling rx_to_file.py with the --dram option, it will internally use DramReceiver and buffer the signal into the DRAM before transferring it to the host.
* python: Add DramReceiver classMartin Anderseck2024-02-271-45/+429
| | | | | This class is a utility to more easily using an available replay block as a receiver
* cmake: Change ENABLE_PYMOD_UTILS default to ONMartin Anderseck2024-02-261-1/+1
| | | | | | | | | While 'Python Module (Utils only)' is a subset only of the Python API 'uhd' module for conveniently installing some Python utils only, to the user it may look like they are missing something if the output of cmake states that 'Python Module (Utils only)' is not in the enabled components list by default. This commit changes the default from OFF to ON.
* uhd: Demote safe call logging to warningMartin Braun2024-02-251-3/+3
| | | | | | | | | | | | | | | When catching an exception in UHD_SAFE_CALL(), a log message is emitted. This patch changes the log level from ERROR to WARNING. The rationale is that when we are using UHD_SAFE_CALL, we must have already made the decision that an exception is not fatal. Note that UHD_SAFE_CALL() is most commonly used in destructors, where throwing exceptions will cause crashes when the stack is already being unrolled due to a previous exception, and therefore usage of UHD_SAFE_CALL() is mandatory. However, even in those cases, logging a WARNING rather than an ERROR is the better default. If an exception is throw during a destructor that must truly be handled differently, more sophisticated measures must be taken than using UHD_SAFE_CALL().
* fpga: Update tooling to use image builder instead of makeMartin Braun2024-02-251-11/+14
| | | | | | | This modifies repeat_fpga_build.py such that it can take a YAML file as input, not just a make target. It will then use the image builder to prepare the build and generate a valid make command, which in turn is used to build FPGA images repeatedly.
* python: Explicitly list .mako files as part of Python packageMartin Braun2024-02-251-2/+6
|
* n3xx: Add comments on clock_source=external,time_source=gpsdoDavid Raeman2024-02-212-1/+24
| | | | | | | | | | | | | | | It is, in principle, possible to use an external clock to synchronize N3x0 devices in frequency, and then use a GPSDO for a coarse time synchronization. This use case is deliberately not supported, as the GPSDO PPS signal and the external clock signal are by definition not matched, which will remove any guarantees on time/phase alignment. Because there are certain, niche use cases where the lack of phase alignment is acceptable, but only an external clock is available (no shared external PPS), usage of GPS for generating a PPS signal may be fine. This patch does not enable the usage of this combination out of the box, but adds comments and an update to the manual to explain the risks of this combination, and how to enable it (by patching MPM).
* multi_usrp: Fix setters for ALL_CHANSMartin Anderseck2024-02-201-29/+24
| | | | | | Some setters in multi_usrp can take ALL_CHANS as channel parameter, however there were differences between multi_usrp_rfnoc and multi_usrp. This commit fixes this for set_trx_gain().
* cmake: Add ENABLE_PYMOD_UTILS option, fix venvMartin Braun2024-02-194-165/+252
| | | | | | | | | | | | | | | This options allows to install Python utils, including a subset of the Python API 'uhd' module, without having to compile UHD. The main reason to do this is to allow installing the RFNoC image builder without the rest of UHD. To achieve this, run cmake as such: cmake /path/to/uhd -DENABLE_LIBUHD=OFF -DENABLE_PYMOD_UTILS=ON You might also want to disable building the manual in this case. The refactoring required to enable this also fixes an issues when installing UHD from source into a venv. This updates the CMake to use pip3 to install the module, fixing some warnings and install issues.
* docs: Update build infoMartin Braun2024-02-141-2/+20
| | | | | | - Add section on Pybind11 - Fix a missing hard-coded version number for Python - Note that Mako is used for runtime, too (image builder)
* cmake: Update UHDPython.cmakeMartin Braun2024-02-144-15/+26
| | | | | | | - Use find_package(pybind11) to find a system-wide Pybind11. This will take preference over the vendored version of Pybind11, unless requested otherwise. - Fix a typo.
* uhd: Bump minimum Python version to 3.7Martin Braun2024-02-101-1/+1
|
* dpdk: fix build with new DPDK 23.11Christian Ehrhardt2024-02-011-0/+4
| | | | | | | | | | Since 23.03 rte_thread_setname was deprecated and in 23.11 it is gone. Adapt to the new name `rte_thread_set_name` See [1] for more. [1]: https://doc.dpdk.org/guides/rel_notes/release_23_11.html Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
* ci: add x440 streaming stepGrant Meyerhoff2024-01-316-4/+413
|
* ci: refactor streaming stepsGrant Meyerhoff2024-01-313-41/+52
| | | | This change removes several hardcoded values from the code and separates x410 from x4xx as dut type
* x3xx: Adding a comment that the DAC runs with an interpolation factor of 4Volkan Öz2024-01-311-0/+2
|
* python: Add version API callsMartin Braun2024-01-303-1/+25
| | | | | | | New API calls in UHD Python API: - get_version_string() - get_abi_string() - get_component()
* python: Fix setting start_time having no effectzolveuran2024-01-251-0/+1
| | | | | | In the Python MultiUSRP class, has_time_spec and stream_now were not being properly set, basically making send_waveform() unable to use timed streams.
* doc: Add X440 details to documentationMartin Anderseck2024-01-162-0/+32
| | | | | | | | This adds -a remark about dual-rate and phase coherence -a note about the TX transmitting the converter rate as soon as ADCs/DACs are turned on to the user manual.
* doc: Fix documentation formatMartin Anderseck2024-01-161-33/+37
| | | | | | This fixes the documentation format for noc_block_base.hpp where some sentences were cut off in the HTML output at the line break of the source file.
* utils: uhd_images_downloader: Direct users to use the mailing listAki Tomita2024-01-091-4/+3
|
* cpack: Update the package contact emailAki Tomita2024-01-091-1/+1
|
* examples: Fixed bugs observing cmd argument -c in remote_rx.py exampleMarian Koop2024-01-031-32/+43
| | | | | | | | | | | | Fixed bug that used hardcoded channel variable to configure device (rate, freq, gain), but channel list from argument during streaming configuration. Fixed bug when specifying multiple channels with duration argument that resulted into python syntax error. Changed multi channel behavior to use unique streamer per channel, which now requires specifying dest-port per channel. This approach ensures receiver implementation can associate data with a usrp channel.
* examples: Improve tx examples and fix some issuesJoel Keeling2023-12-042-55/+119
| | | | | | | | | | | | | - tx_waveforms fixes: - Fixed power bug. Changed loop style to 'for each' in order to avoid this issue in the future - tx_samples_from_file: - Fixed bug where channels 1 and higher could not be configured correctly. - Added the 'power' argument. - Added support for multiple channels. - Re-added 'channel' argument for backwards compatibility. - Added additional error checking. - Changed help descriptions to match other example apps.
* lib: Fix issue with undefined HOME or XDG_CONFIG_HOMEMartin Braun2023-12-042-19/+13
| | | | | | | | | | The path-search algorithms of UHD were incorrectly assuming the presence of either a XDG_CONFIG_HOME or HOME, as well as XDG_CONFIG_DATA environment variables. This fixes the issue: If no such variables exist (e.g., because UHD is being run as part of a system process, where no user is defined) then it simply ignores them.
* multi_usrp: Improve dual-rate behaviorMartin Anderseck2023-12-011-11/+38
| | | | | | | | | | When using multi_usrp with dual rate, the behavior of get_master_clock_rate() is not well defined as we cannot pass a radio or channel index. Before this change we used to return the MCR of radio1 which probably is least intuitive. Since the list of channels was stored in an unordered map, the behavior could change in other setups. This change fixes this behavior and multi_usrp will now always return the master_clock_rate and master_clock_rate_range of radio0.
* image builder: Remove superfluous entries from block YAMLsMartin Braun2023-11-3019-82/+0
|
* doc: x440: Fix error in master clock table for 1000MHz mcr.mkoop2023-11-171-1/+1
|
* docs: Correct typo for X3x0 reference clock powerAki Tomita2023-11-171-1/+1
|
* docs: fix yml formatting for rtdAki Tomita2023-11-161-1/+1
|
* 4.6.0.0 Releasev4.6.0.0Aki Tomita2023-11-131-1/+3
|
* docs: fixing the readthedocs buildsAki Tomita2023-11-101-0/+2
|
* doc: Add dual-rate documentationMartin Anderseck2023-11-101-9/+76
| | | | This adds the documentation for the dual-rate feature.
* doc: x440: Highlight new X440 features and replay block behavior changesmkoop2023-11-091-6/+9
|
* Update to changelogsv4.6.0.0-rc2Aki Tomita2023-11-061-2/+6
|
* fixup! examples: L band capture example using dual rateVirendra Kakade2023-11-021-10/+10
|
* tests: Add tests for module_serial fieldmichael-west2023-11-011-10/+16
| | | | | | | Added test to verify existence of the module_serial field and value to multi_usrp_test. Signed-off-by: michael-west <michael.west@ettus.com>
* multi_usrp: Added module_serial to infomichael-west2023-11-012-0/+8
| | | | | | | | Added 'module_serial' field to retured value of multi_usrp::get_usrp_rx_info() and multi_usrp::get_usrp_tx_info() API calls that provides the module serial number. Signed-off-by: michael-west <michael.west@ettus.com>
* cmake: Fix make_x410 and make_x440 targetsmichael-west2023-11-011-1/+2
| | | | | | | | Only the make_x4xx target existed and did not actually run any tests. Added correct mapping for make_x410 and make_x440 devtest targets. Removed make_x4xx target. Signed-off-by: michael-west <michael.west@ettus.com>