aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-1/+1
| | | | | | | | | | | | | | | | | 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!)
* 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-0/+80
| | | | EEPROM
* twinrx: revise adf5356 frac2 register calculationMark Meserve2018-10-171-1/+1
| | | | | - If FRAC2 isn't exactly FRAC1 at certain frequencies, drifting spurs can be seen in the spectrum
* lmx2592: add spur dodgingMark Meserve2018-10-171-1/+4
|
* uhd: rfnoc: add async message handlerTrung Tran2018-09-143-3/+191
|
* radio_ctrl: add disable time stampTrung Tran2018-09-141-0/+2
|
* uhd-dpdk: Add DPDK-based sockets-like libraryAlex Williams2018-08-291-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library makes available a userspace network stack with a socket-like interface for applications (except the sockets pass around pointers to buffers and use the buffers directly--It's sockets + a put/get for buffer management). Supported services are ARP and UDP. Destinations can be unicast or broadcast. Multicast is not currently supported. The implementation has two driver layers. The upper layer runs within the caller's context. The caller will make requests through lockless ring buffers (including socket creation and packet transmission), and the lower layer will implement the requests and provide a response. Currently, the lower layer runs in a separate I/O thread, and the caller will block until it receives a response. The I/O thread's main body is in src/uhd_dpdk_driver.c. You'll find that all I/O thread functions are prefixed by an underscore, and user thread functions do not. src/uhd_dpdk.c is used to initialize uhd-dpdk and bring up the network interfaces. src/uhd_dpdk_fops.c and src/uhd_dpdk_udp.c are for network services. The test is a benchmark of a flow control loop using a certain made-up protocol with credits and sequence number tracking.
* lib: Improve constrained_device_args_tMartin Braun2018-08-101-2/+14
| | | | | - Add default parser helper - Allow _enforce_discrete() for str_arg
* rfnoc: dma_fifo: Added a more robust flush mechanismAshish Chaudhari2018-08-031-1/+1
| | | | | | | | | - The flushing mechanism now looks similar to that in noc_shell - Make use of new flush bit in FIFO control register - Restrict using the clear bit only after flushing to ensure no partial packets are introduced in the stream. (clear immediately empties out FIFOs) - Changes are backwards compatible with older FPGAs
* b100: Move fifo_ctrl_excelsior to b100 subdirMartin Braun2018-07-311-51/+0
| | | | | This device is the only one using it, and no one will ever use it going forward.
* Device3: Change packet-based flow control to byte-based flow controlMartin Braun2018-07-251-1/+1
|
* mpm: initial commit of E320 codeBrent Stapleton2018-07-181-0/+6
| | | | Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
* fixup! e300: merge files from rfnoc-develMartin Braun2018-07-061-0/+3
|
* e300: merge files from rfnoc-develTrung N Tran2018-06-291-7/+0
| | | | This disables the ability to do "network mode" on the E310.
* *_dsp_core: Update frequency when updating ratesVidush2018-06-212-0/+4
| | | | | Since the frequency shifter is set to a relative rate, it needs to be updated when changing the sampling rate.
* ad9361: Add API to set 1R1T/2R2T timing modesSugandha Gupta2018-06-151-0/+3
| | | | | LVDS interface can support both timing modes 1R1T/2R2T The API sets the required bit in catalina registers.
* uhd: Added LMX2592 driverDerek Kozel2018-05-031-0/+55
|
* lib: Purge all references to boost::this_thread::sleep()Martin Braun2018-04-301-5/+6
| | | | Replace with std::this_thread::sleep_for().
* Removed unecessary == operation.Vidush2018-04-301-3/+3
|
* Changed method to check for channel in _tx_streamer_active & rx_streamer_active.Vidush2018-04-301-4/+4
|
* lib: Change check_radio_config() to iterate over channels, not radios.Vidush2018-04-301-5/+8
|
* fixup! rfnoc: ctrl_iface cleanupmichael-west2018-04-301-1/+1
|
* ad9361: Fix bandwidth warnings and rangesVidush2018-04-271-3/+3
| | | | | | | Allows full bandwidth range to user. Reviewed-by: Michael West <michael.west@ettus.com> Reviewed-by: Martin Braun <martin.braun@ettus.com>
* ad936x: De-boostify ad936x_manager, minor cleanupMartin Braun2018-04-262-3/+4
| | | | | | | - Remove all use of boost::bind and boost::function - Demote some log messages to DEBUG - Change some formatting to match coding guidelines - B2xx/E310: Match changes in loopback function
* lib: move atomic.hpp and system_time.hpp to uhdlibMartin Braun2018-04-063-2/+2
|
* DDC/DUC: switch CORDIC -> DDS for all relevant variable namesRyan Marlow2018-03-222-0/+2
| | | | - Bump compat number for DDC/DUC to 2.0
* lib: add auto_timer profiling utilityPatrick Sisterhen2018-03-161-0/+137
| | | | | Note: This tool is not considered done, complete, unchangeable, or anything other than experimental.
* rfnoc: ctrl_iface cleanupMartin Braun2018-03-162-44/+61
| | | | | | | | | | - ctrl_iface is now longer a wb_iface. All it can do now is send command packets, and receive responses to those. - ctrl_iface does not store command time or tick rate - wb_iface_adapter is no longer a set of functors, but a wrapper around ctrl_iface. Command times are stored once, in the block. - DMA FIFO and radio block controllers have an easier time getting access to a timed_wb_iface
* rfnoc/x300: Make sure peek32() and peek64() are called with actual addressesMartin Braun2018-03-161-4/+2
| | | | Before, we were calling peeks with the number of the readback register.
* lib: Add include guards for xports.hppMartin Braun2018-03-141-0/+5
|
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-1450-0/+5935
| | | | | | | | | | | | | | | | 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: Moved get_system_time outside of public APIMartin Braun2018-03-051-0/+18
| | | | | | | 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.
* uhd: Removed atomic.hpp from public APIMartin Braun2018-03-052-2/+76
| | | | | | | atomic.hpp defines a spin lock and a lockfree mutex. There is no reason to have standard constructs in the public API, where we're contractually obligated to not touch them. Thus, moving them into the internal API space.
* uhd: Move some gpio_defs constants definitions out of headersMartin Braun2018-02-271-0/+127
| | | | Reviewed-by: Trung Tran <trung.tran@ettus.com>
* lib: Add 'prefs' APIMartin Braun2018-02-201-0/+54
| | | | | | | | | | | | | This defines and reads configuration files that can be used to customize UHD's behaviour. On Unix systems, they default to: /etc/uhd/uhd.conf $APPDATA/.uhd/uhd.conf On Windows systems, it will look in: %ProgramData%/uhd/uhd.conf %AppData%/.uhd/uhd.conf
* lib: Add path_expandvars() internal API callMartin Braun2018-02-201-0/+24
|
* uhd: Update license headersMartin Braun2018-02-195-5/+6
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* rfnoc: Factor out ceil_log2() into central locationMartin Braun2018-02-191-0/+25
| | | | - New file: uhdlib/utils/math.hpp
* rfnoc: Factored out FPGA compat checkMartin Braun2018-02-191-0/+30
| | | | | - Applied changes to DUC and DDC blocks - Fixed minor formatting
* lib: Add config_parser classMartin Braun2018-02-011-0/+121
| | | | | | | This class is not publicly exported. It is meant to read config files in the INI format. Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* uhdlib: Update constrained_device_args_tMartin Braun2018-01-181-0/+301
| | | | | | | - Allow enums to be non-consecutive - Move to uhdlib/ - Add unit tests - Updated N230 use of constrained_device_args_t
* uhd: Add narrow_cast and narrowMartin Braun2018-01-121-0/+99
| | | | Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* lib: Add non-public include directoryMartin Braun2017-12-221-0/+8
This is meant for headers that don't export symbols.