aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mpm: e320/e31x: Fix lo-lock sensorsMartin Braun2022-01-102-16/+39
| | | | | | | | | | | | | The LO-locked sensors on these devices were getting routed to the MPM API call get_lo_lock_sensor(), which takes a 'which' argument (rx or tx). However, UHD wants to pass a 'chan' argument (0 or 1). The way the code was structured, it would always return 'False' (LO not locked) when the argument was neither 'rx' or 'tx'. The solution is to add get_rx_lo_lock_sensor() and get_tx_lo_lock_sensor(), which generate the appropriate 'which' argument, but discard the 'chan' argument (there is only one LO per Tx and Rx, respectively).
* e31x/e320: Amend LO-locked sensor namesMartin Braun2022-01-103-20/+37
| | | | | | | | | In UHD 3, we had two sensors names for LO lock on these devices: lo_lock, and lo_locked. The latter is the more standard, and is checked in examples like rx_samples_to_file. In UHD 4, the latter was removed without comment. This adds the sensor back again and also updates the documentation accordingly.
* host: multi_usrp: Merge set_tx_subdev_spec and set_rx_subdev_specLane Kolbly2022-01-101-99/+67
| | | | | This change simply refactors these methods so that the core of the algorithm is no longer duplicated between them.
* rfnoc: ddc/duc: Improve variable name for _set_freq()Martin Braun2022-01-072-4/+4
| | | | | | | | As Github user johnwstanford points out, the DUC calls the argument 'input_rate', which is wrong (and was copy/pasted from the DDC code). By calling it dds_rate in both cases, we avoid such confusion. This commit only renames a variable. No changes whatsoever.
* lib: SSPH: Fix comment for convert_to_in_buff()Martin Braun2022-01-071-2/+1
| | | | | | | As Github user dylan-baros points out, the comment is copy/pasted from the SRPH. Only comment changes here.
* rfnoc: radio: Fix comment in radio_control_implMartin Braun2022-01-071-1/+1
| | | | | As Github user johnwstanford kindly points out, the comment was incorrect.
* cmake: Set debug to -Og for Clang buildsSteven Koo2022-01-061-0/+1
| | | | | | This fails to link otherwise on macOS Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: refactor dockerOSName to buildOSNameSteven Koo2022-01-063-16/+16
| | | | | | dockerOSName is misleading because it could be in a bare metal context Signed-off-by: Steven Koo <steven.koo@ni.com>
* ci: build on macOSSteven Koo2022-01-065-7/+69
| | | | | | This adds macOS build support using homebrew Signed-off-by: Steven Koo <steven.koo@ni.com>
* host: Add divider constructor to spi_config_tLane Kolbly2022-01-062-0/+16
|
* host: rf_control: Add internal antenna API abstraction.Lane Kolbly2022-01-056-49/+203
|
* host: tests: Add unit test for ZBX antenna APILane Kolbly2022-01-051-0/+20
|
* host: Make core_iface inheritence virtualLane Kolbly2022-01-051-1/+1
|
* host: Implement operator<< for data_reader_tLane Kolbly2022-01-051-0/+7
|
* lib: Remove superfluous includes of udp_zero_copy.hppMartin Braun2022-01-052-2/+0
|
* uhd: Remove tcp_zero_copyMartin Braun2022-01-054-295/+0
| | | | | This removes the tcp_zero_copy interface, which is not supported by any USRP.
* host: docs: Fix incorrect usage in GPIO docsLane Kolbly2022-01-051-4/+4
|
* host: Add char* overload for device_addr_tLane Kolbly2022-01-053-6/+12
| | | | | | | This allows constructing a multi_usrp using a string constant: ``` auto usrp = uhd::usrp::multi_usrp::make("type=x4xx"); ```
* docs: Fix page on GPIOMartin Braun2022-01-052-52/+21
| | | | | | | | | - Referred to E310 as E3x0, but that's wrong. E320 has a different GPIO bank naming scheme. - Fails to mention N3x0. This change makes the page mostly device-agnostic (X410 GPIO control is still elsewhere). - The first example had a typo (wrong pin was selected in ATR example). - The second example added nothing, and was removed for clarity.
* images: Clear out code from days of yoreMartin Braun2021-12-174-418/+17
| | | | | | | | | The images/ subdir is used to create images packages for release tags. However, it contained a lot of code from many releases ago, prior to the usage of the cache/ directory. This simply removes all the old code that is no longer required for creating release packages.
* dpdk: correct MTU warning messageAndrew Lynch2021-12-171-1/+1
|
* rfnoc: graph: make topology failure more descriptivemattprost2021-12-171-4/+41
| | | | | | | | Clarify that invalid RFNoC graph topology failures are due to an attempt to access input or output ports that are not connected to anything in the FPGA. Signed-off-by: mattprost <matt.prost@ni.com>
* dpdk: support new MTU discoveryAndrew Lynch2021-12-171-4/+4
|
* images: Add the utilization report for X410 images (X4_200)Martin Braun2021-12-171-1/+3
|
* uhd: nsis: Remove broken shortcuts in Windows installerAaron Rossetto2021-12-161-4/+0
| | | | | | | | The Windows UHD installer binary, generated by e.g. running the PACKAGE project in the Visual Studio solution generated by CMake, creates two shortcuts to utilities that are no longer included with the installer: the USRP2 card burner and USRP-N2xx net burner. This commit removes these defunct shortcuts.
* tools: Add check for SEP with ctrl enabled to rfnoc_image_builderLars Amsel2021-12-161-0/+13
| | | | | | | | | When creating RFNoC images at least one SEP needs to have ctrl enabled otherwise one will end up with a non-functional image. This commit adds a method to the image builder to do plausibility checks on the configuration. The only check done for now is to verify that there is at least one SEP with ctrl enabled.
* docs: Fix MathJax formulae renderingAaron Rossetto2021-12-161-1/+1
| | | | | | | | | | When a webpage is accessed via secure HTTP, and that webpage attempts to address active content via a non-secure URI, most modern browsers will block the loading of that content as a security precaution. In this case, the URI to the MathJax JavaScript rendering library was specified in the Doxygen configuration with an HTTP (i.e., non-encrypted) URI, thus preventing the browser from loading it and rendering formulae correctly.
* uhd: Fix RFNoC-capable detection in uhd_usrp_probeMartin Braun2021-12-161-1/+1
| | | | | For RFNoC devices, it now displays "RFNoC capable: Yes", like it did in UHD 3.
* rfnoc: Fix block_id::get_tree_root()Martin Braun2021-12-162-1/+3
| | | | | The path it returned was only valid in UHD 3. Added unit test to confirm.
* docs: Amend page on RFNoC propertiesMartin Braun2021-12-161-2/+12
| | | | Add an additional paragraph on back-edges, and when *not* to declare them.
* examples: Fix tx_bursts bandwidth/freq/gain reportingMartin Braun2021-12-161-11/+9
| | | | | | | | | | | | | This example would not specify a channel when querying the actual frequency/bandwidth/gain after setting it. When using the --channels options like this: tx_bursts --channels 1 --freq 1e9 [...] ...it would request the frequency of 1 GHz on channel 1, then query the frequency on channel 0 when reporting the "actual" frequency. Also removes some boost::format().
* fpga: x300: Fix time register readbackWade Fife2021-12-151-2/+2
|
* docs: remove bmaptool instructions for writing filesystemsMatthew Crymble2021-12-141-3/+3
| | | | | | Due to a change in Mender, bmaptool is no longer supported for writing filesystem images. Currently, the only recommended method for writing a filesystem to an SD card is to use dd. The filesystem can still be updated in place using mender.
* host: Make radio_control constants an enumLane Kolbly2021-12-102-108/+82
| | | | | | | In C++, variables whose address are taken must be defined somewhere. PERIPH_BASE had no such definition, so on some compilers/systems caused a linker error. This commit switches to using enums to prevent this happening again in the future.
* tests: Add replay-back-edge testMartin Braun2021-12-091-0/+44
| | | | | | | | | This tests the following graph: DDC -> Replay -> DDC, where the initial and final blocks are the same (i.e., a loop). This could be useful for generating and capturing data with the same replay block while testing a block. Note that this test will fail if the edge consistency checks are buggy.
* rfnoc: Fix back-edge consistency checkMartin Braun2021-12-091-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On back-edges, no properties are forwarded, but properties must be consistent after property resolution. This breaks when the source edge on a back-edge has an edge property which the destination block does not. Consider the following graph: DDC -> Replay -> DDC where both instances of 'DDC' refer to the same block. Now, assume the first edge is declared a back edge (in principle, it shouldn't matter). The DDC block has an edge property `samp_rate` which the Replay block does not. Therefore, it can't forward this edge property to the Replay block's input edge property list. In the consistency check code, we don't check for the existence of edge nodes, because it is assumed edge properties where either forwarded, or aligned through some other manner. This leads to a property lookup failure. With this fix, we skip the consistency check for edge properties which don't exist on the destination node. This is safe because the destination block can not have a property resolver defined for undefined properties. This means the destination block can either: - Drop the property. In this case, there is no value in checking consistency. Even if we could forward edge properties on back-edges, they would always have the same value. - Forward the property. In that case, the consistency check would happen elsewhere in the graph where there's no back-edge.
* mpm: x4xx: Add log message for older DIO boardsMartin Braun2021-12-091-1/+2
| | | | | | Older DIO boards don't support all the features of newer ones, but from the log messages, it's not clear what revision the board has. We add a log statement to clarify.
* mpm: x4xx: Move DioControl into its own moduleMartin Braun2021-12-094-882/+914
| | | | | | | | | No functional changes whatsoever, only: - Move DioControl to its own module (x4xx_dio_control.py) - Where PyLint was complaining about whitespace issues, fix those - Fix import list in x4xx_periphs.py after removing DioControl - Fix import list in x4xx.py to import DioControl from the correct location
* host: Fix typos and small thingsLane Kolbly2021-12-093-2/+6
|
* e3xx: Remove unused constantMartin Braun2021-12-091-2/+0
|
* tools: Add missing fields to CHDR dissectorWade Fife2021-12-082-89/+208
| | | | | | | | | | | | - Add data packet payload field - Add metadata support - Add missing management fields (OpsPending, ExtendedInfo). - Add missing control fields (byte_enable, data, has_time) - Update offsets for management OpPayload fields. - Make the field names more consistent, readable, and consistent with the RFNoC specification. - Display value of fields in addition to name. - Fix timestamp, eob, and eov offsets
* rfnoc: Add ops pending to management opWade Fife2021-12-082-3/+12
| | | | | | The ops pending for each operation was stored implicitly in the data structure. This adds it explicitly, which is useful for debugging and packet dissection.
* cmake: tests: Conditionally compile tests for X400Martin Braun2021-12-081-30/+32
| | | | | When using ENABLE_X400=OFF, we should also disable the corresponding tests, or we get linker errors.
* fpga: usrp2: update build tools to use python3Matthew Crymble2021-12-082-6/+6
|
* fpga: tools: Update Vivado scripts to use python3Wade Fife2021-12-081-4/+4
|
* docs: Remove obsolete man pagesMartin Braun2021-12-083-112/+0
| | | | | | The man pages for usrp_x3xx_fpga_burner and octoclock_firmware_burner are obsolete; the corresponding utilities were replaced by uhd_image_loader many UHD versions ago.
* github: Amend PR template with a checkbox for compat numbersMartin Braun2021-12-081-0/+2
|
* rfnoc: Fix noc_shell direction commentsWade Fife2021-12-0821-86/+91
| | | | | | Some comments describing data flow direction were wrong. This commit updates the Mako files and updates the noc_shell modules with newly generated versions.
* fpga: x300: OR ATR signals going into db_controlMartin Braun2021-12-071-1/+10
| | | | | | | | | | | Before this change, only the channel 0 ATR state was sent to the db_control module. For TwinRX, this had the disadvantage that when only Channel 1 was used, the FP- and LED-GPIOs could not track the radio's ATR state (e.g., no LED would light up in this case). Note that unlike UHD 3, there is only one db_control module per slot. There are therefore no options to map GPIOs to track the ATR state of an individual channel.
* tests: Remove non-functional DPDK testAndrew Lynch2021-12-061-97/+2
|