aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* python: populated the tune_result_t bindingKevin Rigney2018-11-151-0/+6
| | | | | | The Python API bindings for the tune_result_t structure was not complete. This caused problems when trying to use it, as when tuning the TwinRX daughtercard.
* python: adding device_addr_t to Python APIBrent Stapleton2018-11-141-0/+32
| | | | | | | Add support for device_addr_t to the Python API. Most functions are exposed normally. The main exception is the constructor from a map of strings, which is replaced by a factory function called `make_device_addr`.
* python: tighten the scope of releasing the GILBrent Stapleton2018-11-141-20/+22
| | | | | Only release the GIL for the calls to send() and recv(), instead of the entire wrapper functions.
* python: expose streamer timeoutsBrent Stapleton2018-11-141-16/+27
| | | | | | Expose optional timeouts on send, recv, and recv_async_msg. These timeouts do not apply to the setup in the wrapper functions, only the calls to the streamer functions.
* 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-1433-380/+380
| | | | | | | | | | | | | | | | | 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.
* rfnoc: Replace some [] with .at() in radio_ctrl_implMartin Braun2018-11-131-8/+8
| | | | | This makes it easier to detect errors in derived classes that expect getters in radio_ctrl_impl to also do error checking.
* 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
|
* cmake: Change SOVERSION and VERSION for the library filesMartin Braun2018-10-291-2/+2
| | | | | | The SOVERSION will now match the ABI string, and the VERSION matches the full UHD version. This will allow easier parallel installation of multiple versions of UHD.
* cores:rx_frontend_core_3000: fix real modeGwenhael Goavec-Merou2018-10-291-0/+2
|
* python: Add missing constructors of time_spec_tPiotr Krysik2018-10-251-0/+3
| | | | | | Currently Python interface of time_spec_t exposes only constructor with 'double' parameter. Other constructors are also important as they provide higher precision. This change adds them to the Python API.
* rh: add support for rhodium devicesMark Meserve2018-10-2514-3/+3580
| | | | | | 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-252-2/+2
|
* X300: Prevent duplicate MAC and IP addresses from being programmed in MBMichael West2018-10-252-2/+104
| | | | 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.
* block_ctrl_base: add UHD_SAFE_CALL to destructorTrung Tran2018-10-241-13/+15
| | | | | This will stop the exception throw during destructor of E310 where new FPGA image(idle image) is load.
* UHD: Fix RX streamer SOB and EOB handlingMichael West2018-10-241-2/+9
|
* twinrx: revise adf5356 frac2 register calculationMark Meserve2018-10-171-1/+1
| | | | | - If FRAC2 isn't exactly FRAC1 at certain frequencies, drifting spurs can be seen in the spectrum
* 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-172-23/+330
|
* 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.
* uhd: Add traffic counter to null source sinkCiro Nishiguchi2018-10-111-0/+19
|
* 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.
* uhd: Fix rounding in ddc/duc rate calculationCiro Nishiguchi2018-10-052-2/+2
| | | | | | | | The DDC and DUC convert the requested rate to an integer before selecting a decimated / interpolated rate. This causes the selection to select a lower rate than requested in some corner cases. The effect is more pronounced when the input rate of the DDC or the output rate of the DUC is very small.
* 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
* uhd: reconcile time_spec operators with boost conceptsMark Meserve2018-09-281-14/+9
| | | | | | - Removes operator+ which was ambiguously defined in some cases - Adds additive concept for time_spec_t and double operators - Remove unnecessary ctime header
* 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-147-9/+421
|
* radio_ctrl: add disable time stampTrung Tran2018-09-142-0/+10
|
* mg: clipping frequencyTrung Tran2018-09-142-4/+7
| | | | | Clipping requested frequency to acceptable ranges in Magnesium TX/RX set frequency functions.
* usb: fix dummy compilation in msvcMark Meserve2018-09-141-0/+8
|
* 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
* udp_zero_copy: add default xport params.Trung Tran2018-09-131-14/+58
|