Change Log for Releases ============================== ## 003.008.000 * Added E310 support * B200/B210: Moved AD9361 controls from firmware to host * Added several tools: ZPU dissector, improved CHDR dissector, kitchen sink, B200/B210 USB debugging utility, latency measurement tool. * Reorganized firmware/ directory structure. Refactored some firmware. * Removed FPGA sources, is now in own repository (submoduled). * Cleaned up command line arguments for some tools * Added math namespace, plus a unified float comparison infrastructure * Fixed tuning-related bugs * Moved manual over to Doxygen, also several manual bug fixes and amendments * Added many missing virtual destructors (less build warnings) * Added support for NI-RIO 14.0 * X300 fixes: Not found over PCIe with no eth interfaces, * CMake improvements: Now comes with own UHDConfig.cmake and example to build standalone UHD apps, build fixes on Apple, interoperability with GNU Radio * OctoClock fixes and improvements: Ethernet initialization, external ref detection, stability fixes, host driver (UHD can now talk to OctoClock) * Examples: Improved GPIO example, rx_samples_to_file ## 003.007.003 * Fixed examples * Removed compiler warnings * Fixed CBX LO settings (FRAC truncation) * Fixed build issues for out-of-tree tools for some distros * Fixed some logging strings (SBX, GPSDO) * Improved logging (speedups, removed unnecessary cycles) * Added output sync for DAC reference clocks on X300 * Multiple FPGA improvements, as well as upgrade of build env * Added support for B200 vs B210 discovery ## 003.007.002 * Fixed X300 phase alignment issues * Fixed CMake 2.6 incompatibility issues * EEPROM burner improvements * Properly flushing PCIe chain on device to prevent stale data. * Adjusted bus clock rate in FPGA to improve timing. * Fixed issue where FPGA would fail to load FPGA image over PCIe. * Fixed incompatibility issue with USRP2 FPGA burner utility. * Fixed issue where ZPU would report empty NMEA strings from GPSDO. * Updated some functions to no longer use deprecated Boost calls. * Fixed issue where libusb would declare 'connection refused'. * Fixed Windows library package naming. * Updated documentation. * Fixed reversed TX / RX colors in X300 LED indicators. * DBSRX2 now works properly with X300 / X310. * Updated include files to build on older distros of Linux. * Fixed issue with 'item32' type converter from GNU Radio. * Fixed issue where channels on B210 would occasionally not be phase-aligned. * Fixed problem causing channels on B210 to swap between runs. * Fixed issue in N-Series devices causing scaling error @ 50 MSps. * The B200 / B210 now generates an internal PPS if none is provided. * Improved performance on PCIe for X300. * B200 / B210 properly reports clock rate (issue with float comparison). * Fixed issue with filter selection in B200 that caused loss of RX power. * Removed ref lock check from X300 where it wasn't necessary. ## 003.007.001 * Fixed issue with TVRX2 divider calculation. * Fixed issue using calibration utilities on B-Side daughterboard in an X3xx. * Replaced unsafe `sscanf` call in utilities. * Properly initializing N-Series clock, fixing short transient on device boot-up. * Improved `--help` output for a number of utilities & examples. * Improved READMEs for directories. * Fixed X3xx documentation with some clarifications. * UHD will now tell you if you have requested a sample rate higher than the transport can deliver. * Removed work-around necessary in RIO kernel module for zero-copy in PCIe for X3xx devices. * Fixed issue where X3xx devices would lock-up when on networks with lots of traffic. * The B2xx FX3 and AD9361 source code is now in UHD. * Numerous B2xx stability improvements. * Fixed includes for older OSes (e.g., Fedora 14). * Fixed includes for older versions of Boost. * Fixed PPS detection in X3xx with multiple time sources. * Fixed overflow reporting for X3xx utilities. * Fixed MTU / frame size detection for X3xx devices. * Fixed B2xx filter chain causing wrong sample rate in some circumstances. ## 003.007.000 * Introduced USRP X300 and X310 support! * Releasing a CHDR Dissector for Wireshark analysis * Improved USRP B200 and B210 stability * Introducing Integer-N tuning for WBX, SBX, CBX daughterboards * Introducing support for 120 MHz versions of WBX, SBX, CBX * Lots of new documentation * New GPIO example for USRP X300 * Fixed threading bug in USRP B2xx code causing GQRX issue * General UHD bug fixes & improvements ## 003.006.002 * Fixed bug in timed commands example. * Improved compatibility for older versions of Boost. * Fixed segmentation fault issue in converter code. * Fixed binary-stripping for ARM builds. * B2xx: Further improvements to code and images. * Documentation links now installed to Start Menu in Windows. * B2xx: More robust error checking in host code. * B2xx: Improved error reporting. * B2xx: Increase FPGA loading speed on USB 3 * B2xx: Re-programming FPGA without cycle now supported. * B2xx: Larger RX SPP ceiling to support 16K transfers with larger RX FIFO in new FPGA image * Updated internal READMEs and documentation. * N-Series: netburner now accepts relative paths with '~' * Completely re-written UHD Images Downloader, with numerous bug fixes and new features. ## 003.006.001 * B2xx: Fixed critical bug in 003.006.000 regarding USRP B2xx operation ## 003.006.000 * Many small fixes for bugs revealed by static analysis. * Introduced support for the USRP B200 / B210 ## 003.005.003 * E110: ** Fix FPGA Makefile build typo * UHD: ** Fixed timespec irrational rate rounding ** Multichan streamer CPU utilization ## 003.005.002 * B100: ** Fix get send buffer timeout * E1x0: ** Changes to bus timings for S issue * USRP1: ** Restore broken EEPROM writing ## 003.005.001 * Misc: ** Fixes to images downloader ** Fixes to C++ net burner ** Added sleep(1) to query_gpsdo_sensors * OSX: ** Fix for socket send code newer OS versions * Changes from 3.4.5 ## 003.005.000 * B100: ** Added timed commands feature ** Incremented FPGA compat number to 11.1 ** Incremented firmware compat number to 3 * E1x0: ** Added timed commands feature ** Incremented FPGA compat number to 11.1 * USRP2/N2x0: ** Alternative stream destination on TX ** Incremented FPGA compat number to 10 * N2x0: ** Implemented timed-commands feature ** Implemented fast-commands feature * SBX/WBX ** Tune with phase sync using timed-commands * RFX series ** Added calibration utilities support * General: ** SSE2 conversions for sc8 RX samples ** Added multi-threading to packet converters ** Added automatic images fetcher application ## 003.004.005 * XCVR2450: ** Added XCVR2450 rev2 support * WBX: ** Added WBX rev4 support * Misc: ** Fix to rx_samples_to_udp byte count ** stream command enums easy on SWIG ## 003.004.004 * Gen2 ** Fix RX and TX DSP scalar adjustments * B100/E1x0 ** Fixed RX ADC IQ inversion swap ** Incremented FPGA compat number to 9.4 ## 003.004.003 * USRP2/N2x0: ** Net burner parser fix (windows) * XCVR2450: ** Fix to disable automatic LO offset on TX * N2x0: ** Deal with misc exceptions in net burner * E1x0: ** Changes to add reliability to bus state machine * USRP1: ** Shutoff the DAC on transmit EOB flags ** Revert 1st nyquist zone DAC calculation ## 003.004.002 * USRP2/N2x0: ** Card and net burner language fixes ** Net burner python v3 code fix ** Net burner IPv6 interface fix * E1x0: ** Fix for FPGA timing issue with GPMC input ** Incremented FPGA compat number to 9.2 * B100: ** Fix USB wrapper/buffer release race condition * USRP1: ** Fix DAC calculation for tune out of 1st nyquist zone * General: ** Fix for recv packet handler time error check ** SIMD conversion routines priority over table look-up ** Fix undefined GCC float conversion behaviour for sc8 ## 003.004.001 * USRP2/N2x0: ** Filter out invalid broadcast replies ** Incremented FPGA compat number to 9.1 * E1x0: ** Incremented FPGA compat number to 9.1 * B100: ** FPGA fixes for USB slave FIFO interface ** Incremented FPGA compat number to 9.3 * USRP1: ** Stop thread in deconstructor for race condition ** Fixed DBSRX + USRP1 i2c lockup condition * Gen2: ** Fix for unintentional clear in deprecated recv() call ** Fix RX DC offset call to handle negative values * FreeBSD: ** Fixed network relay example compilation ## 003.004.000 * USRP2/N2x0: ** 50 Msps RX/TX with sc8 mode over the wire * B100: ** 16 Msps RX/TX with sc8 mode over the wire * SBX/WBX: ** Added self-calibration utilities * Gen2: ** Control RX/TX DC offset correction via API ** Control RX/TX IQ balance correction via API ** Incremented FPGA compat number to 9 * USRP1: ** Support 16Msps RX with sc8 mode over the wire ** Control RX DC offset correction via API * Misc: ** Multiple streamers/heterogeneous rates ** Alternative host and wire data types ** Added API calls for DC offset correction ** Added API calls for IQ balance correction ## Release 003.003.002 * N2x0: ** Fixed TX daughterboard clocking mode * B100: ** Tweaks for ordering of FPGA resets * Misc: ** Device adder can parse empty values ** Updated syntax in udev rules file ** Corrections to images documentation ** Performance tweak for tx_waveforms example ** Handle EINTR on select() w/ udp transport ** Minor fixes for compiling on FreeBSD ## Release 003.003.001 * B100/E1x0: ** Fixed VCO bounds checking on flexible clocking * B100: ** Fixed discovery throwing when device claimed ## Release 003.003.000 * USRP2/N2x0: ** Incremented firmware image compat number to 11.0 ** Re-implement internal GPSDO UART control * E1x0: ** New GPMC/FPGA bus implementation ** Incremented FPGA compat number to 6 ** Incremented module compat number to 3 ** Added support for E110 ** Added support for E100r4 * B100: ** Added support for B100 * USRP1: ** Re-implement LibUSB data transport * Misc: ** Normalise time_spec for negative fractional seconds * Gen2: ** Fix DSP rate selection clipping for very low rates ## Release 003.002.004 * USRP2/N2x0: ** Resize all socket buffers (multi-channel) * N2x0: ** Gracefully handle missing GPSDO * USRP1: ** Fix bug with order of deconstructors ** Fix zero length send padding on commit * XCVR2450: ** Fix LO locking at marginal frequencies * WBX: ** Fix TX gain readback value on v3 board * Gen2: ** Fix bounds checking on stream num samps ** Fix error using PPS_NEG in clock config ## Release 003.002.003 * USRP2/N2x0: ** Fix uninitialized variable for multi-board case ** Fix deconstructor throwing on device disconnect ** Incremented FPGA image compat number to 7.3 * TVRX: ** Populated sensors property (fixed error in init) * FPGA (gen2): ** Adjust RX DC offset correction time constant ** Restore calibration path in RX/TX frontend * Misc: ** MB EEPROM burner workaround for compiler bugs ** Clip the reported tune range to the dboard bandwidth ** Preserve bands when calculating overall tune range ## Release 003.002.002 * USRP2/N2x0: ** Always resize socket send buffer to SRAM size ** Incremented FPGA image compat number to 7.2 ** Incremented firmware image compat number to 10.4 * N2x0: ** GPSDO control tweak for some devices ** Fix for erasure logic in rare bricking cases * E100: ** Fix RX run state for GPIOs controlled by ATR * USRP1: ** Fix for multi-channel streaming ** Fix to support 0 RX or 0 TX DSPs * SBX: ** Corrected lower limit on frequency range * FPGA (gen2): ** Reset CIC decimator on start of burst * Misc: ** Fix send to return zero on empty packets ** Perform version check on liborc ## Release 003.002.001 * USRP2/N-Series: ** Firmware fix to shutoff streaming when socket unreachable ** Incremented firmware image compat number to 10.3 ## Release 003.002.000 * USRP2/N-Series: ** Incremented FPGA image compat number to 7.1 ** Incremented firmware image compat number to 10.2 ** Removed mimo_mode device addr argument ** Support for rev4 N2XX motherboards * USRP-E100: ** Removed the need for clock recovery ** Incremented FPGA image compat number to 5 ** Incremented kernel module compat number to 2 ** Added support for dual receive DSPs ** Async messages independent from RX path * WBX: ** Support for rev3 daughterboards * DBSRX2: ** Rounding fix for LO tuning error * Packet handler: ** Overall performance improvements ** Timestamps for packet fragments ** Overflow message on dropped packets * Conversion: ** Optional liborc conversion support ** SSE2 conversion alignment performance ** SSE2 conversion for complex doubles * Windows: ** Performance improvements for UDP send * Misc: ** Code reorganization with property tree ** Calibration support in gen2 FPGAs ## Release 003.001.002 * N-Series: ** Fix UART communication for GPSDO * XCVR2450: ** Fix for descontructor throwing on hardware disconnect ## Release 003.001.001 * USRP1: ** Fixed lock up in logging facility under MSVC * USRP2/N-Series: ** Handle exceptions thrown in device locker loop ** Connected internal GPSDO PPS signal in FPGA * WBX ** Keep mixers on between bursts to maintain phase offsets ## Release 003.001.000 * USRP2/N-Series: ** Incremented FPGA compat number to 6 ** Incremented firmware compat number to 10 ** Created all-in-one bootloader for N-series ** Lock open devices per process ** USRP N-Series internal GPSDO Support ** Discovery works with out-of-date images ** Net and card burner: python 3.0 support ** Net burner: tkinter + windows thread fix ** Card burner: device selection validation * USRP-E100: ** Incremented FPGA compat number to 4 ** FPGA VRT packet framer correct length ** Fix auxiliary ADC read back for AD9862 ** Sync TX and RX daughterbord clocks ** Fix daughterboard clock rates after re-clock event * USRP1: ** Fix TX under remainder conditions ** Fixed RX multi-channel mapping * Daughterboards: ** Added support for TVRX2 daughterboard ** Added support for SBX daughterboard ** Added support for WBX granddaughterboards ** Application notes for sensors and IF * Windows: ** MinGW and Cygwin support (thanks Don) ** Fix calling convention on libusb callbacks * Misc: ** Added logging and messaging facilities ** Deprecated API in utils/warning.hpp ** Fixed race condition in device discovery/factory ## Release 003.000.001 * RFX400: fix for transmit capability * USRP1: fix for axillary ADC read * Windows: statically link libusb * Windows: install dll into runtime path * Linux: automatically set LIB_SUFFIX on rh-64 systems * USRP-E100: fix - set FPGA tick rate on re-clock event * build: various work on build system * build: include FPGA and firmware images in installers ## Release 003.000.000 Initial (formal) release, no changes to mention.