aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300
Commit message (Collapse)AuthorAgeFilesLines
* RFNoC: Limit number of control packets in flightmichael-west2019-01-311-1/+13
| | | | | | | | 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>
* X300: Fix tick and sample rate settingmichael-west2019-01-311-5/+1
| | | | | | | | | | | | - 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: Prevent unnecessary FC ACK packetsmichael-west2019-01-311-0/+1
| | | | | | | | 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>
* transport: muxed_zero_copy_if fixesmichael-west2019-01-211-2/+2
| | | | | | | | | | 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>
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-1622-2957/+3328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* formatting: remove vim hints in headersBrent Stapleton2019-01-162-2/+0
| | | | | Remove trailing vim hints in header files. This functionality will be replaced by clang-format.
* x300: Fix compiler warnings related to type conversionsMartin Braun2019-01-074-15/+15
| | | | | | | These compiler warnings mostly pop up on MSVC. Most of them are due to inconsistent usage of size_t, uint{8,16,32}_t, and even int. This commit changes types mostly such that variables have the correct type to begin with, although it also contains a few explicit type-casts.
* x300: Remove usage of boost::bindMartin Braun2019-01-021-12/+16
|
* x300: Factor our PID -> MB type and MB type -> product name mappingMartin Braun2019-01-021-137/+117
|
* x300: Remove some trailing spacesMartin Braun2019-01-021-6/+4
|
* x300: Add support for USRP-2974Thomas Vogel2018-12-143-2/+19
| | | | | This will enable a USRP 2974 to be registered as an X300 device. Its product ID is 'NI-2974'.
* various: use "std::abs" instead of "std::fabs"Michael Dickens2018-12-121-1/+1
| | | | | | + better compiler compatibility + let the compiler figure out the actual function IO signature that makes sense, instead of forcing float.
* x3xx: implement rfnoc get antenna functionsMark Meserve2018-11-262-0/+16
|
* x300: fixup minimum master clock rateBrent Stapleton2018-11-211-1/+1
| | | | | Recent clocking changes set the minimum master clock rate to 187.5MHz, instead of the actual 184.32MHz. This change corrects that.
* x300: New mode to configure master clock rateScott Torborg2018-11-163-10/+104
| | | | | | | | Add a new clocking mode to automatically configure arbitrary master clock rates. Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com> Co-authored-by: Martin Braun <martin.braun@ettus.com>
* uhd: Add device arg to enable dual ethernet for txCiro Nishiguchi2018-11-142-2/+17
| | | | | | | | UHD currently only uses a single ethernet link for tx data, even if the device is initialized with dual 10GbE links. Using both links when a DMA FIFO is present causes sequence errors due to DMA FIFO bandwidth limitations. This maintains the current default behavior but allows users to override it through a device arg "enable_tx_dual_eth".
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-2/+2
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* x300: Remove 120 MHz optionMartin Braun2018-11-072-3/+1
| | | | | None of our FPGA images support a 120 MHz master clock rate, so the UHD code should match that.
* Test: Add unit test for eeprom_utilsmichael-west2018-10-251-1/+1
|
* X300: Prevent duplicate MAC and IP addresses from being programmed in MBMichael West2018-10-251-2/+24
| | | | EEPROM
* X300: Add recovery for duplicate IP addresses in EEPROMMichael West2018-10-251-18/+12
| | | | | - Limit initialization to ZPU communication if recover_mb_eeprom=1 is set in device args.
* cores: Update rx_frontend_gen3.v controls for 1/4-rate mixerMartin Braun2018-09-251-1/+1
| | | | | | | This tracks the changes on rx_frontend_gen3.v, which was updated to use a quarter-rate downconverter instead of a generic CORDIC. The X3x0 FPGA compat number is incremented as the rx_frontend is part of the device architecture rather than an RFNoC block.
* x300_impl: remove default_buff_args propertiesTrung Tran2018-09-131-7/+0
| | | | ...that are already handled in udp_zero_copy.
* x300: Improve firmware compat error messageMartin Braun2018-08-222-16/+35
| | | | | Now matches the FPGA error message (go download, then run uhd_image_loader).
* X300: Correctly initialize antenna mapping for TwinRXDerek Kozel2018-08-221-1/+4
|
* x300: Enable clock_source and time_source device argsMartin Braun2018-08-101-2/+2
| | | | | | | | | | You can now change the time/clock source default through device args: auto usrp = uhd::usrp::multi_usrp::make( "type=x300,clock_source=external,time_source=external"); This also enables the use of config files for the clock/time source implicitly.
* x300: Use constrained_argsMartin Braun2018-08-104-48/+222
| | | | | | | x300_impl will now use a constrained_device_args_t-derived object to parse device args. No API or functional changes.
* x300: Move defaults to their own headerMartin Braun2018-08-103-116/+159
| | | | | | | Also puts all defaults into the uhd::usrp::x300 namespace. This commit does some renaming and refactoring, but no functional changes.
* x300: Log git hash and compat number as debug messageMartin Braun2018-08-011-3/+8
|
* X300: Change Ethernet bufferingMichael West2018-07-253-201/+193
| | | | | | | Ethernet buffering is now done so that most of the buffering is done in the socket buffers and multiple frames are only used to support the receive side offload of the socket I/O. Eliminates dropped packets at high full duplex rates.
* X300: Reduce Ethernet frame size to 4000michael-west2018-07-252-6/+5
| | | | | This is to avoid underruns caused by flow control packets being blocked by data packets at high rates.
* Device3: Change packet-based flow control to byte-based flow controlMartin Braun2018-07-252-14/+4
|
* x300: Fix incorrectly declared locksMartin Braun2018-07-232-5/+5
|
* UBX: Add support for phase synchronization at LTE clock ratesMichael West2018-07-172-1/+28
|
* X300: Change default dboard_clock_rate depending on master_clock_rateMichael West2018-07-172-3/+3
|
* X300: Add support for 11.52 MHz and 23.04 MHz referencesMichael West2018-07-171-12/+82
|
* fixup! lib: Purge some use of boost::system_timeMartin Braun2018-07-171-1/+0
|
* lib: Purge some use of boost::system_timeMartin Braun2018-07-122-8/+16
| | | | | These are all timeout loops, which now use std::chrono::steady_clock::now() to check for timeout events.
* X300_radio_ctrl_impl: Add SAFE_CALL to DestructorVidush2018-06-061-16/+20
|
* x300_impl: Assign Channel Variable Before Err CheckMichael West2018-05-311-4/+5
|
* x300: e300: fix git_hash dirty bit positionTrung N Tran2018-05-301-1/+1
|
* dboard_iface: Add has_set_fe_connection() methodMartin Braun2018-05-081-0/+6
|
* lib: Purge use of boost::assign, except for uhd::dictMartin Braun2018-05-021-6/+11
| | | | | | | Replaced with initialization lists. Note: uhd::dict does not work with initializer lists without making changes to said data structure. This commit has no functional changes, so keeping the boost::assigns for uhd::dict.
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-301-1/+1
| | | | Replace with std::this_thread::sleep_for().
* lib: Change check_radio_config() to iterate over channels, not radios.Vidush2018-04-301-2/+2
|
* x300: Replace all references to boost::this_thread::sleep()Martin Braun2018-04-174-25/+34
| | | | Use std::this_thread::sleep_for() instead.
* x300: handle bad weak_ptr during pcie discoveryMark Meserve2018-04-101-1/+9
|
* lib: move atomic.hpp and system_time.hpp to uhdlibMartin Braun2018-04-061-1/+1
|
* x300: Update loggingMartin Braun2018-03-301-37/+37
| | | | | | | | | No functional changes. - Demote some messages to DEBUG or TRACE - Use consistent logging styles - In some cases, adapted code to coding style when near logging statements
* x300: Refactor clock and time source prop tree setupMartin Braun2018-03-291-12/+27
| | | | | | - Remove boost::bind - Remove boost::assign::list_of - No functional changes