aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/utils
Commit message (Collapse)AuthorAgeFilesLines
* lib: Replace uhd::get_system_time() with steady_clockMartin Braun2019-11-261-3/+4
| | | | | | Benchmarks show that using C++ chrono features beats uhd::get_system_time(), and the latter is simply not appropriate unless a uhd::time_spec_t is required.
* uhd: utils: Add compat check for 32-bit compat numbersMartin Braun2019-11-261-0/+13
|
* rpc: add exception when client constructor failsMark Meserve2019-10-151-3/+36
|
* rpc: convert client to sptrMark Meserve2019-10-151-12/+13
|
* lib: utils: Add is_a_tty()Martin Braun2019-10-071-0/+55
| | | | | | | This is a portable version of POSIX's isatty(). Windows has its own version, called _isatty(). UHD thus gains its own, portable version. The underscores aren't beautiful, but they're necessary so we can distinguish the POSIX version from the UHD version.
* fixup! uhdlib: add rational approximation to math utilitiesMartin Braun2019-05-231-1/+1
|
* uhdlib: add rational approximation to math utilitiesMark Meserve2019-05-071-0/+75
|
* mpmd,transport,prefs: Add xport_mgr for dpdk_zero_copyAlex Williams2019-01-251-0/+34
| | | | | | | | | | | | | | | | | | | | | | | 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.
* rpc,mpmd: replace all set_timeout() to new apiTrung Tran2019-01-141-5/+0
| | | | | Using new rpc client new API that ensure atomic setting of timeout on each rpc call.
* utils:rpc: set rpc timeout during rpc callTrung Tran2019-01-141-3/+120
| | | | | | | | | | | | | The current implementation of the UHD RPC client has a timeout that is being accessed non-atomically. Many calls follow the pattern: 1. set_timeout(value) 2. request_rpc() 3. set_timeout(default) which is not atomic. Other concurrent calls on the same rpc client may change the timeout value; leads to unexpected behavior These new set of function will, instead, handle setting and re-setting the timeout atomically in the RPC request.
* 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
* lib: move atomic.hpp and system_time.hpp to uhdlibMartin Braun2018-04-062-0/+92
|
* 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.
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-143-0/+280
| | | | | | | | | | | | | | | | 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>
* 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-194-4/+4
| | | | | | | 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>
* uhd: Add narrow_cast and narrowMartin Braun2018-01-121-0/+99
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>