aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/common
Commit message (Collapse)AuthorAgeFilesLines
* uhd: Replace clocking_mode_t unscoped enum with scoped versionMartin Braun2017-02-172-4/+4
| | | | | This is not a functional change, but it marks the usage of scoped enums in UHD. Commits past this one may also use this C++11 feature.
* uhd: replace BOOST_FOREACH with C++11 range-based for loopAndrej Rode2017-02-106-15/+11
| | | | | Note: This is the first commit that uses for-range, and range-based for-loops are now usable for UHD development.
* Moved default register values into ic_reg_mapDerek Kozel2017-01-301-32/+13
|
* lib: add default ctors to structs and initialize members properlyAndrej Rode2017-01-121-3/+15
|
* lib: remove statements after throwAndrej Rode2017-01-121-1/+1
|
* ad9361: assign before throwAndrej Rode2017-01-121-1/+1
|
* lib: Removed more superfluous variablesMartin Braun2016-11-281-6/+6
|
* Remove all boost:: namespace prefix for uint32_t, int32_t etc. (fixed-width ↵Martin Braun2016-11-0823-426/+427
| | | | | | | | types) - Also removes all references to boost/cstdint.hpp and replaces it with stdint.h (The 'correct' replacement would be <cstdint>, but not all of our compilers support that).
* max2871: Added label for the bit region VAS_DLYPaul David2016-10-051-0/+7
| | | | - Also added a template specialization for enabling the VAS_DLY bit locations based on VAS_TEMP setting (aka retune)
* Frontend corrections: Provide new function for RFNoC-based radioNicolas Cuervo2016-08-112-3/+64
|
* ad936x: Loopback check now takes peeker/poker functors instead of assuming ↵Martin Braun2016-08-092-10/+7
| | | | any kind of interface
* ad9361: Added option for safe SPIJonathon Pendlum2016-08-094-10/+65
| | | | - Also added check for reading chip ID
* common: adf5355: 'Fix' compiler warningMoritz Fischer2016-08-011-2/+2
| | | | | | | GCC6 doesn't like nested /* /* */ */ comments (rightly so), and complains. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* adf_synth: Added muxout config API to 435x controllersAshish Chaudhari2016-07-191-0/+34
|
* twinrx: Added ADF5355 control moduleAshish Chaudhari2016-07-193-0/+434
| | | | | - Added regmap - Added controller class
* Updated code to work for new minimum dependenciesNicholas Corgan2016-03-211-1/+2
| | | | | * Removed code referencing now-unsupported versions of Boost * Added <stdint.h> includes where needed
* Merge branch 'maint'Ashish Chaudhari2016-02-181-9/+134
|\ | | | | | | | | | | Conflicts: host/lib/usrp/cores/gpio_core_200.cpp host/lib/usrp/dboard/db_ubx.cpp
| * UBX: Phase synchronizationmichael-west2016-02-181-9/+134
| | | | | | | | | | | | | | - Disabled MAX2871 VCO auto selection for phase sync - Added checks for new phase sync constraints recently published by Maxim - Added dboard_clock_rate option for X300 - Adjusted timing of SYNC signal relative to dboard referenc clock
* | adf435x: Refactored ADF435X control codeAshish Chaudhari2016-02-125-225/+365
| | | | | | | | | | | | - Removed adf435x_common and replaced with a real encapsulated interface - Looks similar to the MAX287X code - Updated all DB classes to use the new common code
* | prop_tree: Multiple API enhancements to uhd::propertyAshish Chaudhari2016-02-111-14/+14
| | | | | | | | | | | | | | | | | | - Added desired and coerced values and accessors to property - Added support to register desired subscribers - set APIs don't reallocate storage for a property value - Renamed callback method registration APIs - Registering 2 coercers or publishers for a property will throw - Registering a coercer and a publisher for the same property will throw
* | Merge branch 'maint'Martin Braun2016-01-211-3/+1
|\|
| * cmake: removed unnecessary includeNicholas Corgan2016-01-181-3/+1
| |
* | n230: Multiple usability improvementsAshish Chaudhari2016-01-132-9/+15
| | | | | | | | | | | | | | - Improved FW/FPGA compat mismatch error messages - Added power-cycle message to loader - Disabled "SW too new for HW" version check - Added retry mechanism in n230_find to allow for ARP updates
* | usrp3,n230: Moved all shared FW-Host headers to the host dirAshish Chaudhari2016-01-082-1/+103
| |
* | n230: Added N230 device supportAshish Chaudhari2016-01-054-0/+596
| |
* | Merge branch 'maint'Ashish Chaudhari2015-12-151-4/+4
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/b200/b200_impl.hpp host/lib/usrp/e300/e300_fpga_defs.hpp host/lib/usrp/x300/x300_fw_common.h
| * ADF4002: Fix register programming (bug #974)michael-west2015-12-151-4/+4
| |
| * max287x: assert target_freqMartin Braun2015-10-161-0/+1
| |
* | max287x: assert target_freqMartin Braun2015-10-191-0/+1
| |
* | Merge branch 'maint'Ashish Chaudhari2015-10-161-4/+35
|\|
| * fixup! ad9361: codec manager needs more includes on some platformsMartin Braun2015-10-121-0/+1
| |
| * B200: Fix for CODEC loopback test failuremichael-west2015-10-121-4/+34
| | | | | | | | - Add delay after putting CODEC in loopback mode
* | 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.
* UHD: Fix max287x N divider rangesmichael-west2015-09-011-5/+5
|
* Fixed minor warningsNicholas Corgan2015-09-011-1/+1
| | | | | | * Unreferenced exceptions in try-catch statements * Incorrect function documentation * Unlabelled unused variables
* B2XX: Added B200mini supportmichael-west2015-08-174-4/+19
|
* 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>
* ad936x: Disable AGC by defaultMartin Braun2015-08-101-1/+1
|
* ad9361/b200/e300: Refactored AD936x + perifs managementMartin Braun2015-07-294-3/+428
| | | | | | - Created AD936x manager class - Moved functionality from B2x0 and E310 into manager - Separated property tree + perifs initialization in both device classes
* ad9361: Updated copyright headersMartin Braun2015-07-216-6/+84
|
* ad9361: Update Tx Quad Cal to match current gain tablesTom Tsou2015-07-131-1/+1
| | | | | | | | | | | | | | | | Fixes issue #828 "B200: Tx quadrature calibration regression in master" Following commit added new gain table settings to reflect updated values from ADI. Gain indices used by Tx Quad Cal were not matched to accommodate the new tables. 2b06c38 "b2xx: dc offset and iq imbalance correction control" Requirement for Tx Quad Cal is for TIA gain and analog LPF gain to be set at 0 dB, or 0x20 in the gain table. Final effect is a dramatic decrease in Tx DC offset and quadrature image. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* ad9361: Prevent positive loop gain on Rx quadrature trackingTom Tsou2015-07-131-1/+1
| | | | | | | | | | | | | | Patch fixes a portion of #807 "B210: severe distortion on In-phase data for some gain settings" ADI recommends that the "Prevent Pos Loop Gain" setting be enabled to prevent the Rx quadrature tracking loop from becoming unstable at low power levels. ADI Linux kernel driver also reflects this setting. We do not follow the ADI recommendation. Adjust accordingly. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* ad9361: Invert phase on Rx LNA bypass pathTom Tsou2015-07-131-1/+8
| | | | | | | | | | | | | | | | | | | This patch resolves issue #823 "B200: Receive RF DC calibration makes calibration worse below 34 dB" According to ADI reference documents, enabling any of the 3 LNA's in the receive path causes a 180 degree phase shift. Correspondingly, we invert the LNA bypass path (gain indices below 34 dB) to match. Testing, however, reveals that one of these statements or the polarity inversion setting itself is false. Disabling the switch results in expected behavior and proper phase alignment. Overall effect is up to 60 dB of DC offset suppression ahead of the Rx analog LPF. This reduces the problematic dependency on active baseband tracking and may resolves multiple tracking stability issues. Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
* Merge branch 'maint'Martin Braun2015-07-081-2/+2
|\
| * B200: New AD9361 I/O timing programming to work with new b200_io.v logic design.Ian Buckley2015-07-081-2/+2
| |
* | ad9361: brought in Boost.Assign std::map workaround for MSVC 2013Nicholas Corgan2015-06-291-4/+11
| |
* | Merge branch 'maint'Martin Braun2015-06-094-7/+42
|\| | | | | | | | | | | | | Conflicts: host/lib/usrp/common/ad9361_ctrl.hpp host/lib/usrp/common/ad9361_driver/ad9361_device.h host/lib/usrp/e300/e300_remote_codec_ctrl.hpp