aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* rfnoc: ddc: Removed boost::bind usage, other minor cleanupMartin Braun2017-12-201-39/+60
|
* ddc/duc: enhance ddc/duc with new parametersRyan Marlow2017-12-202-40/+113
| | | | | | | | | | | | - NUM_HALFBANDS and CIC_MAX are no longer hard coded and are now readback regs. - both DDC and DUC use same encoding to enable halfbands (increment the number) - removed hacky hack & fixed get_output_rate/get_input_rate to include only valid rates based on NUM_HALFBANDS and CIC_MAX. - added compatibility number readback w/ warning/error messages - Updated images package to include new DDC/DUC (affects X-Series only) - Updated fpga-src submodule pointer
* X300: Add retry to DAC synchronizationmichael-west2017-12-203-38/+90
| | | | | Reviewed-by: Martin Braun <martin.braun@ettus.com> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* e300: Fix use of basic_datagram_socket::native()Martin Braun2017-12-191-1/+1
|
* Fix build with Boost 1.66ilovezfs2017-12-193-3/+3
| | | | Thanks to FX Coudert for suggesting this fix.
* TwinRX: Added ADF5356 synth and TwinRX Rev C supportDerek Kozel2017-12-0812-463/+747
| | | | | | | | | ADF5355 and ADF5356 support merged into adf535x class Default register values moved into regmap Reviewed-By: Martin Braun <martin.braun@ettus.com> Reviewed-By: Ashish Chaudhari <ashish@ettus.com> Reviewed-By: Mark Meserve <mark.meserve@ni.com>
* UBX: Add support for UBX-TDDmichael-west2017-12-074-5/+34
|
* UBX: Add implementation of TDD xcvr mode and force TX PA on in TDD mode to ↵michael-west2017-12-071-12/+47
| | | | reduce transient at start of transmission
* UHD: Add eeprom info to dboard_basemichael-west2017-12-077-42/+55
|
* rfnoc: Added TX LO APIs to radio_ctrlMartin Braun2017-12-062-2/+84
| | | | | | | Also added stubs in the default impl. Reviewed-By: Ashish Chaudhari <ashish@ettus.com> Reviewed-By: Derek Kozel <derek.kozel@ettus.com>
* multi_usrp: Expose APIs for TX LO controlsMartin Braun2017-12-061-0/+220
| | | | | Reviewed-By: Ashish Chaudhari <ashish@ettus.com> Reviewed-By: Derek Kozel <derek.kozel@ettus.com>
* adf435x: Add APIs for cp current and aux levelAlex Williams2017-10-302-9/+76
|
* n230: Properly initialize request before discoveryMartin Braun2017-10-231-0/+2
| | | | | | The request struct passed to send() was not fully initialized, causing code checkers to choke. This fix doesn't affect functionality (the values were not used for anything), but removes warnings.
* transport: nirio_zero_copy: Remove redundant buffer poolsMoritz Fischer2017-10-111-5/+0
| | | | | | | Remove the redundant send/recv buffer_pools from nirio_zero_copy_impl class as no one is using them. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* transport: liberio: Check return values for liberio_chan_set_fixed_size()Moritz Fischer2017-10-101-4/+10
| | | | | | | Check return value of liberio_chan_set_fixed_size() since it can fail, and bad things happen if one just proceeds. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* transport: liberio: Fix bug with recv timeout conversionMoritz Fischer2017-10-051-3/+3
| | | | | | | | | | | | | The timeout value passed in by UHD would get multiplied by USEC, to convert from the UHD value in seconds to the liberio value in microseconds. The bug manifested itself by calling liberio_dequeue_buf() with a timeout equivalent to 100s. Fixes ed1c64c81 ('transport: Added liberio_zero_copy transport ...') Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Cc: Alex Williams <alex.williams@ni.com>
* transport: liberio: Fix indentsMoritz Fischer2017-10-051-4/+4
| | | | | | | Remove stray tabs from liberio_zero_copy transport and clarify actual code flow by fixing indent. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* udp: Modify log messages of UDP transportMartin Braun2017-10-042-10/+27
| | | | | - Remove multi-line log message for socket creation - Include local addr and port in trace messages
* udp: Added option to query local address of socketMartin Braun2017-10-042-1/+25
|
* rfnoc: Fix potential double-overrun handling in rx stream terminatorMartin Braun2017-10-042-0/+9
| | | | | | It's feasible that error messages are sent out during overrun handling, which would cause a nested invocation of handle_overrun(). This adds a lock to prevent that.
* dram_fifo, BIST: BUS_CLK_RATE is now a readback reg.Ryan Marlow2017-09-293-8/+17
|
* uhd: Removed drivers for E100/E110Martin Braun2017-09-2918-3599/+0
| | | | The E1x0 series is still supported on the 3.9 LTS branch.
* converters: Remove log message in register_converterMartin Braun2017-09-291-1/+1
| | | | | Similar to b431866a5, this reduces logging in static initializer blocks. Those are prone to hang during DLL initialization.
* uhd: Changed mboard_eeprom_t interface, refactored MB EEPROM codeMartin Braun2017-09-2933-906/+1013
| | | | | | | | | | | | - uhd::usrp::mboard_eeprom_t is now simply a map. Its commit() method has no utility being a public API call, because the user never gets access to the appropriate I2C object (Minor API breakage) - The central mboard_eeprom.cpp file was broken up and put into many smaller compilation units in every device's implementation folder. - Renamed some of the constants (e.g. B000_* -> USRP1_*, N100_* -> N200_*) - Removed the N000_* EEPROM code, because, well, you know, there's no such device
* C API: Better error handling in uhd_usrp_get_?x_streamMartin Braun2017-09-281-2/+4
| | | | | In uhd_usrp_get_rx_stream and uhd_usrp_get_tx_stream, an error will now be propagated into the streamer handle.
* C API: Make uhd_rx_streamer_last_error use SAFE_CCarl Reinke2017-09-281-1/+1
| | | | | | | uhd_tx_streamer_last_error and uhd_usrp_last_error use UHD_SAFE_C and so uhd_rx_streamer_last_error should as well in order to be consistent. Currently using UHD_SAFE_C_SAVE_ERROR.
* rfnoc: Fixed seq # error message in ctrl_ifaceMartin Braun2017-09-281-2/+3
|
* rfnoc: Do not pop a sequence number earlyTom Bereknyei2017-09-281-1/+1
| | | | | | The ctrl_iface class will assume that a response packet is available. There are cases where no response packet is available, in which case sequence numbers should not get popped from the stack prematurely.
* C API: Dboard EEPROM revision error handling fixMartin Braun2017-09-011-1/+23
| | | | | For invalid dboard revisions stored in the EEPROM, provide a better error message.
* C API: Make uhd_get_last_error() thread-safeMartin Braun2017-08-071-2/+6
| | | | | | The function was directly accessing the error message cache, bypassing locks, and thus could be faulty if being called the same time as another UHD component would update the error string.
* C API: Remove API calls that don't map to C++ callsMartin Braun2017-08-071-20/+0
| | | | | Specifically, remove set_tx_dc_offset() and set_tx_iq_balance() calls that require doubles, and were given bools.
* transport: Added liberio_zero_copy transport implementationMoritz Fischer2017-08-074-0/+306
| | | | | | | | | | | | This adds a zero copy transport using the liberio library. Currently supported API version for liberio is 0.3, this might still very much break, since the library is still in development. So far nobody uses it UHD so we might as well merge it. Signed-off-by: Alex Williams <alex.williams@ni.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* lib: rfnoc: cmake: Fix typo in CMakeLists.txtMoritz Fischer2017-07-271-2/+2
| | | | | | | | The file was missing a .cpp suffix for the dma_fifo_block_ctrl_impl file, somehow CMake was being smart and inferring the filetype. Be explicit. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* build: Enable SSSE3 sc12 converters by build switch onlyTom Tsou2017-07-261-0/+2
| | | | | | | | | | | | | | | The existence of SSSE3 intrinsic headers is not a sufficient condition that SSSE3 support is available, which may lead to 'illegal instruction' runtime failuire on some platforms. Major OS distributions (Ubuntu, Fedora, etc.) include x86_64 intrinsic headers, though the underlying architecture may or may not support the instruction set. Assuming SSE2 availability is safe as instructions are present on all x86_64 architectures for which instrinsic headers would be present. The same cannot be said for SSSE3. Issue: #1761
* convert: Add SSE implementation for sc12Tom Tsou2017-07-257-211/+719
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation uses SSSE3 intructions to perform 12-bit sample pack/unpack operations to/from standard 16 and 32 bit host values. Input/output shuffle orderings for a single 128-bit SSE register with 16-bit integers shown below. 16-bit interleaved I/Q --------------------------------------- | Q3 | I3 | Q2 | I2 | Q1 | I1 | Q0 | I0 | Input --------------------------------------- | 127 0 | 12-bit packed I/Q byteswapped ----------------------- | I0 | Q0 | I1 | 0 |-----------------------| | I1 | Q1 | I2 | Q2 | Output |-----------------------| | Q2 | I3 | Q3 | |-----------------------| | Unused | 3 ----------------------- 31 0 Fixes: #1740, #966 Related: #1739
* C API: Added logging macrosMartin Braun2017-07-212-0/+72
|
* C API: Added constructor for empty sensor value handles'Martin Braun2017-07-201-0/+15
|
* convert: Add sc12-sc16 convertersTom Tsou2017-07-182-24/+117
| | | | | | | | | | | | | | | | | Create missing sc12-sc16 and sc16-sc12 type converters. To avoid replicating the full sc12 converter class object, overload the converter calls with C++11 std::enable_if metafunctions. When used with std::is_floating and std::is_integral templates, this allow a single template interface with compile time function selection and static type checking. Note the below std::enable_if interface is confusing, but quite effective in this case. typename enable_if<is_floating_point<type>::value>::type* = NULL Fixes: #966 Related: #967, #1721
* ubx: Fixed UHD_MSG style log messagesMartin Braun2017-07-181-2/+6
|
* Merge branch 'maint'Martin Braun2017-07-174-22/+66
|\
| * fixup! x300: Changed discovery to return early if we find the serial requestedBrent Stapleton2017-07-051-1/+1
| |
| * x300: Changed discovery to return early if we find the serial requestedbstapleton2017-06-301-1/+15
| |
| * cbx: turn on LO LPF at <2GHz instead of <1.5GHzMark Meserve2017-06-302-18/+38
| |
| * UBX: Added error handling for setting the dboard clock rate.bstapleton2017-06-291-3/+13
| | | | | | | | Setting daughterboard clock rate while using UBX on X300 caused an error. Added handling, now throws a warning that the phase will vary.
* | boost: Added workaround for Boost 1.64Martin Braun2017-07-061-0/+4
| |
* | e300: Fixed product name to show device and speed gradeSugandha Gupta2017-06-302-4/+13
| |
* | rfnoc: Fixed SRAM FIFO indexingMartin Braun2017-06-301-3/+12
| | | | | | | | | | | | | | Loopback FIFOs ("SRAM FIFOs") only have a single channel, unlike the DRAM FIFOs (and that's also the reason why we have full bandwdith between all channels using those). We thus need to ensure that every TX stream gets its own SRAM FIFO.
* | X3xx: Added image loader support for reading FPGA imagesPaul David2017-06-301-17/+219
| |
* | X3xx: Incremented firmware compat version minorPaul David2017-06-301-1/+1
| |
* | X3xx: Updated firmware to support reading FPGA image dataPaul David2017-06-301-0/+16
| |