aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* rpc: improve exception handling for reachability checksMark Meserve2019-10-151-2/+3
| | | | | - Handle exception created during RPC client creation - Corrected a catch block for UHD exceptions
* rpc: add exception when client constructor failsMark Meserve2019-10-151-3/+36
|
* rpc: convert client to sptrMark Meserve2019-10-151-12/+13
|
* rpclib: add patch file for constructor hangMark Meserve2019-10-151-0/+36
|
* rpclib: fix hang on connection error during constructionMark Meserve2019-10-151-1/+4
|
* rh: Add missing includes in rhodium_cpld_ctrl.hppMartin Braun2019-10-111-2/+4
|
* fixup! x300: Introduce conn_managerMartin Braun2019-10-111-1/+1
|
* n320: updated rhodium dboard mcr initializationnitest2019-10-101-1/+2
| | | | | db0 is used as the master for driving the radio path and must be the dboard used to set the master clock rate.
* log: Honour log levels on session initMartin Braun2019-10-101-0/+3
| | | | | | | | | | The first log message of UHD is always something like this: [INFO] [UHD] linux; GNU C++ version [...] However, it was being printed regardless of the requested log level. This will disable all initial log messages if the requested log level is greater than INFO.
* logging: On POSIX, don't use logging colors on non-ttyMarcus Müller2019-10-091-1/+6
|
* lib: utils: Add is_a_tty()Martin Braun2019-10-071-0/+55
| | | | | | | This is a portable version of POSIX's isatty(). Windows has its own version, called _isatty(). UHD thus gains its own, portable version. The underscores aren't beautiful, but they're necessary so we can distinguish the POSIX version from the UHD version.
* x3xx: update maximum bitfile sizeMark Meserve2019-10-041-1/+1
|
* python: fix set_command_time default mboarderickshepherdNI2019-10-041-1/+1
| | | | | Fixup for the Python API's default mboard value in multi_usrp::set_command_time.
* Revert "uhd: Check property type at access; error if mismatch"Martin Braun2019-09-301-24/+1
| | | | | | | This reverts commit 94592641f0647563bc4d2163805d5284a6796273. The commit itself was OK, but it changed the requirements such that UHD could only be compiled with C++11.
* Device3: Restore default buffer sizes for MPMD UDPMichael West2019-09-131-0/+2
| | | | | | | | | The latest change to fix MTU and default frame sizes inadvertantly removed the default send and recv buffer sizes in the MPMD UDP transport, which caused receive timeouts and underruns at higher sample rates. This change restores those values. Signed-off-by: Michael West <michael.west@ettus.com>
* x300: cdecode: Fix fallthrough warningMartin Braun2019-09-101-0/+9
|
* rfnoc: Read cmd FIFO size from blocks & configure ctrl_ifaceMartin Braun2019-09-043-4/+29
| | | | | | | | | | This requires noc_shell compat number 6.0. It will allow sending as many command packets, but no more, than there is space. Updated FPGA images for devices: - X310/X300 - N300/N310/N320 - E310/E320
* uhd: Check property type at access; error if mismatchAaron Rossetto2019-09-041-1/+24
|
* rx_fe_3000: formatting for upcoming changesBrent Stapleton2019-08-252-89/+107
|
* dboard_eeprom: Remove trace logs for EEPROM readoutMartin Braun2019-08-251-8/+0
|
* fixup! uhd: Changed mboard_eeprom_t interface, refactored MB EEPROM codeSugandha Gupta2019-08-251-0/+1
|
* mg: Allow for timeout on retuneMartin Braun2019-08-223-1/+19
| | | | set_freq() calls now have a 15 seconds timeout.
* x300: fix x300 GPIO ATR property tree access typeeklai2019-08-221-6/+49
| | | | | | | | | | | | | | In x300_radio_ctrl_impl.cpp, the GPIO attributes GPIO_SRC, GPIO_CTRL, and GPIO_DDR are initialized as with vector<string> values in the property tree. However, they are accessed in set_gpio_attr() and get_gpio_attr() as vector<uint32_t>, which will crash. This commit changes these access methods to be consistent with the attribute value types. This is not an issue for those who use the multi-usrp interface, since that interface's set_gpio_attr() and get_gpio_attr() methods are implemented with the correct typing for GPIO_SRC, GPIO_CTRL, and GPIO_DDR.
* boost: Replaced units::demangle with core::demangle where appropriateMartin Braun2019-08-221-3/+3
| | | | Boost moved this around in version 1.58.
* multi_usrp: Fix typo in get_user_settings_iface()Brent Stapleton2019-08-191-1/+1
|
* x300: Introduce conn_managerMartin Braun2019-08-165-31/+64
| | | | | | | This is a superclass to eth_manager and pcie_manager, since they usually do the same thing. This saves storing and passing multiple pointers. Also, x300_impl now stores a shared_ptr of the conn_manager, because we'll need to pass it around in the future.
* uhd: Add UHD_FALLTHROUGH attributeMartin Braun2019-08-161-0/+1
| | | | | | | | | | | | | | | | | This provides a platform-independent attribute to allow fallthroughs in switch statements. Example: switch (foo) { case BAR: do_something(); UHD_FALLTHROUGH case BAZ: do_another_thing(); } The usage of UHD_FALLTHROUGH will avoid a compiler warning if indeed the fallthrough was intentional. The associated warning (-Wimplicit-fallthrough) is only available on gcc and Clang.
* RFNoC: Re-enable flow ctrl for blocks on same xbarMichael West2019-08-141-1/+1
| | | | | | | | | | | Prior commit disabled flow control for all lossless links, including links between blocks on the same crossbar. That caused packets to jam up the crossbar leading to control packets failing to ACK under certain conditions. This reverts it so flow control is enabled and the crossbar is kept clear. Signed-off-by: Michael West <michael.west@ettus.com>
* mpmd: Fix corner case in MPM device reachabilitySugandha Gupta2019-08-071-1/+1
| | | | | | | | | To check if a device is fully reachable through the chdr address i.e. SFP port, an RPC request is sent to "second_addr" and "addr" of that device. This commit fixes the case where if "second_addr" is not connected to the host, the function returns earlier and does not check for "addr".
* rfnoc: fix multidevice graph connectionsMark Meserve2019-08-061-96/+107
| | | | | | | - Fixes an issue where a multi-device device3 object would cause connections to be generated across devices in legacy_compat - The connect_blocks function previously assumed that find_blocks would always return blocks in the same device number order
* x300: Refactor heavilyMartin Braun2019-08-0215-1352/+1607
| | | | | | | | | This pulls out a lot of code from x300_impl and puts it into its own compilation units: - EEPROM code goes to x300_mb_eeprom.* - Claim code goes to x300_claim.* - PCIe code goes to uhd::usrp::x300::pcie_manager - Ethernet code goes to uhd::usrp::x300::eth_manager
* x300: Factor out mb-type specific codeMartin Braun2019-08-025-165/+220
| | | | | This puts all functions that identify motherboards, distinguishes X310/X300/NI2974, checks MB revs etc. into its own compilation unit.
* Remove GPSd dependencyMartin Braun2019-07-244-348/+0
| | | | | GPSd was used by the E310 prior to its MPM-ification, GPSd is therefore no longer required by UHD.
* n310: add capability to control RF filter bypass and freq.band limitsThomas Vogel2019-07-246-39/+133
| | | | | | | | | | | | | | | | | | With the keywords "rx_gain_profile", "tx_gain_profile" and the new values "default_bypass_always_off" and "default_bypass_always_on" the customer can control whether the filter bypass shall be applied as defined in the gain-table or whether to switch the bypass to ON or OFF for all gains. With the keywords "rx_band_map" and "tx_band_map" the user can define custom frequency borders for the band mapping. These new keywords can be used in the uhd.con, e.g.: [type=n3xx] rx_gain_profile=default_bypass_always_off tx_gain_profile=default_bypass_always_on rx_band_map=431e6;601e6;1051e6;1601e6;2101e6;2701e6 tx_band_map=723.18e6;1623.18e6;3323.18e6
* gpsd: Fix gpsdata API: .separation -> .fix.geoid_sepMichael Dickens2019-07-231-0/+8
| | | | See: https://gitlab.com/gpsd/gpsd/commit/c711d531a6faab93df68ec625a076631569a729d
* converters: Improve exception string for illegal formatsMartin Braun2019-07-201-1/+1
| | | | | | | When trying to create a converter with an illegal string, it will now look like this: [convert] Cannot find an item size for: `???'
* 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-186-158/+277
| | | | | | | | | | 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>
* nirio: Fix typo in nirio_zero_copyMichael West2019-07-181-1/+1
| | | | Signed-off-by: Michael West <michael.west@ettus.com>
* transport: usb: Allow to cancel USB requests without throwingBehnam Sabaghi2019-07-181-1/+3
|
* 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.
* x310: fixed udp WSA buffer size assignment issueMatthew Crymble2019-07-171-3/+21
|
* rfnoc: Add update_graph() API callMartin Braun2019-07-154-12/+13
| | | | | | 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-154-11/+14
|
* device3: rfnoc: formatting changesBrent Stapleton2019-07-154-53/+57
| | | | | | | | | | | | | 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
* nocscript: add optional port argument to block sr_writeMark Meserve2019-07-101-4/+15
|
* transport: fixed a pre-mature buffer resetmcrymble2019-06-141-2/+3
| | | | | | In the PACKET_INLINE_MESSAGE case, we need to extract the error code from the packet buffer. But the buffer was being released before that happens, resulting in garbage values for metadata.error_code.
* x300: dac: Replace uhd::get_system_time() with steady_clockMartin Braun2019-06-121-5/+4
|
* max287x: improve loggingMark Meserve2019-06-121-7/+12
| | | | | - Split tuning log into 3 lines - Remove duplicated MAX287X
* 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