aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Examples: Set refs in RFNoC examplesnatetemple2019-11-242-4/+24
|
* mpm: i2cdev: Use O_LARGEFILE to open i2c devicesMartin Braun2019-11-221-1/+2
|
* mpm: i2cdev: Fix formatting and compiler warningsMartin Braun2019-11-221-11/+12
| | | | | | | | - Remove superfluous includes - Fix return value of _open() (was int, now void) => Fewer compiler warnings - Apply clang-format - Add {} to all ifs
* rfx: Fix calculation of prescaler and band selectMartin Braun2019-11-221-15/+22
| | | | | | | | | | | | | | The code was broken when converting from BOOST_FOREACH to a range-based for loop. Without this fix, the board initialization would crash with an error like this: [ERROR] [DBMGR] The daughterboard manager encountered a recoverable error in init. Loading the "unknown" daughterboard implementations to continue. The daughterboard cannot operate until this error is resolved. LookupError: KeyError: key "0" not found in dict(i, N14adf4360_regs_t17prescaler_value_tE)
* Examples: tx_bursts add subdev, ref, lo-offset, bw optionsnatetemple2019-11-221-8/+41
|
* docs: clarifying which devices support DPDKsteviez2019-11-221-3/+6
|
* docs: fixed links where original URL was not accessible anymoreJoerg Hofrichter2019-11-222-2/+2
| | | | Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
* mpm: gpsd_iface: Sanitize return values for get_gps_info()Martin Braun2019-11-211-8/+21
| | | | | get_gps_info() can time out, or fail for other reasons. This adds some checks to see if the return value is as expected.
* utils: query_gpsdo_sensors: Fix ref_lock wait loopMartin Braun2019-11-211-1/+4
| | | | | | The old loop didn't have any output, and had an inaccurate timeout. We now use a timer for a 30 second timeout, and print a . every time we poll the sensor.
* e31x: Remove spurious debug logsMartin Braun2019-11-211-7/+5
| | | | | This demotes INFO logs to TRACE that relate to the switch settings during tuning.
* examples: test_pps_input: Also test for ref_locked on E31xMartin Braun2019-11-211-9/+26
| | | | | | | | | The E31x will always have a valid PPS, because it is generated internally. The external PPS however is used to drive the ppsloop, which means the ref_locked sensor can be a substitute for the PPS, but only on in this case. This commit also removes some superfluous includes from this example.
* python: MultiUSRP: Fix send_waveforms()iprivit2019-11-131-1/+1
| | | | | | | | | | | | | The send_waveform() function takes the waveform_proto array and if it has only 1 channel, explicitly reshapes it to be (1, waveform_proto.size), or uses np.tile to replicate the waveform_proto array over X channels. It then proceeds to loop over the waveform_proto array, but attempts to do so over the channel dimension instead of looping over the actual samples. This results in sending the entire waveform_proto array regardless of the duration specified. The fix is to specify the dimension in which it crops, and not crop in dimension of the channels.
* devtese: Change default Python interpreter to 3Martin Braun2019-11-0812-12/+12
| | | | | | | | | | | Usually, devtest is run via make (or ninja), and will use the correct Python interpreter. When running directly on the command line, it is important to pick the right Python interpreter so it will work with the Python API. Here, we change the default interpreter from Python 2 to 3, because that's the more common version, and will be the only option for upcoming UHD 4.0 anyway.
* docs: added N320/N321 to FPGAmattprost2019-11-071-11/+14
| | | | | Added appropriate references to N321 in the R&D testing doc for the FPGA Functional Verification section.
* docs: Add info on FPGA flavours for E320 and N3xxMartin Braun2019-11-072-1/+50
| | | | This explains what the various FPGA flavours (XG, HG, 1G) are.
* python: Make multi_usrp::get_*_usrp_info() return a Python dictMartin Braun2019-11-041-2/+12
| | | | | | | | | | | By using the conversion ability to std::map<>, we can make the Python versions of get_?x_usrp_info() return a dict in Python. Sample Python session: >>> import uhd >>> U = uhd.usrp.MultiUsrp(args) >>> U.get_usrp_rx_info() {'mboard_id': 'B200', 'rx_subdev_name': 'FE-RX2', ...}
* uhd: dict: Add typecast operator to std::map<>Martin Braun2019-11-043-0/+19
| | | | | | | This will now allow calls like this: uhd::dict<k, v> d = /* ... */; auto m = static_cast<std::map<k, v>>(d);
* python: Included complex.h to allow pybind to convert that data typeerickshepherdNI2019-11-011-0/+1
|
* mpm: rpc_server: Reenable timeouts after components have been updatedMartin Braun2019-10-281-0/+3
| | | | | | | | | | | | When updating a component like the FPGA, the timeouts for reclaiming get disabled, because the update can potentially take a long time, during which the RPC server might not be available. There was a bug that didn't re-enable the timeouts. The most common case where this causes issues was when the Ethernet connection was severed during FPGA reloading, which could lead to UHD losing connection with MPM altogether (for example because SFPs would come up with a different IP address). In that case, MPM would remain unreachable until the next reboot.
* e3xx: corrected frontend name in devtesterickshepherdNI2019-10-281-1/+1
|
* examples: remove thread priority elevationCiro Nishiguchi2019-10-2226-62/+0
| | | | | | | Remove UHD call to elevate thread priority to realtime. Setting all threads to the same realtime priority can cause the threads to not share access to the network interface fairly, which adversely affects operation of the worker threads in UHD.
* libusb: fix global session race conditionMark Meserve2019-10-161-0/+5
| | | | | - It was possible for two threads to generate a global session, which would cause one of them to become invalid.
* Update branch for upcoming 3.15 releaseMartin Braun2019-10-152-2/+4
| | | | | - Update submodule pointer - Update CHANGELOG to incorporate latest changes
* Docs: Adjust FPGA functional verification testsmichael-west2019-10-152-52/+51
| | | | | | | - Reduce long tests from 3600 seconds to 600 seconds. - Remove 2xRX@153.6e6 test for N310 10 GbE (not practical). Signed-off-by: michael-west <michael.west@ettus.com>
* Docs: Fix MPM cmake command for E320michael-west2019-10-151-1/+1
| | | | | | | Add -DMPM_DEVICE=e320 to the command so the E320 version is built and not the N3xx version. Signed-off-by: michael-west <michael.west@ettus.com>
* MPM: Fix version string for loggermichael-west2019-10-151-1/+8
| | | | | | | | Added configuration of version.cpp file so @UHD_VERSION@ would be properly replaced by the version string and @UHD_COMPONENT@ would be properly replaced by the component string. Signed-off-by: michael-west <michael.west@ettus.com>
* cmake: Add UHD_COMPONENT variablemichael-west2019-10-155-1/+11
| | | | | | | | Added cmake variable to set the component (currently UHD or MPM). so the banner printed by the log_resource would reference the correct component. Added accessor function and appropriate calls in log.cpp. Signed-off-by: michael-west <michael.west@ettus.com>
* MPM: Add check for valid EEPROM addressmichael-west2019-10-151-0/+3
| | | | | | | | Provides a more useful error message if the EEPROM cannot be found at the specified address. Without this change a generic index out of range error is raised. Signed-off-by: michael-west <michael.west@ettus.com>
* images: Move package_images.py to FPGA repositoryMartin Braun2019-10-153-651/+2
|
* docs: Fix wrong anchor for PCIe transport paramsMartin Braun2019-10-151-1/+1
|
* docs: Fix more Doxygen warnings due to spurious backslashesMartin Braun2019-10-151-5/+5
|
* cmake: Use new UHDBoost.cmake in init_usrp and toolsMichael Dickens2019-10-153-81/+43
| | | | | | | Modifies the CMake for the following utilities: - init_usrp (example) - kitchen_sink - nirio_programmer
* cmake: add UHDBoost.cmake and use it for building UHDMichael Dickens2019-10-153-41/+336
| | | | | | | | | Also install UHDBoost.cmake along with the CMake UHD find scripts, so that it can be used by external modules. Tweak the UHDConfig.cmake script so that, once installed, the new UHDBoost.cmake script is found. Note that the project using UHD must first find UHD before trying to find Boost. Also note that if the C++ standard is not set before UHDBoost is loaded, it will be set to that currently used by UHD: C++14.
* rpc: improve exception handling for reachability checksMark Meserve2019-10-151-2/+3
| | | | | - Handle exception created during RPC client creation - Corrected a catch block for UHD exceptions
* rpc: add exception when client constructor failsMark Meserve2019-10-151-3/+36
|
* rpc: convert client to sptrMark Meserve2019-10-151-12/+13
|
* rpclib: add patch file for constructor hangMark Meserve2019-10-151-0/+36
|
* rpclib: fix hang on connection error during constructionMark Meserve2019-10-151-1/+4
|
* docs: Improve man page compression code in CMakeMartin Braun2019-10-141-24/+11
| | | | | | | | | The existing code would fail on the second CMake run when gzip wasn't actually installed, as well as on the first build. The behaviour is modified as follows: - ENABLE_MAN_PAGE_COMPRESSION is made a variable, instead of an option - Its default value is derived from ${GZIP_FOUND}
* Prepare branch for upcoming UHD 3.15 releaseMartin Braun2019-10-142-58/+67
| | | | | - Update CHANGELOG - Change UHD version to 3.15.0.0 / stable
* rh: Add missing includes in rhodium_cpld_ctrl.hppMartin Braun2019-10-111-2/+4
|
* N3xx: Remove close-in noise on TXMichael West2019-10-112-2/+6
| | | | | | | | | | | Some close-in noise was observed on TX when using external references. This change reduces the noise by changing U19 to select the GPSDO when references are set to external. Also included is a change to properly read and apply settings from the configuration file. This allows the user to further quiet the transmission by adding 'enable_gps=False' to the configuration file in order to power off the GPSDO. Signed-off-by: Michael West <michael.west@ettus.com>
* n3xx: Disable gpsdo reference source when enable_gps=0Martin Braun2019-10-112-13/+26
| | | | | | | | | | | | | | | When using enable_gps=0, the power to the LTE-Lite GPS chip is turned off, and neither the reference sources (time/clock) nor the location/time data (via gpsd) can be used. This commit disables the gpsdo options for the set_time_source, set_clock_source, and set_sync_source when enable_gps=0 is used, and adds logging to inform the user about this. This behaviour is consistent with X310, where `gpsdo` is only a valid reference if the GPSDO module is plugged in. The manual was also updated accordingly.
* mpm: periph manager: Fix typo in docstring (update default args)Martin Braun2019-10-111-2/+3
|
* Update CHANGELOG for the upcoming 3.15 releaseMartin Braun2019-10-111-133/+267
|
* fixup! x300: Introduce conn_managerMartin Braun2019-10-111-1/+1
|
* Python: Added LO source and export arguments to the phase alignment testerickshepherdNI2019-10-101-0/+28
|
* n320: updated rhodium dboard mcr initializationnitest2019-10-101-1/+2
| | | | | db0 is used as the master for driving the radio path and must be the dboard used to set the master clock rate.
* ad937x: increase default dc offset averaging windowMark Meserve2019-10-101-0/+19
| | | | | | - Fixes an issue where RX with close in signals (<5 kHz) had large discontinuities in IQ data - For <1 kHz, an LO offset should be used
* log: Honour log levels on session initMartin Braun2019-10-101-0/+3
| | | | | | | | | | The first log message of UHD is always something like this: [INFO] [UHD] linux; GNU C++ version [...] However, it was being printed regardless of the requested log level. This will disable all initial log messages if the requested log level is greater than INFO.