summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* images: Update manifest for 3.14.0.0-rc1 imagesv3.14.0.0-rc1michael-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.
* devtest: add universal_newlines to subprocess callTrung Tran2019-01-233-2/+4
| | | | | | | | | subprocess call in python3+ return stderr and stdout object is byte object instead of text. This caused many issue with parsing the ouput in devtest. These are not an issue in python2. This change will make devtest more python3 compatible. Signed-off-by: Trung.Tran<trung.tran@ettus.com>
* tests: replace has_key by using 'in'Trung Tran2019-01-235-8/+8
| | | | | | | python3+ dropped has_key function on dictionary. In order to make it compatible, we need to use 'in' keyword. Signed-off-by: Trung.Tran<trung.tran@ettus.com>
* lib: rfnoc: Add some missing virtual destructorsMartin Braun2019-01-223-2/+8
|
* formatting: Apply clang-format to nocscript filesMartin Braun2019-01-228-557/+499
|
* device3: Replace NULL with 0 for empty function pointersMartin Braun2019-01-221-2/+2
| | | | | Technically, nullptr should be the correct replacement, but some compilers have issues with that. This is a continuation of e1c754f20.
* cmake: Extend list of additional Boost versionsMartin Braun2019-01-221-0/+1
|
* examples: Fix boundary condition in ascii_art_dft plottingMartin Braun2019-01-211-1/+1
| | | | | | There was a corner case where the data could be such that the FFT plot symbol selection would cause an out-of-bounds access on the symbols table, and abort the example with an uncaught exception.
* transport: muxed_zero_copy_if fixesmichael-west2019-01-215-29/+22
| | | | | | | | | | Changed muxed_zero_copy_if to make each stream buffer the same number of frames as the underlying transport and changed the size of the underlying control transport for X300 and MPMD devices to match the size of the command FIFO in order to prevent starvation of any single control transport. Added some constants to remove hard coded values. Signed-off-by: michael-west <michael.west@ettus.com>
* docs: Add manual page for the N320/N321Martin Braun2019-01-217-10/+187
| | | | | | | Since the N32* is part of the N3XX family, it shares a page with N300/N310. Co-authored-by: Mark Meserve <mark.meserve@ni.com>
* mpmd_xport: honor users' send(recv)frame_size argsTrung Tran2019-01-212-8/+11
|
* mpmd: implement get_*x_hintsTrung Tran2019-01-212-6/+11
| | | | Fix transport related arguments passed down the stack.
* endianness: Replace Boost macros with custom onesMartin Braun2019-01-216-10/+41
| | | | | | | | Boost changed the macros for endianness identification in 1.69, and the deprecation warning is a pretty noisy one during compilation. This abstracts away the Boost macro, so we have two UHD macros, UHD_BIG_ENDIAN and UHD_LITTLE_ENDIAN. They indicate big and little endian byte order.
* lib: transport: convert: apply clang-formatBrent Stapleton2019-01-212-193/+261
| | | | | | | | | | | | | This is a continuation of 967be2a4. Applying clang-format to files needed for endianness changes. $ clang-format -i --style=file \ host/include/uhd/types/endianness.hpp \ host/include/uhd/utils/byteswap.hpp \ host/include/uhd/utils/byteswap.ipp $ clang-format -i --style=file \ host/lib/convert/convert_with_tables.cpp \ host/lib/transport/chdr.cpp
* rhodium: Fix some Pylint warningsMartin Braun2019-01-211-6/+4
| | | | Remove some semicolons and superfluous imports.
* cmake: Register N320 componentMartin Braun2019-01-211-1/+1
| | | | | | This will default to building the N320 driver. It replaces having to manually specify -DENABLE_N320=ON when depdendencies are met. This also means that N320 will be built by default.