aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | docs: Fixed doxygen warningssugandhagupta2017-06-292-22/+28
| |
* | utils: add set_thread_name API call, move thread_priority to threadAndrej Rode2017-06-2910-13/+64
| |
* | uhd: Replaced many lexical_cast with appropriate C++11 equivalentsMartin Braun2017-06-2932-96/+78
| |
* | ad9361: Reconfigure Rx HB filters with MCR >58 MHzTom Tsou2017-06-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | Disable halfband HB3 (shortest and closest filter to the ADC) and enable HB2 (larger and second closest filter to the ADC). This significantly reduces HB excess bandwidth rolloff and reduces the effective noise floor by ~20 dB at rates above 58 MHz. The filter change has no effect at clock rates below 58 MHz. Fixes #1542 "Significant raise in noise floor using MCR above 58MHz"
* | rfnoc: Added some more logging in graph codeMartin Braun2017-06-281-8/+18
| |
* | uhd: tasks now use std::threads under the hood, and can't be interruptedMartin Braun2017-06-287-35/+39
| | | | | | | | | | USRP1 and USRP2 used tasks that relied on Boost thread interruption mechanisms. These were replaced with explicit atomics.
* | Merge branch 'maint'Martin Braun2017-06-281-365/+0
|\|
| * x300: Removed stray fileMartin Braun2017-06-281-367/+0
| |
* | rfnoc: Fixed radio compiler warningsMartin Braun2017-06-271-5/+5
| |
* | Merge branch 'maint'Martin Braun2017-06-271-1/+1
|\|
| * e310: Clarified log message re GPSMartin Braun2017-06-271-1/+1
| |
* | Merge branch 'maint'Martin Braun2017-06-2714-212/+260
|\|
| * E300: Modify e300_poll_waiter to reduce minimum timeout and fix race conditionmichael-west2017-06-271-14/+24
| |
| * Revert "xcvr: Query ref clock, not ADC/DAC clock"Martin Braun2017-06-261-1/+1
| | | | | | | | This reverts commit 60920644aa33d1a6f7a4dac30bdb890b9bc4301f.
| * X300: Fix DAC syncmichael-west2017-06-262-53/+14
| |
| * X300: Implement single DMA channel for all async messagesMichael West2017-06-264-15/+45
| |
| * X300: Dual channel TX performance improvementsMichael West2017-06-266-118/+157
| |
| * twinrx: add reimport to LO options on property treeMark Meserve2017-06-151-1/+1
| |
| * twinrx: add reimport lo modeMark Meserve2017-06-153-16/+21
| |
* | b200: Fixed logging messages during FPGA image loading.Martin Braun2017-06-161-11/+19
| |
* | x300: Added location info to FW ctrl error messagesAshish Chaudhari2017-06-152-2/+18
| |
* | rfnoc radio: Made GPIO functions not pure virtualMartin Braun2017-05-262-0/+28
| | | | | | | | | | Default implementations simply throw an exception. Makes it easier to write new radio controls that do not implement GPIO features.
* | rfnoc: Backported GPIO controls on radio blocksMartin Braun2017-05-242-0/+67
| |
* | Add missing variable initializationMartin Siegumfeldt2017-05-231-1/+2
| | | | | | | | | | | | - and thereby avoid deadlock upon the first wait() invocation Signed-off-by: Martin Siegumfeldt <mns@gomspace.com>
* | Types: Added equality/inquality operators to support Boost.Python additionsPaul David2017-05-232-0/+20
| | | | | | | | | | | | - Added to subdev_spec_pair_t - Added to range_t - Added tests for the inequalities
* | log: Removed timeout from logger, replaced with wait.Martin Braun2017-05-231-2/+20
| | | | | | | | | | This works because there's also another trace message on termination of the logger.
* | log: Remove logging out of any UHD_STATIC_BLOCK.trungnob2017-05-203-4/+4
| | | | | | | | | | | | Window DLL loading is causing deadlock due to thread creation and synchronization of logging system; therefore, we want to remove it for now.
* | log: Moved print_system_info to log.cpp.trungnob2017-05-202-11/+18
| | | | | | | | | | We want to display syteminfo when the log system get initialized. Also removes a static block.