aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into ashish/gpio_atr_reduxAshish Chaudhari2015-10-154-21/+54
|\
| * UBX: Support for Integer-N mode step size controlmichael-west2015-10-151-17/+46
| | | | | | | | - Also checks for invalid int_n_step values.
| * b200: Updated minimum clock rate to match DCM changesMartin Braun2015-10-143-4/+8
| | | | | | | | | | | | Lowest master clock rate is now 220 kHz. At low clock rates, the convergence time for the DC offset and quadrature calibration times is much larger, though.
* | usrp3: Fixed issue where ATR Idle could clobber GPIO outAshish Chaudhari2015-10-102-10/+21
| | | | | | | | | | | | - gpio_atr_3000 will not blindly use the mask when writing the ATR and GPIO OUT values. The mask will be ANDed with the value in the ATR Disable register
* | usrp3: Added more inline comments to gpio_atr_3000Ashish Chaudhari2015-10-071-5/+31
| |
* | usrp3: Cleaned up some GPIO ATR constants and typesAshish Chaudhari2015-09-302-13/+32
| | | | | | | | | | - Removed implicit type converstions in ATR address passing - Changed magic numbers to named constants
* | usrp3: Added new GPIO ATR 3000 coreAshish Chaudhari2015-09-2921-265/+545
|/ | | | | | | | - Refactored GPIO ATR definitions - Added new 3000 core with a more efficient API - Added a separate db_gpio_atr core to control the ATR bus - Ported b2xx, e3xx and x3xx to the new core - Minor cleanup
* b200, multi_usrp: More consistent messages regarding auto MCRMartin Braun2015-09-172-10/+10
|
* b2xx,e3xx,x300: Bumped compat numbers for 3.9.1 UHD releaseAshish Chaudhari2015-09-083-4/+4
| | | | | | | - b200: compat 11 - b200mini: compat 2 - e300: compat 11 - x300: compat 15
* b2xx: Removed DCM reset bit (obsolete)Martin Braun2015-09-082-3/+2
|
* b200mini: Change AD9364 interface timing for new IO design.Ian Buckley2015-09-081-17/+3
| | | | Removes all DCM reset codes.
* cores: Corrected scaling_adjustment calculationIan Buckley2015-09-084-12/+42
| | | | | | Compensate for headroom required to rotate a signal in the CORDIC. Fixes some CORDIC-related clipping issues, that reduced ENOB to 15 or 14.5 bits.
* b200: fix startup bad USB state detection printout to use endl instead of ↵Michael Dickens2015-09-081-1/+1
| | | | flush to print cleanly.
* X300: Fix base address for FP GPIOmichael-west2015-09-011-1/+1
|
* UHD: Fix max287x N divider rangesmichael-west2015-09-011-5/+5
|
* Fixed minor warningsNicholas Corgan2015-09-014-6/+6
| | | | | | * Unreferenced exceptions in try-catch statements * Incorrect function documentation * Unlabelled unused variables
* b200: on startup when the bad USB state is detected, print this out for the ↵Michael Dickens2015-09-011-0/+1
| | | | user to see, with brevity.
* B2XX: Added B200mini supportmichael-west2015-08-1710-92/+277
|
* x300: Removed call to is_pps_presentAshish Chaudhari2015-08-171-4/+4
| | | | - It's status is thrown away anyway
* C API: added soft register APINicholas Corgan2015-08-141-0/+48
|
* gps_ctrl: code cleanupNicholas Corgan2015-08-141-11/+11
|
* multi_usrp: comment out for-now unused function to remove warningNicholas Corgan2015-08-141-2/+2
|
* b200,e300,x300: Updated compat number for release 3.9.0Ashish Chaudhari2015-08-143-3/+3
| | | | | | - b200: compat 10 - e300: compat 10 - x300: compat 14
* ad9361: Delay Tx Quad Cal from initialization to streamer startTom Tsou2015-08-131-2/+8
| | | | | | | | | | | | | | | | | | | Patch addresses issue: #742 "tx_waveforms seems to produce unexpectedly large image" Tx Quad Cal performance is temporally dependent with better results when run after the AD9361 is configured for transmission than at initialization. This gets is roughly 5-10 dB of additional quadrature image suppression. Even better performance can be reached when Tx Quad Cal is run after streaming and the AD9361 is actively transmitting. Calibration in this state, however, requires user intervention by retuning the transmit chain by > 100 MHz. Total IQ suppression should be in the range of 40-50+ dBFS dependent on operating frequency. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* ad9361: Use separate Tx and RX frequency calibration intervalsTom Tsou2015-08-132-19/+39
| | | | | | | | | | | | | | | | | | Patch addresses issue: #872 "B200: Tx and Rx calibration share same frequency state" ADI specifies recalibration for certain paths when the LO shifts by more than 100 MHz. Tx and Rx maintain independent LO frequencies so use separate values for determining whether to perform re-calibration at tuning intervals. Also, maintain last calibration frequencies from initialization and clock rate changes. Doing so prevents a re-calibration if the first requested Tx or Rx frequency is close to the default values of 850 and 800 MHz respectively. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* ad9361: Reconfigure RF and baseband DC offset correctionTom Tsou2015-08-132-37/+39
| | | | | | | | | | | | | | | | | | | | | | | | Addressed and related issues: #186 "B200: Catalina RX signal distortion" #821 "Incorrect behavior with auto DC Offset correction turnned off" #820 "Rx DC Offset Correction Convergence on B2xx Dependent on Master Clock Rate" #755 "Demodulate IQ signal amplitude oscillation on B210 at 200 MHz carrier" Due to recent change "ad9361: Invert phase on Rx LNA bypass path", we now have uniform phase alignment across the entire gain range. This drastically improves performance of RF DC tracking - not to be confused with the - active and input dependent - baseband (BB) DC tracking loop. RF DC tracking is not affected by input signals and updates during gain changes. The updated configuration provides improved DC suppression for operation whether BB tracking loop is enabled or disabled. New behavior differs from the previous case where disabling BB tracking would clear all - static and active - calibration tables. Now, static correction tables are not wiped when BB tracking is turned off. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* 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