aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mpm: n320: Properly check for the LO distribution boardMartin Braun2019-02-192-9/+23
| | | | | | | | Without this patch, the N320 code will rely on an error to occur to determine the non-existence of the N321 LO distribution board. While this works, it forces an error message where there's no error. This will first check for the existence of the board before trying to initialize it.
* cmake: remove Boost from dyn libs for tests on AppleMichael Dickens2019-02-191-1/+3
| | | | | | | | | Remove "${prefix}/lib" from the DYLD path for APPLE only. Apple's DYLD uses the paths embedded in the binary file (library or executable) as a secondary means for finding referenced libraries. Explicitly including "${prefix}/lib" can result in libraries being found and used by System frameworks that are not compatible with them. Moving to just using build paths fixes this issue.
* N3xx: Update max rev to 7michael-west2019-02-191-2/+1
| | | | | | | Hardware revision was increased due to new firmware. No software changes are required. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Fix flush in source_block_ctrl_baseMichael West2019-02-182-21/+4
| | | | | | | | | | The configure_flow_control_out function was set to dump any packets onto the crossbar, which could cause issues on the crossbar and in downstream blocks. Replacing wil a call to the _flush() function in the block_ctrl_base parent class, which drops the packets so they do not get put onto the crossbar. Signed-off-by: Michael West <michael.west@ettus.com>
* RFNoC: Disable FC ACK packets for lossless linksMichael West2019-02-187-22/+32
| | | | | | | FC ACK packets are unnecessary on lossless links and degrade overall performance. This change disables those packets on all lossless links. Signed-off-by: Michael West <michael.west@ettus.com>
* docs: Add note on manually disabling NEON extensionsMartin Braun2019-02-181-0/+11
|
* x300: Enable ADC gain through RFNoC APIMartin Braun2019-02-182-29/+83
| | | | | | The RFNoC call set_rx_gain() would previously ignore the additional 6 dB that can be set on the ADC. On the BasicRX board in particular, this meant there was no RX gain setting at all.
* utils: Deny positional options in uhd_image_loaderAlex Williams2019-02-181-1/+3
| | | | | | | This change prevents invalid positional options from being accepted into uhd_image_loader. Previously, if a user forgot to specify the option type, uhd_image_loader would proceed and look like it succeeded, but the intended image may not have been loaded.
* docs: fix broken link in DPDKBrent Stapleton2019-02-121-1/+1
| | | | The link to the MPM page in the DPDK docs was incorrectly named. This change links to the correct page name.
* docs: n3xx: fix Salt formattingBrent Stapleton2019-02-121-1/+2
| | | | Fixes issue where Doxygen doesn't recognize a block within N3XX's Salt subsection as code.
* docs: N3xx page shell formatting and bb imageMarcus Müller2019-02-111-2/+5
|
* mpm: xport: add commit_xport docstringBrent Stapleton2019-02-111-1/+4
|
* lib: fix includes for boost::noncopyableMichael Dickens2019-02-112-0/+7
| | | | | | | - expert_nodes.hpp: fix to work with BOOST_VERSION < 105600, since UHD still supports Boost 1.53.00. - gpio_atr_3000.hpp: requires boost::noncopyable header, so replicate that (now) in export_nodes.hpp.
* fixup! RFNoC: Fix scaling of M and N values in DDC/DUCMark Meserve2019-02-081-1/+1
|
* Docs: Update DPDK dep commandnatetemple2019-02-061-1/+1
|
* images: Update manifest for 3.14.0.0-rc1 imagesmichael-west2019-02-061-6/+6
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* images: Add N320 WX FPGA imagemichael-west2019-02-052-1/+6
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* images: Update manifestmichael-west2019-02-051-5/+6
| | | | | | | - Update n3xx_common_* paths for 3.14.0.0 - Add N320 CPLD Signed-off-by: michael-west <michael.west@ettus.com>
* Preparing branch for 3.14.0.0 Releasemichael-west2019-02-014-15/+203
| | | | | | | - Updated CHANGELOG - Updated fpga-src submodule - Updated version info - Updated manifest
* n3xx: init peripherals before loading FPGATrung Tran2019-02-013-45/+64
| | | | | | | | | Issue: Current code loads FPGA too early while many essential peripherals such as net clocks are not brought up. This change will make sure those are got init before FPGA loaded. Signed-off-by: Trung Tran<trung.tran@ettus.com>
* docs: Document FPGA functional verification test for N320Alex Williams2019-01-311-0/+101
|
* tools: Add FPGA functional verification tests for N32xAlex Williams2019-01-311-0/+167
| | | | | | | This commit adds FPGA functional verification tests for all the N320 images. The tests follow a similar pattern to N310, but one additional category is present for using the DPDK transport. In order to use that test, the use_dpdk and mgmt_addr args must be specified in the options.
* E31x: Destruct RFNoC before loading idle imagemichael-west2019-01-311-0/+2
| | | | | | | Eliminates errors during application shutdown by explicitly destroying RFNoC blocks before loading the idle image. Signed-off-by: michael-west <michael.west@ettus.com>
* E3xx: Increase spp limit for E3xx radiomichael-west2019-01-311-2/+1
| | | | | | | Increase frame size from 364 to 508 samples. Reduces overhead. For some reason yet to be understood, sizes over 508 do not work. Signed-off-by: michael-west <michael.west@ettus.com>
* Device3: Fix flow control window and intervalmichael-west2019-01-312-9/+14
| | | | | | Fixes streaming on E310 after BBFC changes. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Limit number of control packets in flightmichael-west2019-01-313-19/+23
| | | | | | | | Limit number of unacknowledged control packets to the number of receive frames in the transport to prevent the transport from getting locked up or being overrun by ACK packets. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Fix typos in legacy_compatmichael-west2019-01-311-2/+2
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* X300: Fix tick and sample rate settingmichael-west2019-01-312-11/+9
| | | | | | | | | | | | - Removed incorrect function call to set tick rate in x300_radio_ctrl_impl. - Modified legacy compat layer to properly set tick and sample rates. These changes eliminate the tick and sample rate warnings during X300 initialization if TwinRX is used and allow for TwinRX to be used alongside other types of daughterboards in the same X300. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Fix scaling of M and N values in DDC/DUCmichael-west2019-01-312-3/+10
| | | | | | | Scale the M and N values if the tick_rate differs from the sample rate. Fixes timestamps in packets when using TwinRX on X300. Signed-off-by: michael-west <michael.west@ettus.com>
* Device3: Remove redundant function callmichael-west2019-01-311-1/+0
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* fixup! RFNoC: More graph traversal fixesmichael-west2019-01-314-34/+14
|
* RFNoC: More graph traversal fixesmichael-west2019-01-314-4/+34
| | | | | | | | | | - Store number of input and ouptput ports from block definition. - Use number of input and ouptut ports for graph traversal rather than number of connected blocks. - Fixes DAC synchronization failure errors when using only one TX channel on X300. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Prevent unnecessary FC ACK packetsmichael-west2019-01-314-13/+13
| | | | | | | | Avoid sending flow control ACK packets for lossless transports. Add 'send_no_fc_acks' device argument to explicitly prevent flow control ACK packets from being sent. Signed-off-by: michael-west <michael.west@ettus.com>
* cmake: fix variable usageMichael Dickens2019-01-301-2/+1
|
* tools: Make the UHD source gen a plugin for the phase alignment testMartin Braun2019-01-303-11/+118
| | | | | | | This doesn't add any functionality to the phase alignment script, but it does make the siggen portion pluggable. Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com>
* docs: Add information about what dpdk_zero_copy is doingAlex Williams2019-01-291-2/+9
| | | | | | This adds some info about what is happening in the dpdk_zero_copy transport, especially the fact that there are threads spun off that take over CPUs.
* docs: Adding manual page for DPDKBrent Stapleton2019-01-293-1/+151
| | | | Co-authored-by: Alex Williams <alex.williams@ni.com>
* mpmd: use init timeout for update_componentTrung Tran2019-01-291-4/+1
| | | | | update_component will reinit the device therefore we should use MPMD_DEFAULT_INIT_TIMEOUT.
* RFNoC: Update FIFO XML definitionmichael-west2019-01-291-0/+2
| | | | | | Added explicit use of default block controller to remove warnings. Signed-off-by: michael-west <michael.west@ettus.com>
* utils: Add check for gdb_eeprom before accessingmichael-west2019-01-291-1/+1
| | | | Signed-off-by: michael-west <michael.west@ettus.com>
* cpack: Fix RPM generationMatt Reilly2019-01-282-2/+2
| | | | | | | | | | | | | | UHDPackage.cmake produced new directory entries ("%dir" directives) for /usr/local and other folders... This produced conflicts with the filesystem package on Fedora 28 (at least). Added set of CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION to the cmake rpm package instructions. This fixes the problem and produces a working rpm for Fedora 28 x86_64. The redhat post_install.in file was referring to the /usr/lib tree, which is now /usr/lib64, so the script failed to install the uhd-usrp.rules. That's been fixed too.
* ad9361: Replace Boost lock & mutex with std varietyMartin Braun2019-01-251-23/+21
|
* formatting: Apply clang-format to ad9361_ctrl.cppMartin Braun2019-01-251-72/+87
|
* mpm: Parameterize max UDP link allocationAlex Williams2019-01-252-1/+7
| | | | | | | Add an argument to the UDP xport_mgr to adjust the xport sorting. This enables Rhodium to use a different limit from Magnesium. Previously, the sorting method would overload a link with both of Rhodium's higher-rate streams.
* tests: Fix up dpdk_test to use current APIsAlex Williams2019-01-251-64/+47
| | | | | | | | | This will now avoid replicating code that is already in the config files. Also included is a minor fix to prevent threads from hanging when blocking mode is used. A flow control-only packet is now sent when RX times out.
* uhd-dpdk: Cover all paths to request TX offloadsAlex Williams2019-01-253-11/+61
| | | | | Some NICs were not enabling TX IP checksum offloads. This fixes that issue.
* uhd-dpdk: Delete useless test folderAlex Williams2019-01-252-356/+0
| | | | This was old code that wouldn't compile or run anymore.
* mpmd,transport,prefs: Add xport_mgr for dpdk_zero_copyAlex Williams2019-01-2522-344/+1220
| | | | | | | | | | | | | | | | | | | | | | | Add configuration sections to the UHD config file for NIC entries. Keys are based on MAC addresses, and the entries beneath the section describe which CPU and I/O thread to use for the NIC and its IPv4 address. Make ring sizes configurable for uhd-dpdk. Ring size is now an argument for packet buffers. Note that the maximum number of available buffers is still determined at init! Add ability to receive broadcasts to uhd-dpdk. This is controllable by a boolean in the sockarg during socket creation. dpdk_zero_copy will filter broadcast packets out. Add dpdk_simple transport (to mirror udp_simple). This transport allows receiving from broadcast addresses, but it only permits one outstanding buffer at a time. Fix IP checksum handling in UHD-DPDK. TX checksums were not being calculated in the NIC, and in RX, the check for IP checksums allowed values of zero (reported as none). Now packets with bad IP checksums will be dropped.
* mpmd_xport: liberio: using 4096 bytes frame sizeTrung Tran2019-01-231-2/+6
| | | | | | | | Using a send_frame_size of 8192 locks up some devices while transmitting. The root cause of this is unknown, but the new value (4096) prevents this issue in most cases. Some device are still affected by the lock-up even after this change.
* mpm: Fix up Rhodium EEPROM handling for BfrfsEEPROMAlex Williams2019-01-231-24/+3
| | | | | | Fixes Rhodium for changes introduced in b7bab6a. The constructor call for BfrfsEEPROM didn't match the signature, and Rhodium's EEPROM map referred to the wrong revision.