aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
Commit message (Collapse)AuthorAgeFilesLines
* ad9361: Improve loggingMartin Braun2019-07-181-10/+15
| | | | | - Remove some spurious \n - Remove some usage of boost::format
* Device3: Fix MTU and default frame sizesMichael West2019-07-185-158/+272
| | | | | | | | | | The latest changes to the get_*x_stream() functions to calculate the MTU for the channel caused default frame size values to be ignored. This change fixes that by changing the key from "send/recv_frame_size" to "mtu" and then changing the implementations of make_transport() constrain the frame size values based on the "mtu" value as well as any device and/or transport-specific limits. Signed-off-by: Michael West <michael.west@ettus.com>
* sbx: Only update ATRs when lock state changesMartin Braun2019-07-171-5/+7
| | | | | | | The SBX tracks the LO lock state via on-board LEDs. However, querying the LO lock status spawns an update to the entire ATR registers. To reduce the number of register reads/writes, the LO lock status LED is now only updated if it changed.
* rfnoc: Add update_graph() API callMartin Braun2019-07-151-0/+4
| | | | | | Blocks that change scaling, tick rate, or sampling rate can now notify the graph to update streamers. Before, this was handled only by mult_usrp, and only for DDC and DUC blocks.
* device3: Remove unused 'rate' argument from update_?x_streamers()Martin Braun2019-07-153-9/+12
|
* device3: rfnoc: formatting changesBrent Stapleton2019-07-152-44/+47
| | | | | | | | | | | | | Applying clang-format to files used in upcoming changes. clang-format -i --style=file host/include/uhd/rfnoc/node_ctrl_base.hpp clang-format -i --style=file host/lib/rfnoc/ddc_block_ctrl_impl.cpp \ host/lib/rfnoc/duc_block_ctrl_impl.cpp \ host/lib/rfnoc/legacy_compat.cpp \ host/lib/usrp/device3/device3_impl.cpp \ host/lib/usrp/device3/device3_impl.hpp \ host/lib/usrp/device3/device3_io_impl.cpp \ host/lib/usrp/x300/x300_impl.cpp
* x300: dac: Replace uhd::get_system_time() with steady_clockMartin Braun2019-06-121-5/+4
|
* ubx: add temperature compensation modeMark Meserve2019-06-121-0/+41
| | | | | | | - This mode defaults to "disabled" (no change from current behavior) - Enabling this mode fixes some instances where the MAX287x would fail to lock when in integer-n mode - Enabling this mode increases the maximum lock time to up to 100ms
* twinrx: increase rev c lo1 charge pump default valueMark Meserve2019-05-281-1/+1
| | | | - This change improves spur performance for the Rev C TwinRX daughterboard
* X300: fixed get_mtu for pcieMatthew Crymble2019-05-251-1/+4
| | | | Signed-off-by: Matthew Crymble <matthew.crymble@ni.com>
* cores: Use NSDMI consistently in ?x_dsp_core_3000.*Martin Braun2019-05-222-23/+16
| | | | | | There are edge cases where the lack of initialization of _current_freq could crash libuhd. To resolve this, we initialize all elements of those cores to sensible values using NSDMI.
* cores: Apply clang-format to ?x_dsp_core_3000.*Martin Braun2019-05-222-230/+268
|
* mpmd: image_loader: Add support for devices without fpga_typeSugandha Gupta2019-05-211-1/+5
| | | | | This fixes fpga image loading for devices which not have SFP port and hence no fpga_type e.g. E310.
* cmake: Remove superfluous "E300/E320 enabled" messagesMartin Braun2019-05-161-2/+0
|
* twinrx: set lo2 to use new low spur tuning modeMark Meserve2019-05-072-6/+3
|
* twinrx: add lo charge pump propertiesMark Meserve2019-05-025-19/+116
|
* utils: add support for directly updating components from image_loaderAndrew Lynch2019-05-021-71/+96
|
* mpmd: Release resources on destructionVirendra Kakade2019-05-012-4/+6
| | | | | This will clear the property tree, block registry, transport managers, and motherboard list on destruction of mpmd_impl.
* mpmd: Fix spurious reclaim call after unclaimVirendra Kakade2019-05-011-3/+6
| | | | | | | | | The reclaim task loop is asnychronous to the main thread which can result in spurious reclaim call to the device after unclaim has been called. This is especially risky if the device has already entered a non-serviceable state after unclaim e.g. idle state. Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* device3: Constraint send/recv_frame_size based on down/upstream MTUSugandha Gupta2019-05-016-1/+73
| | | | | | We need to properly contraint the send/recv_frame_size based on the minimum MTU of all the down/upstream blocks. This fixes the issue with E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
* e310/e320: Move E310 to MPM architecture and refactorSugandha Gupta2019-05-0150-6131/+1486
| | | | | | | | | | | | - Turns the E310 into an MPM device (like N3xx, E320) - Factor out common code between E320 and E310, maximize sharing between the two devices - Remove all pre-MPM E310 code that is no longer needed - Modify MPM to remove all existing overlays before applying new ones (this is necessary to enable idle image mode for E310) Co-authored-by: Virendra Kakade <virendra.kakade@ni.com> Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
* mpm: Add option for muxed data stream for liberio transportSugandha Gupta2019-05-012-2/+18
| | | | | | If the number of channels for embedded mode streaming is 4 (1 for ctrl, 1 for async messages and 2 for data ), we need to mux the data transport. This is needed for E310
* ad9361: Fix return values for tune and set_clock_rateSugandha Gupta2019-05-012-3/+11
| | | | | | This fixes a potential mismatch between the returned frequency and clock rate and the actual value. The new function get_clock_rate is need for async call to set_clock_rate in E3xx devices
* b200: enable usage of custom bootloaderMark Meserve2019-04-113-79/+292
| | | | | - Update MB EEPROM - Add bootloader load command to fx3 util
* uhdlib: Add dpdk_zero_copy.hppAlex Williams2019-04-103-3/+3
| | | | | dpdk_zero_copy.hpp was referenced in multiple places using relative paths. Let's throw it in uhdlib for easy access.
* x300: Add support for DPDK transportsAlex Williams2019-04-103-7/+166
| | | | | Use dpdk_simple together with a control transport factory. Where udp_zero_copy is used, use dpdk_zero_copy if use_dpdk=1.
* X300: add capability to flash NI-2974 FPGAThomas Vogel2019-04-031-2/+7
| | | | | | The NI-2974 has a X310 inside but reports a different "product" when polled. This prevents the image_loader from flashing a new FPGA image, this patch enables this.
* gpsd: fix API for 'gps_read'Michael Dickens2019-03-291-0/+4
|
* lmx2592: fixup for correct frequency borderstvogel-nid2019-03-131-2/+2
| | | | | LMX2592 frequency borders were missing the correct exponent ('e6') in some cases.
* uhd: mpm: update all license header w/ "-or-later"Brent Stapleton2019-03-0814-14/+14
| | | | Updating all SPDX license identifiers to include "-or-later"
* x300: Change PLL CP currents in x300_clock_ctrlmguyler-ni2019-02-281-8/+8
| | | | | - modify PLL charge pump values to improve phase coherence - affects reference clocks of 11.52 MHz, 23.04 MHz, and 30.72 MHz
* x300: device args: Removed invalid 200 MHz sysref rateMartin Braun2019-02-281-1/+1
|
* x300: Catch more inconsistencies in x300_device_argsMartin Braun2019-02-282-3/+24
| | | | | | - ADC self test had magic numbers for default duration - resource and addr can be no longer be both specified without a warning - second_addr requires addr now, or you get a warning
* x300: Enable x300_device_args.to_string()Martin Braun2019-02-281-2/+31
| | | | | Before, it was only returning the master clock rate. Note: This function is never used in UHD, this is merely for completion's sake.
* x300: Enable 11.52 MHz and 23.04 MHz system ref ratesMartin Braun2019-02-281-1/+2
| | | | | | | | The addition of the constrained device args didn't account for those rates, and thus, they were effectively unusuable ever since. This adds those rates back as valid system ref rates. This does not touch the actual clocking code in any way, x300_clock_control has supported those rates for a while now.
* rh: Fix typo in setting up RX frontendAlex Williams2019-02-271-1/+1
| | | | | | The function for setting up the RX frontend was erroneously looking at previous TX settings to determine whether to submit a command. This fixes the issue.
* python: Replace Boost.Python with PyBind11Martin Braun2019-02-224-489/+156
| | | | | | This does not change the Python API itself, but it is still a significant change. Most importantly, it removes the dependency on Boost.Python.
* mpmd: Fix typecast warning in property tree default settingsMartin Braun2019-02-221-1/+1
|
* mpmd: Allow reclaim failures on component updatesMartin Braun2019-02-223-14/+67
| | | | | | | | | | | | MPM has a flag that identifies component reloads as requiring to restart the RPC server. This change honours that flag, and doesn't cause a fatal failure when reclaims fail to ack for certain operations. For example, running uhd_image_loader on an N310 could fail after the FPGA was reloaded because the communication to the RPC server was temporarily interrupted. This is not always avoidable, since the RPC server does actually go down, and Ethernet connections might also be lost. So, we cut our losses and accept failures in that case.
* rh: revise correction data usageMark Meserve2019-02-213-11/+19
| | | | | | | | | | - UHD's calibration utilities use the LO frequency, so this is the frequency we should be using too. - Disables loaded corrections in lowband, as the utilities will not generate valid corrections at these frequencies. Manual corrections can still be added via the property tree. - Changed corrections logging to include frequency and less certainty of the correction file's existence.
* rh: reset rx iq balance on initMark Meserve2019-02-211-0/+1
| | | | | - Fixes a bug where a previous setting could carry over between sessions.
* RFNoC: Disable FC ACK packets for lossless linksMichael West2019-02-181-0/+1
| | | | | | | FC ACK packets are unnecessary on lossless links and degrade overall performance. This change disables those packets on all lossless links. Signed-off-by: Michael West <michael.west@ettus.com>
* x300: Enable ADC gain through RFNoC APIMartin Braun2019-02-152-29/+83
| | | | | | The RFNoC call set_rx_gain() would previously ignore the additional 6 dB that can be set on the ADC. On the BasicRX board in particular, this meant there was no RX gain setting at all.
* n230: n230_image_loader: Remove dead store for ptrMoritz Fischer2019-02-151-1/+1
| | | | | | | Remove dead store for ptr. 'ptr += 4' is useless, since nothing uses 'ptr' afterwards. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* uhd: Replace all usage of boost::noncopyable with uhd::noncopyableMartin Braun2019-02-1527-47/+47
| | | | | | This fixes the build errors that occur due to switching locations of noncopyable.hpp within Boost, and also allows us to remove boost::noncopyable in one fell swoop.
* b200_cores: Replace usage of boost::mutex with std::mutexMartin Braun2019-02-154-7/+10
|
* b200: Use uhd::noncopyableMartin Braun2019-02-152-3/+6
| | | | | This removes the usage of boost::noncopyable in some places and serves as a reference for how to do that.
* E31x: Destruct RFNoC before loading idle imagemichael-west2019-01-311-0/+2
| | | | | | | Eliminates errors during application shutdown by explicitly destroying RFNoC blocks before loading the idle image. Signed-off-by: michael-west <michael.west@ettus.com>
* Device3: Fix flow control window and intervalmichael-west2019-01-312-9/+14
| | | | | | Fixes streaming on E310 after BBFC changes. Signed-off-by: michael-west <michael.west@ettus.com>
* RFNoC: Limit number of control packets in flightmichael-west2019-01-312-17/+21
| | | | | | | | Limit number of unacknowledged control packets to the number of receive frames in the transport to prevent the transport from getting locked up or being overrun by ACK packets. Signed-off-by: michael-west <michael.west@ettus.com>