aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mpmd: Release resources on destructionVirendra Kakade2019-05-212-4/+6
| | | | | This will clear the property tree, block registry, transport managers, and motherboard list on destruction of mpmd_impl.
* liberio: Release context holder on destruction of last liberio xportSugandha Gupta2019-05-211-3/+24
| | | | | | This will make sure that the context holder for the liberio context is destroyed when the last liberio transport is destroyed, and not on termination of the program.
* mpmd: Fix spurious reclaim call after unclaimVirendra Kakade2019-05-211-3/+6
| | | | | | | | | The reclaim task loop is asnychronous to the main thread which can result in spurious reclaim call to the device after unclaim has been called. This is especially risky if the device has already entered a non-serviceable state after unclaim e.g. idle state. Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* device3: Constraint send/recv_frame_size based on down/upstream MTUSugandha Gupta2019-05-2113-6/+132
| | | | | | We need to properly contraint the send/recv_frame_size based on the minimum MTU of all the down/upstream blocks. This fixes the issue with E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
* ad9361: Fix return values for tune and set_clock_rateSugandha Gupta2019-05-212-3/+11
| | | | | | This fixes a potential mismatch between the returned frequency and clock rate and the actual value. The new function get_clock_rate is need for async call to set_clock_rate in E3xx devices
* utils: Add X300/X310 reset programNick Foster2019-05-211-0/+109
|
* docs: Improved Windows-related build instructionsAbdo-Gaber2019-05-211-13/+65
| | | | | | | | | | | - In general, some comments to clarify the dependencies installation and building process for windows users. - Add a comment to the required packages for MSCV. - Provide instructions to install Python requirements. - Add the instructions of NSIS installation. - Add comments to the version match between different installers. - Clarify the instructions of building process using Cmake - Add a subsection to show how a binary UHD installer can be obtained. - Correct the URL of Doxygen.
* log: fix deadlock issue on Windows machinesAbdo-Gaber2019-05-211-3/+32
| | | | | | | In log.cpp, a deadlock can occur while popping elements from the log queue. If the queue is empty, the call does not timeout, and waits infinitely. Replacing pop_with_wait() with pop_with_timed_wait() solves this issue.
* b200: update firmware manifestMark Meserve2019-05-212-2/+3
|
* b200: enable usage of custom bootloaderMark Meserve2019-05-214-102/+403
| | | | | - Update MB EEPROM - Add bootloader load command to fx3 util
* b200: add custom bootloaderMark Meserve2019-05-2123-639/+2065
| | | | | - Adds custom bootloader code - Refactor common functions in firmware and bootloader
* docs: Add mention of DPDK support to X3x0Alex Williams2019-05-212-1/+9
|
* uhdlib: Add dpdk_zero_copy.hppAlex Williams2019-05-216-5/+5
| | | | | dpdk_zero_copy.hpp was referenced in multiple places using relative paths. Let's throw it in uhdlib for easy access.
* x300: Add support for DPDK transportsAlex Williams2019-05-213-7/+166
| | | | | Use dpdk_simple together with a control transport factory. Where udp_zero_copy is used, use dpdk_zero_copy if use_dpdk=1.
* transport: Make dpdk_simple subclass udp_simpleAlex Williams2019-05-212-85/+77
| | | | With the same APIs, this will make it easier to add support for X310.
* X300: add capability to flash NI-2974 FPGAThomas Vogel2019-05-211-2/+7
| | | | | | The NI-2974 has a X310 inside but reports a different "product" when polled. This prevents the image_loader from flashing a new FPGA image, this patch enables this.
* uhd-dpdk: Wait for links to come up before poking MPMAlex Williams2019-05-211-4/+12
| | | | | | | | | | Occasionally, MPM would check its links before the kernel would report link up, and it would then shave those ports off the CHDR link list prematurely. This commit adds a second of wait to allow the kernel time to respond. It also includes some additional reporting of link status, since Intel PMDs may report a misleading initial state upon bring-up.
* gpsd: fix API for 'gps_read'Michael Dickens2019-05-211-0/+4
|
* 3.14.0.0 ReleaseMichael West2019-03-252-139/+162
|
* Revert "RFNoC: Remove incorrect flush"Michael West2019-03-251-0/+19
| | | | | | This reverts commit c8e01d4bd5bef30ef6e6080c60bc8b4706eb1200. The commit introduced random phase offsets for TwinRX phase alignment.
* Revert b993f4f0d85eee53c1256e0381c3a173af7d5833Michael West2019-03-254-14/+10
| | | | | | Revert "cores: Update rx_frontend_gen3.v controls for 1/4-rate mixer" Commit introduced 180 degree ambiguity in TwinRX phase alignment.
* TwinRX: Fix duplicate write to N value in DDCmichael-west2019-03-251-2/+1
| | | | | | | The N value was getting written twice and the second value being written was 1, which works for all use cases except when using TwinRX. This change fixes several issues with TwinRX including streaming failing to stop cleanly and incorrect decimation.
* docs: Fix typo for dpdk-num-mbufs and add config file locationAlex Williams2019-03-201-3/+7
|
* Prepare branch for 3.14.0.0 release candidate 3Michael West2019-03-062-12/+12
| | | | | | | - Update fpga-src submodule - Update manifest Signed-off-by: Michael West <michael.west@ettus.com>
* RFNoC: Remove incorrect flushMichael West2019-03-051-19/+0
| | | | | | | | | | | | Removing the flush in configure_flow_control_out(). The flush is done incorrectly because it just disables flow control and allows packets to dump onto the crossbar, which could lock it up. It is also incorrect to flush when connecting blocks. A connect should just configure the SID and flow control and let any existing data flow to the newly connected block. Flushing of a block should only be done during creation or destruction of the block. Signed-off-by: Michael West <michael.west@ettus.com>
* Revert "RFNoC: Fix flush in source_block_ctrl_base"Michael West2019-03-052-4/+21
| | | | | | This reverts commit 655b9b0f8e8f8556d434404da51aaccd124bbc3a. Signed-off-by: Michael West <michael.west@ettus.com>
* x300: Change PLL CP currents in x300_clock_ctrlmguyler-ni2019-03-051-8/+8
| | | | | - modify PLL charge pump values to improve phase coherence - affects reference clocks of 11.52 MHz, 23.04 MHz, and 30.72 MHz
* x300: device args: Removed invalid 200 MHz sysref rateMartin Braun2019-03-051-1/+1
|
* docs: x300: Add notes on external reference frequenciesMartin Braun2019-03-052-2/+12
|
* x300: Catch more inconsistencies in x300_device_argsMartin Braun2019-03-052-3/+24
| | | | | | - ADC self test had magic numbers for default duration - resource and addr can be no longer be both specified without a warning - second_addr requires addr now, or you get a warning
* x300: Enable x300_device_args.to_string()Martin Braun2019-03-051-2/+31
| | | | | Before, it was only returning the master clock rate. Note: This function is never used in UHD, this is merely for completion's sake.
* x300: Enable 11.52 MHz and 23.04 MHz system ref ratesMartin Braun2019-03-051-1/+2
| | | | | | | | The addition of the constrained device args didn't account for those rates, and thus, they were effectively unusuable ever since. This adds those rates back as valid system ref rates. This does not touch the actual clocking code in any way, x300_clock_control has supported those rates for a while now.
* lib: Fix various type-conversion compiler warningsMartin Braun2019-03-055-7/+9
| | | | | This makes more type-conversions explicit, to reduce the number of warnings specifically for MSVC.
* include: max287x: Fix conversion warningMartin Braun2019-03-051-1/+1
|
* types: sid: Remove duplicate operator=()Martin Braun2019-03-052-6/+3
| | | | | This fixes a warning about multiple operators. Doesn't change any functionality.
* doc: n3xx: fixed typo in image name (SD card build)Jörg Hofrichter2019-03-051-1/+1
| | | | | Image name to be provided to bitbake command are named 'developer-image' and 'deployment-image' i.e. with dash, not with underscore
* transport: udp: Fix buffer size warningLars Amsel2019-03-051-2/+2
| | | | | | When using a buffer size smaller than recommended, a warning would be printed with the wrong value (it would print the default value, not the actual value).
* python: cmake: Use native format for setup.pyTrung Tran2019-03-052-2/+3
| | | | | | | setuptools isn't compatible with Unix style path on Windows 10 machines. We need to convert any path before running setuptools. Signed-off-by: Trung Tran <trung.tran@ettus.com>
* lib: cmake: Fix MSVC options (add /bigobj)Trung Tran2019-03-051-1/+1
| | | | | | | | | MP and bigobj should be at compile options level instead of compile_flags(which are at target properties level). We have been setting these options incorrectly. They are currently not applied to any project. Signed-off-by: Trung Tran <trung.tran@ettus.com>
* rh: Fix typo in setting up RX frontendAlex Williams2019-02-271-1/+1
| | | | | | The function for setting up the RX frontend was erroneously looking at previous TX settings to determine whether to submit a command. This fixes the issue.
* node_ctrl_base: add check valid num_input_portsTrung Tran2019-02-221-2/+3
| | | | | | | | | | | | A node is not a block, it doesn't use any block definition to populate the number of input and output ports. This is equivalent to it have undefined number of input and output ports. The _find_child_node function relies on node input and output port size. When port size is not defined we should not follow the active channel; instead, we need to greedily to find all child node. Without this change graph_search_test will fail. Signed-off-by: Trung Tran<trung.tran@ettus.com>
* nirio: Demote rpc client start/stop log messages to DEBUGMartin Braun2019-02-221-2/+2
|
* mpm: rpc_server: Improve error message on double-claimMartin Braun2019-02-221-2/+5
| | | | | The error message will now include the IP address of the client trying to double-claim a device.
* mpm: rhodium: Fix clock value log formattingMartin Braun2019-02-221-2/+3
| | | | | Before, the log messages would occasionally print 6 digits worth of precision for sample clock values that only require 2.
* mpmd: Fix typecast warning in property tree default settingsMartin Braun2019-02-221-1/+1
|
* mpmd: Allow reclaim failures on component updatesMartin Braun2019-02-223-14/+67
| | | | | | | | | | | | MPM has a flag that identifies component reloads as requiring to restart the RPC server. This change honours that flag, and doesn't cause a fatal failure when reclaims fail to ack for certain operations. For example, running uhd_image_loader on an N310 could fail after the FPGA was reloaded because the communication to the RPC server was temporarily interrupted. This is not always avoidable, since the RPC server does actually go down, and Ethernet connections might also be lost. So, we cut our losses and accept failures in that case.
* rh: revise correction data usageMark Meserve2019-02-223-11/+19
| | | | | | | | | | - UHD's calibration utilities use the LO frequency, so this is the frequency we should be using too. - Disables loaded corrections in lowband, as the utilities will not generate valid corrections at these frequencies. Manual corrections can still be added via the property tree. - Changed corrections logging to include frequency and less certainty of the correction file's existence.
* rh: reset rx iq balance on initMark Meserve2019-02-221-0/+1
| | | | | - Fixes a bug where a previous setting could carry over between sessions.
* uhd: set tx gain to max for rx iq calMark Meserve2019-02-221-2/+7
| | | | | | - The other cal utilities (TX IQ and TX DC) already do this. - This fixes calibration for certain frequencies on N320/N321. - Old calibration data is still valid after this change.
* mpm: rhodium: Fix typo in log messageMartin Braun2019-02-221-1/+1
|