aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300
Commit message (Collapse)AuthorAgeFilesLines
* 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
* x300: Properly coerce master clock rate (tick rate)Martin Braun2018-03-291-4/+22
| | | | | | | | - A call to multi_usrp::set_master_clock_rate() on the X3x0 will now properly coerce the value, and show a warning when it had to coerce. It will not throw an exception. - Did a minirefactoring of the tick_rate property setup and removed two more boost::binds.
* rfnoc/x300: Make sure peek32() and peek64() are called with actual addressesMartin Braun2018-03-162-5/+11
| | | | Before, we were calling peeks with the number of the readback register.
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-147-31/+33
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* uhd: Fix some log statementsAndrej Rode2018-03-071-3/+3
| | | | Some log statements were incorrectly using multi-line log statements.
* uhd: Moved get_system_time outside of public APIMartin Braun2018-03-051-4/+5
| | | | | | | uhd::get_system_time() is an abstracted way of reading back a time, and is not UHD-specific. As such, there's no reason to keep it in the public part of the API where we're contractually obligated not to touch it. Instead, moving it to the internal API space.
* fixup! x300,n230,e300: changes to adapt to new usrp APIMartin Braun2018-02-231-2/+2
| | | | Fixes some compiler warnings.
* x300: Fixed processor clock rate in ZPU firmwareAshish Chaudhari2018-02-231-2/+2
| | | | | - Fix for regression that was introduced after the bus_clk freq change - Firmware compat number bumped to 6.0 (was 5.2)
* fixup! x300,n230,e300,b200: changes to adapt to new usrp APITrung N Tran2018-02-221-5/+6
|
* x300,n230,e300: changes to adapt to new usrp APITrung N Tran2018-02-211-4/+31
|
* rfnoc,x300: Multiple clocking changesAshish Chaudhari2018-02-212-4/+4
| | | | | | - Moved bus_clk <=> ce_clk crossing to axi_wrapper in FPGA which resulted in a noc_shell compat bump - Change x300 bus_clk frequency to 187.5 MHz