aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
Commit message (Collapse)AuthorAgeFilesLines
...
* ad9361: Enable single shot Rx Quad CalTom Tsou2015-08-132-31/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | Patch provides an alternative resolution to issue #807 "B210: severe distortion on In-phase data for some gain settings" Rx quadrature tracking, an active input-sensitive loop, causes problems on a handful of receive signals. Problematic signals include pulsed GMSK and near-DC tones among others. As an alternative, improve operation when active tracking is disabled. Run single shot quadrature calibration at the following events to provide calibrated image suppression. The corrections without active tracking are not input dependent. Rx quadrature single shot calibration points: 1. AD9361 initialization 2. Clock rate change 3. Tuning differences greater then 100 MHz when tracking is disabled Note that if tracking is enabled (default case), this patch has no effect during streaming. Only the non-default (user set) case is affected. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* uhd: Fixes to build with MSVCAshish Chaudhari2015-08-131-1/+1
| | | | | - Included list header in soft_reg header - Fixed typo in x300_impl
* multi_usrp: Disabled tuning messageMartin Braun2015-08-121-2/+2
|
* multi_usrp: Fixed bug where policy == none was not obeyedMartin Braun2015-08-121-2/+6
|
* B200/X300: Make default clock and time sources internalmichael-west2015-08-122-27/+1
|
* UHD: Remove initialization of time to GPS time.michael-west2015-08-124-30/+1
|
* Merge branch 'master' into ashish/register_apiAshish Chaudhari2015-08-129-214/+56
|\
| * C API cleanup, feature additionsNicholas Corgan2015-08-121-202/+44
| | | | | | | | | | | | * Cleaned up usage of handles vs. handle pointers * Store global string for last error thrown * Removed uhd::device_addr_t handle, added std::vector<std::string> handle
| * cmake: added variable to LIBUHD_REGISTER_COMPONENT macro to make required, ↵Nicholas Corgan2015-08-118-12/+12
| | | | | | | | | | | | set LibUHD to required * If required component's dependencies aren't met, CMake will throw an error unless user specifically disables it
* | Merge branch 'master' into ashish/register_apiAshish Chaudhari2015-08-1019-151/+2142
|\|
| * e300: Fix internal GPIO register settingTom Tsou2015-08-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolves issue #890 "E300: Does not transmit on master" Fixes GPIO register mismatch introduced by c2827e9a0b. "x300, e300: Moved common register names to radio namespace" With register correction, transmit and LED behaviour performs as expected. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
| * x300: added missing included necessary in Boost 1.46Nicholas Corgan2015-08-101-0/+1
| |
| * e300: added -DE300_FORCE_NETWORK flag to CMake configurationNicholas Corgan2015-08-102-2/+18
| | | | | | | | | | | | * Fixes building E300 support in native mode on any Linux system with libudev headers * Added E300_NATIVE check to e300_common.cpp * Improved network mode documentation
| * ad936x: Disable AGC by defaultMartin Braun2015-08-101-1/+1
| |
| * C API: feature additions, bugfixesNicholas Corgan2015-08-071-0/+14
| | | | | | | | | | | | * Wrapped uhd::device_addrs_t, added find functions for multi_usrp, multi_usrp_clock * Replaced getopt with public domain implementation * Minor bugfixes
| * x300, e300: Moved common register names to radio namespaceMartin Braun2015-08-076-88/+107
| | | | | | | | This preps the code for merging common registers altogether.
| * e300: Made network mode not crash when attempting to user filter APIMartin Braun2015-08-062-8/+2
| |
| * e300: Fix lacking subscriber call to update LO freq and bandselsMartin Braun2015-08-061-0/+3
| |
| * uhd: C API wrapperNicholas Corgan2015-08-065-1/+1849
| | | | | | | | | | | | | | * multi_usrp, multi_usrp_clock, and associated classes accessible through C * Added Doxygen documentation explaining structure and API * Simple RX and TX streaming examples * Unit tests for different parts of C interface and C++ error conversion
| * image_loader: force user to specify deviceNicholas Corgan2015-08-053-39/+106
| | | | | | | | | | * On utility level, force user to use --args=type=foo * In each loader, throw an error if args are ambiguous
| * b200: Change init sequence to catch bad USB statesBalint Seeber2015-08-032-8/+38
| | | | | | | | | | - Fixes USB hang issues on OS X - Uses usb_errors
| * b200: fixed initial loadingNicholas Corgan2015-07-311-3/+2
| |
| * x300: nirio: Fix compiler warningsMoritz Fischer2015-07-311-1/+1
| | | | | | | | | | | | | | | | | | The old code used a non standard (though very common) way to determine the size of an array. In order to avoid warnings, pass another parameter to indicate the size. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* | uhd: Register API enhancementsAshish Chaudhari2015-08-061-4/+30
| | | | | | | | | | - Added get_register_info function to get bitwidth and R/W access for a registers - Better error reporting
* | x300: Used new soft register API for X300 registersAshish Chaudhari2015-08-044-176/+196
| |
* | uhd: Added APIs to multi_usrp to read/write device registersAshish Chaudhari2015-08-041-0/+90
|/ | | | | | - Added regmap object to soft_register library - Added a regmap_db object to hold multiple regmaps/dbs - Multiple soft_register enhancements
* MSVC 2015 compatibilityNicholas Corgan2015-07-302-3/+3
|
* fixup! e300 + cmake merge conflict resolutionMartin Braun2015-07-291-2/+2
|
* gps: gpsd: Fix MSVC std::isnan() fail by using boost::math::isnan().Moritz Fischer2015-07-291-6/+7
| | | | Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* gps: gpsd: Provide GPGGA sensor for backwards compatibility.Moritz Fischer2015-07-291-1/+62
| | | | | | | This commit introduces the "gps_gpgga" sensor and exposes it via the property tree. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* gps: gpsd: Provide GPRMC sensor for backwards compatibility.Moritz Fischer2015-07-291-1/+64
| | | | | | | This commit introduces the "gps_gprmc" sensor and exposes it via the property tree. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* gps: gpsd: Adding gpsd_iface to interface with gpsd.Moritz Fischer2015-07-2914-1540/+319
| | | | | | | | | | | | | | | | | | | | | | | The gpsd_iface class might be useful for more than just e3x0, it therefore belongs into lib/usrp instead of lib/usrp/e300. A new UHD component is being registered, to cope with the additional dependency. If libgps is not found, UHD and E300 will be compiled without GPS support. This has several consequences: - The E310 GPSDO should now work transparently over network - Users can use the GPS through gpsd for other applications *while* running UHD applications - We now have a dependency on libgps We need currently at least version 3.11 (while running 3.14), on the device. Older versions do work if 3.10 runs on both sides e.g Reviewed-by: Martin Braun <martin.braun@ettus.com> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* x300: Moved all tick set subscribers to same placeMartin Braun2015-07-291-10/+7
|
* cores: Moved subtree populate code to DSP cores (X3x0, E310)Martin Braun2015-07-298-89/+101
|
* cores: Moved subtree populate code to frontend coresMartin Braun2015-07-296-44/+62
|
* e300: Perif setup vs. prop tree separation refactoringMartin Braun2015-07-291-27/+44
|
* ad9361/b200/e300: Refactored AD936x + perifs managementMartin Braun2015-07-2911-270/+534
| | | | | | - Created AD936x manager class - Moved functionality from B2x0 and E310 into manager - Separated property tree + perifs initialization in both device classes
* e3xx: Make frame sizes configurable.Moritz Fischer2015-07-282-6/+20
| | | | | | | | | | UHD 3.8.5 increased the TX framesize from 2048 to 4096, this can lead to issues in 2x2. The behaviour can avoided by specifying send_frame_size = 2048 for these scenarios. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* e300: Removed unused constant MAX_TICK_RATEMarcus Müller2015-07-271-1/+0
|
* x300: Updated FPGA->ADC Clock delays for all boardsAshish Chaudhari2015-07-241-2/+2
| | | | - Delays changed after ADC config change and FPGA fixes
* b200: Change default tick rate to 16 MHzMartin Braun2015-07-241-1/+1
|
* x300: Removed radio_rst assertion codeAshish Chaudhari2015-07-233-3/+4
| | | | | | - radio_rst was being asserted to reset the capture iface IDELAYs but that was excessive and had adverse effects on the rest of the radio - Replaced radio_rst with a localized IDELAYCTRL reset
* Revert "x300: Changed ADC clock swing to 1.6V from 0.7V"Ashish Chaudhari2015-07-231-2/+2
| | | | This reverts commit a12b24027fe1af9ca51949f6a9333ac5451690ef.
* x300: Moved system-level ADC and DAC operationsAshish Chaudhari2015-07-233-386/+413
| | | | | | | | | | | - The following function implementations were moved from x300_impl.cpp to x300_adc_dac_utils.cpp - synchronize_dacs - self_test_adcs - extended_adc_test - self_cal_adc_capture_delay - self_cal_adc_xfer_delay - This reduces the size of the x300_impl object file
* x300: Increased the max image size for burnerAshish Chaudhari2015-07-231-1/+1
| | | | - We added additional microcode to configure DCI matching,config rate,etc
* x300: Updated CLK->DATA delay for ADCAshish Chaudhari2015-07-221-2/+2
| | | | | | | | - The value was originally empirically determined based on self-cal results. After the fix for uncalibrated IDELAY, the self-cal offset data was no longer correct. - The new delay through the ADC ensures that the self-cal nominally pick the halfway tap of 16
* x300: Added a comprehensive radio reset sequenceAshish Chaudhari2015-07-224-32/+68
| | | | | | | | | | | - Everytime the LMK is configured, we do the following: - Reset all LMK regs - Wait for LMK lock - Reset radio_clk PLL in FPGA - Wait for FPGA PLL to lock - Assert radio_rst which resets downstream radio logic - This address the intermittent self-cal failures due to uncalibrated IDELAY taps - Bumped FPGA compat to 12
* x300: Minor: Optimized ADC/DAC resetsAshish Chaudhari2015-07-221-11/+11
|
* x300: Changed ADC clock swing to 1.6V from 0.7VAshish Chaudhari2015-07-221-2/+2
| | | | - This changed with the ADS62P44 -> ADS62P48 design change
* ad9361: Updated copyright headersMartin Braun2015-07-216-6/+84
|