aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
Commit message (Collapse)AuthorAgeFilesLines
* various: use "std::abs" instead of "std::fabs"Michael Dickens2018-12-122-6/+6
| | | | | | + better compiler compatibility + let the compiler figure out the actual function IO signature that makes sense, instead of forcing float.
* lmx2592: Better "abs()" compiler compatibilityMichael Dickens2018-12-121-3/+3
| | | | Use "std::abs" instead of "abs" for better compiler compatibility
* rh: add highband spur reduction optionMark Meserve2018-12-124-4/+83
| | | | | | | | | - When highband_spur_reduction is enabled, the lowband LO will be disabled during highband operation. This improves spur performance, but also renders timed tune commands unusable due to the MPM call. - A warning is logged if the user uses a timed tune command that would change the state of the lowband LO, as the MPM call will occur immediately instead of at the given command time.
* TwinRX: Make routing to LO1 and LO2 mutually exclusivemichael-west2018-12-102-25/+15
|
* TwinRX: Tuning improvementsmichael-west2018-12-102-7/+12
| | | | | | - Added delay for VTUNE calibration as per ADF5355 and ADF5356 data sheets - Increased SPI clock to 10 MHz - Removed write to register 10 during tuning of ADF5356 to match ADF5355 code and reduce tune time
* TwinRX: Fix initializationmichael-west2018-12-101-62/+60
| | | | | | | - Reordered initialization - Fixed issue where LO2 initialization data was being written to LO1 - Moved SPI config to be a member variable so it is not constantly re-created - Changed SPI clock divider from hard-coded value to a calculation based on CODEC rate
* rh: fixed lowband tuningMark Meserve2018-12-071-1/+2
| | | | - Sometimes, SW1 was not updated when a switch to lowband occurred.
* uhd: Fix log statement for Port number on RFNOC blockSugandha Gupta2018-12-051-1/+1
| | | | | CE is display in decimal format and Port number will be displayed in Hex, as it represents Block Port on the crossbar
* rh: add handling for "all" loMark Meserve2018-12-042-9/+104
| | | | | | | - Adds "all" LO properties. - Adds handling of "all" value in all LO functions. - Re-adds value_error exceptions for illegal settings of LO2, which previously caused issues when the "all" LO was used from multi_usrp.
* mg: Unindent falsely indented block of codeMartin Braun2018-11-301-29/+29
| | | | Whitespace changes only.
* rh: add support for atr frontend controlMark Meserve2018-11-295-92/+103
|
* python: Add sync source to Python APIBrent Stapleton2018-11-291-0/+32
| | | | Exposing getters, setters, and options for multi_usrp sync source.
* e300: Type-cast fix for boostAndreas Müller2018-11-281-1/+1
| | | | | | | Fixes compiler errors on newer Boost. boost::posix_time::microseconds() requires a int64_t. Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
* x3xx: implement rfnoc get antenna functionsMark Meserve2018-11-262-0/+16
|
* x300: fixup minimum master clock rateBrent Stapleton2018-11-211-1/+1
| | | | | Recent clocking changes set the minimum master clock rate to 187.5MHz, instead of the actual 184.32MHz. This change corrects that.
* rh: fix typo in lo distribution propertiesMark Meserve2018-11-161-2/+2
|
* mpmd: add fpga_vesion_hash infoTrung Tran2018-11-161-0/+2
|
* mpmd: Improve error message for compat number mismatchesMartin Braun2018-11-161-6/+14
|
* x300: New mode to configure master clock rateScott Torborg2018-11-163-10/+104
| | | | | | | | Add a new clocking mode to automatically configure arbitrary master clock rates. Co-authored-by: Brent Stapleton <brent.stapleton@ettus.com> Co-authored-by: Martin Braun <martin.braun@ettus.com>
* rh: fix typo in initMark Meserve2018-11-141-1/+1
| | | | - This broke tx streaming via the multi_usrp API.
* uhd: Add device arg to enable dual ethernet for txCiro Nishiguchi2018-11-142-2/+17
| | | | | | | | UHD currently only uses a single ethernet link for tx data, even if the device is initialized with dual 10GbE links. Using both links when a DMA FIFO is present causes sequence errors due to DMA FIFO bandwidth limitations. This maintains the current default behavior but allows users to override it through a device arg "enable_tx_dual_eth".
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-1416-63/+63
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* mpmd: increase rpc timeout during reading mb sensorTrung Tran2018-11-131-1/+4
| | | | | | | Reading motherboard sensor, sometimes, takes more than 2 seconds. We don't have asynchronous RPC, increase this timeout will help long sensor reading such as reading GPSD value when GPSD connection is unreliable.
* rh: initialize switchesMark Meserve2018-11-071-3/+10
|
* x300: Remove 120 MHz optionMartin Braun2018-11-072-3/+1
| | | | | None of our FPGA images support a 120 MHz master clock rate, so the UHD code should match that.
* rh: adjust tx lo gain tableMark Meserve2018-11-052-7/+12
| | | | - Improves performance for frequencies greater than 3.5 GHz
* rh: add lo distribution supportMark Meserve2018-11-054-0/+161
| | | | | | | | | - This is a combination of 5 commits. - rh: add lo distribution board gpio expander - rh: add lo distribution mpm functions - rh: add code to conditionally initialize lo distribution - rh: change empty i2c device from exception to assertion - rh: add lo distribution board control
* rh: fix handling of spur_dodging argMark Meserve2018-11-013-7/+30
|
* cores:rx_frontend_core_3000: fix real modeGwenhael Goavec-Merou2018-10-291-0/+2
|
* rh: add support for rhodium devicesMark Meserve2018-10-2511-1/+3479
| | | | | | Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com> Co-authored-by: Alex Williams <alex.williams@ni.com> Co-authored-by: Derek Kozel <derek.kozel@ni.com>
* Test: Add unit test for eeprom_utilsmichael-west2018-10-251-1/+1
|
* X300: Prevent duplicate MAC and IP addresses from being programmed in MBMichael West2018-10-251-2/+24
| | | | EEPROM
* X300: Add recovery for duplicate IP addresses in EEPROMMichael West2018-10-252-19/+13
| | | | | - Limit initialization to ZPU communication if recover_mb_eeprom=1 is set in device args.
* B200: Restore asynchronous reset of AD936x.michael-west2018-10-172-4/+15
|
* lmx2592: remove initial scratch register readbackMark Meserve2018-10-171-24/+0
| | | | | - This is the only read operation in the driver, so removing it simplifies the driver's requirements significantly.
* lmx2592: add spur dodgingMark Meserve2018-10-171-22/+326
|
* lib: ad9361: De-boostify AD9361 driverMartin Braun2018-10-172-106/+195
| | | | No functional or API changes.
* multi_usrp: Add sync_source APIMartin Braun2018-10-111-6/+160
| | | | | | | | | | The sync_source API is an atomic setter for all sync-related settings. If supported by the underlying USRP, it can be faster to call set_sync_source() rather than sequentially calling set_clock_source() and set_time_source(). If the underlying device does not support the sync_source API, it will fall back to the set_clock_source() and set_time_source() APIs, making this change backward-compatiple.
* mpmd: Increase rpcc timeout when calling set_time_source()Trung Tran2018-10-111-0/+2
| | | | | | | set_time_source() for N310 and N300 can take longer than the default RPC client timeout of 2 seconds due to dboard initialization. We need increase this timeout, by using the init timeout value which is 2 minutes.
* mg: fixup set_rx_antennaTrung Tran2018-10-041-1/+1
| | | | | | After going to 2 radios configuration (FPGA), the channnel value is passed into this set_rx_antenna now have value either 0 or 1. We want the mapping of {radio_channel:cpld_channel} = {0:CHAN1} or {1:CHAN2}.
* multi_usrp: move definition of constantsAndrew Lynch2018-10-041-0/+2
| | | | ALL_MBOARDS and ALL_CHANS will be exported on GCC and MSVC
* cores: Update rx_frontend_gen3.v controls for 1/4-rate mixerMartin Braun2018-09-252-8/+12
| | | | | | | This tracks the changes on rx_frontend_gen3.v, which was updated to use a quarter-rate downconverter instead of a generic CORDIC. The X3x0 FPGA compat number is incremented as the rx_frontend is part of the device architecture rather than an RFNoC block.
* e320: Fix master_clock_rate settingSugandha Gupta2018-09-241-0/+4
| | | | | | The master clock rate was getting overwritten while running the codec loopback self test. So now we save the current rate before running the test and then reapply it.
* uhd: rfnoc: add async message handlerTrung Tran2018-09-141-2/+29
|
* mg: clipping frequencyTrung Tran2018-09-142-4/+7
| | | | | Clipping requested frequency to acceptable ranges in Magnesium TX/RX set frequency functions.
* x300_impl: remove default_buff_args propertiesTrung Tran2018-09-131-7/+0
| | | | ...that are already handled in udp_zero_copy.
* device3_io_impl: remove tx_hint[send_buff_size]Trung Tran2018-09-131-6/+0
| | | | | we're no longer need this. Because there are default send buff size in each transport type impl.
* mpmd: add link speed to xport udpTrung Tran2018-09-131-6/+29
| | | | This is used to determine send_buff_size and recv_buff_size
* fixup! DDC/DUC: switch CORDIC -> DDS for all relevant variable namesmichael-west2018-09-132-12/+12
|
* e320: gpio: Fix front panel GPIO readbackSugandha Gupta2018-09-121-1/+4
| | | | The gpio devtest passes after this fix. Enabling the test