| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
- Included list header in soft_reg header
- Fixed typo in x300_impl
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| |
| | |
set LibUHD to required
* If required component's dependencies aren't met, CMake will throw an error unless user specifically disables it
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
| |
| |
| |
| |
| |
| | |
* 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
|
| | |
|
| |
| |
| |
| |
| |
| | |
* Wrapped uhd::device_addrs_t, added find functions for multi_usrp, multi_usrp_clock
* Replaced getopt with public domain implementation
* Minor bugfixes
|
| |
| |
| |
| | |
This preps the code for merging common registers altogether.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* 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
|
| |
| |
| |
| |
| | |
* On utility level, force user to use --args=type=foo
* In each loader, throw an error if args are ambiguous
|
| |
| |
| |
| |
| | |
- Fixes USB hang issues on OS X
- Uses usb_errors
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
- Added get_register_info function to get bitwidth and R/W access for a registers
- Better error reporting
|
| | |
|
|/
|
|
|
|
| |
- Added regmap object to soft_register library
- Added a regmap_db object to hold multiple regmaps/dbs
- Multiple soft_register enhancements
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
| |
This commit introduces the "gps_gpgga" sensor and exposes it via
the property tree.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
| |
This commit introduces the "gps_gprmc" sensor and exposes it via
the property tree.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
- Created AD936x manager class
- Moved functionality from B2x0 and E310 into manager
- Separated property tree + perifs initialization in both device classes
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
- Delays changed after ADC config change and FPGA fixes
|
| |
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
This reverts commit a12b24027fe1af9ca51949f6a9333ac5451690ef.
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
- We added additional microcode to configure DCI matching,config rate,etc
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
- This changed with the ADS62P44 -> ADS62P48 design change
|
| |
|