================================================================================ bladeRF Project Change Log Summary For more detailed information, please see the git change log and issue tracker hosted on GitHub: https://github.com/Nuand/bladeRF ================================================================================ -------------------------------------------------------------------------------- 2023.02 (2023-02-13) -------------------------------------------------------------------------------- This release candidate consists of the following versions: * FPGA bitstream v0.15.0 * FX3 firmware v2.4.0 * libbladeRF v2.5.0 * bladeRF-cli v1.9.0 * MATLAB & Simulink bindings v1.0.5 * Python bindings v1.3.0 API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/ FX3 firmware: https://www.nuand.com/fx3_images/ FPGA bitstreams: https://www.nuand.com/fpga_images/ Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf Windows installer: https://www.nuand.com/win_installers/ Summary of changes in 2023.02 * libbladeRF - Add 8bit format mode support - Add AD936x overclocking feature - Fix bugs, including a locking bug * FPGA: - Add 8bit mode support to FIFO reader and writer -------------------------------------------------------------------------------- 2021.10 (2021-10-04) -------------------------------------------------------------------------------- This release candidate consists of the following versions: * FPGA bitstream v0.14.0 * FX3 firmware v2.4.0 * libbladeRF v2.4.1 * bladeRF-cli v1.8.0 * MATLAB & Simulink bindings v1.0.5 * Python bindings v1.2.1 API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/ FX3 firmware: https://www.nuand.com/fx3_images/ FPGA bitstreams: https://www.nuand.com/fpga_images/ Ubuntu PPA: https://launchpad.net/~nuandllc/+archive/ubuntu/bladerf Windows installer: https://www.nuand.com/win_installers/ Summary of changes in 2021.10 * libbladeRF - Fix up packet mode bugs - Add Wishbone master core as NiOS peripheral * FPGA: - Fix several bugs in packet mode buffering mechanism - Add Wishbone master core as NiOS peripheral - Add support for bladeRF 2.0 micro xA5 -------------------------------------------------------------------------------- 2020.12 (2020-12-23) -------------------------------------------------------------------------------- This release candidate consists of the following versions: * FPGA bitstream v0.12.0 * FX3 firmware v2.4.0 * libbladeRF v2.4.0 * bladeRF-cli v1.8.0 * MATLAB & Simulink bindings v1.0.3 * Python bindings v1.2.0 API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/ FX3 firmware: https://www.nuand.com/fx3_images/ FPGA bitstreams: https://www.nuand.com/fpga_images/ Ubuntu PPA: https://launchpad.net/~nuand/+archive/ubuntu/bladerf Windows installer: https://www.nuand.com/win_installers/ Summary of changes in 2020.12 * libbladeRF - Added packet mode format BLADERF_FORMAT_PACKET_META. libbladeRF is able to exchange variable length packets with the HDL if packet mode is enabled - Added RFIC parameters for burst waveforms - Ability to query backend for handle and lock * FX3 - Variable length packet support for PACKET_META mode * bladeRF-cli: - Indicate presence of packet cores in FPGA * FPGA: - Add packet mode. The HDL fabric is able to exchange variable length packets with the host - Added packet_generator as an example for how to send packets to the host - Added bladeRF 2.0 micro headless example variant "foxhunt" - Fix metadata related arithmetic and logic * Python - Update for libbladeRF v2.4.0 -------------------------------------------------------------------------------- 2019.07 (2019-07-31) -------------------------------------------------------------------------------- This release candidate consists of the following versions: * FPGA bitstream v0.11.0 * FX3 firmware v2.3.2 * libbladeRF v2.2.1 * bladeRF-cli v1.8.0 * MATLAB & Simulink bindings v1.0.3 * Python bindings v1.2.0 API docs: https://www.nuand.com/bladeRF-doc/libbladeRF/ FX3 firmware: https://www.nuand.com/fx3_images/ FPGA bitstreams: https://www.nuand.com/fpga_images/ Ubuntu PPA: https://launchpad.net/~nuand/+archive/ubuntu/bladerf Windows installer: https://www.nuand.com/win_installers/ Summary of changes in 2019.07 * libbladeRF - Gain mode setting default is now manual - Tuning mode setting default is now host - Add OTP command support - Fix metadata related arithmetic * bladeRF-cli: - Add RFIC fitler selection - Add tuning_mode - Display more useful warning and error messages * FPGA: - Increase FIFO buffer sizes for bladeRF 2.0 - Fix underflow and overflow issues in metadata code - Refactor RFIC code for bladeRF 2.0 - Allow quicktune to control XB gpio register for XB-200 * Python - Update for libbladeRF v2.2.1 -------------------------------------------------------------------------------- 2018.12-rc2 (2018-12-21) -------------------------------------------------------------------------------- This release candidate consists of the following versions: * FPGA bitstream v0.10.2 * FX3 firmware v2.3.1 * libbladeRF v2.2.0 * bladeRF-cli v1.7.1 * MATLAB & Simulink bindings v1.0.3 * Python bindings v1.1.1 The major new features in this release candidate are: * FPGA-based RFIC control for the bladeRF 2.0 micro family * Quick-tuning support for the bladeRF 2.0 micro family Summary of changes since 2018.10-rc1: * FPGA - Add quick tuning for bladerf2 devices - Add FPGA-based RFIC control for bladerf2 devices * libbladeRF - Fix FPGA image flashing on bladerf2 xA9 devices (#571) - Fix bladerf_set_gain() being off by a few dB on bladerf1 devices - Add `biastee_rx` and `biastee_tx` config file options - Add support for quick tuning and FPGA-based RFIC control * bladeRF-cli - Fix memory leak in CSV-to-SC16Q11 conversion (#694) - Update for libbladeRF v2.2.0 * MATLAB & Simulink bindings - Update for libbladeRF v2.2.0 * Python - Fix warning on `bladerf-tool info` - Update for libbladeRF v2.2.0 -------------------------------------------------------------------------------- 2018.10-rc1 (2018-10-30) -------------------------------------------------------------------------------- This release introduces new functionality and bug fixes, generally expanding support for the bladeRF 2.0 Micro. It consists of the following versions: * FPGA bitstream v0.9.0 * FX3 firmware v2.3.1 * libbladeRF v2.1.0 * bladeRF-cli v1.7.0 * MATLAB & Simulink bindings v1.0.2 * Python bindings v1.1.0 Note to bladerf1 (x40/x115) users: AGC will not work with FPGA versions older than v0.8.0, due to a change in the control register mapping. A warning will be printed during device initialization if you are using an affected FPGA version. Summary of changes since 2018.08: * FPGA - Support for the ADS-B core on bladeRF micro - Add metadata flags for miniexp{1,2} IO pin status - Fix race condition during FX3/Nios UART initialization - Fix bugs in bladeRF AGC control - Timing closure improvements - Build system fixes * FX3 - Fix USB device reset interrupting SPI flash autoloading of FPGA images - Add BLADE_USB_CMD_QUERY_FLASH_ID command - Add BLADE_USB_CMD_QUERY_FPGA_SOURCE command * libbladeRF - API additions: - Add format macros for bladerf_frequency and bladerf_timestamp - Add 'manufacturer' and 'product' device description strings to bladerf_devinfo struct - Add bladerf_get_serial_struct() API function - Add bladerf_get_flash_size() API function - Add bladerf_trigger_signal values for J51-1 (bladerf2) and Miniexp-1 (generic) - Add bladerf_get_fpga_source() API function - Add meta RX hardware flags for underflow, miniexp{1,2} - Fixes: - bladerf2: support TX frequencies down to 47 MHz - bladerf2: support sample rates down to 0.521 Msps - bladerf1: fix BLADERF_GPIO_AGC_ENABLE - bladerf2: fix bladerf_trigger_arm implementation - streaming: extend USB transfer timeout to match the configured stream timeout - Misc: - Install the doxygen docs, if generated - Adjust RX gain mode lists for clarity - bladerf1: implement bladerf_{get,set}_rf_port[s] - bladerf1: skip initialization if BLADERF_FORCE_NO_FPGA_PRESENT is set * bladeRF-cli - Add libedit support - Ensure device is initialized after deferred open - info: display manufacturer, product, flash size - print: show RF routing on bladerf1 - print: display supported ranges for sample rate, bandwidth, frequency - probe: handle already-open devices - version: display FPGA configuration source * MATLAB & Simulink bindings - Add missing BB_TXVGA1_RXLPF loopback option - Fix tx_gain property handling in simulink * Python - Fix rx_channel_count, tx_channel_count - Update with latest API functions * Windows installer - install-drivers: install a driver for the bootloader VID/PID (04b4:00f3), allowing easier FX3 bootloader recovery operations - Upgrade to libusb 1.0.22 -------------------------------------------------------------------------------- 2018.08 (2018-08-30) -------------------------------------------------------------------------------- This release introduces new functionality and bug fixes, particularly support for the bladeRF 2.0 Micro product. It consists of the following versions: * FPGA bitstream v0.7.3 * FX3 firmware v2.2.0 * libbladeRF v2.0.2 * bladeRF-cli v1.6.1 * MATLAB & Simulink bindings v1.0.1 * Python bindings v1.0.1 ***************************************************************************** *** libbladeRF v2.0 introduces a number of breaking changes !! *** ***************************************************************************** *** Please see relnotes_2_0 in the Doxygen documentation for a full *** *** discussion of the changes in libbladeRF v2.0. *** ***************************************************************************** Summary of changes since 2016.06: * FPGA - Added support for Automatic Gain Control - Redesign build system to support multiple product models - Initial release with bladeRF Micro support - Refactoring, bug fixes, and other misc. improvements * FX3 - Add support for the bladeRF 2.0 (2cf0:5250). - Fix loading FPGA bitstreams from flash when there is nothing connected to the USB connector. - Move USB descriptor consts to .usbdscr section so the linker glomps them. * libbladeRF - Added support for Automatic Gain Control - Added bladeRF.conf config option file - Refactor to support for multiple product lines - Add support for the bladeRF Micro product - API: replace bladerf_module with bladerf_channel, a reverse-compatible change to handle products with multiple independent RF paths in the same direction - API: BREAKING CHANGE - on bladerf_set_frequency, et al, the frequency parameter is now uint64_t instead of unsigned int - Add typedefs for common param types, e.g. bladerf_frequency -> uint64_t * bladeRF-cli - Added support for Automatic Gain Control - No longer initializes the bladeRF before loading a new FPGA image, to avoid potential catch-22 problems - bladeRF 2.0 Micro support - Support for MIMO RX and TX using "channel=" parameter on rx/tx config - Various code quality fixups * MATLAB & Simulink bindings - Add support for bladeRF 2.0 (Micro) products - Change "not supported" (-8) library errors to Matlab warnings temporarily, to permit some grace while others' scripts are updated. - Update bladeRF_XCVR to use new unified gain control - Add bladeRF_Misc for misc measurements and controls - Update bladeRF_rx_gui to support unified gain - Update Simulink block to match libbladeRF v2.0.0 * Python - New in 2018.08 -------------------------------------------------------------------------------- 2018.08-rc3 (2018-08-24) -------------------------------------------------------------------------------- Bugfix release candidate. * FPGA bitstream v0.7.3 * FX3 firmware v2.2.0 * libbladeRF v2.0.1 * bladeRF-cli v1.6.1 * MATLAB & Simulink bindings v1.0.1 * Python bindings v1.0.1 libbladeRF v2.0.1: * Detect and handle a bladeRF Micro that is running old firmware to allow re-flashing without recovery mode (#578) * bladeRF1: bladerf_set_gain_mode returning BLADERF_ERR_UNSUPPORTED is no longer fatal (#542) * bladeRF1: only check AGC DC LUT setting when enabling AGC * bladeRF1: typo fix in set_tx_gain (#580) * xb200: check for null xb_data before dereferencing it (#575) * bladeRF2: cache factory trimdac value at initialization; preserve trimdac disable state on bladerf2_trim_dac_write (#582) * bladeRF2: bladerf_clock_select: replace CLOCK_SELECT_VCTCXO with CLOCK_SELECT_ONBOARD for clarity (#585) * Improvements to the release notes (#583) * bladeRF-cli: Add 200 ms delay before probing PLL lock status (#587) * Windows: add a nanosleep() shim (#589) bladeRF-cli v1.6.1: * "set loopback" help dialog aware of board type (#566) * host: libbladeRF: Rename clock select option * host: bladeRF-cli: Add 200 ms delay before probing PLL lock status (#587) * host: add nanosleep shim for Windows (#589) MATLAB v1.0.1: * host: libbladeRF: Rename clock select option Python v1.0.1: * host: libbladeRF: Rename clock select option -------------------------------------------------------------------------------- 2018.08-rc2 (2018-08-16) -------------------------------------------------------------------------------- Minor bugfix release. Fixes packaging on Debian/Ubuntu. * FPGA bitstream v0.7.3 * FX3 firmware v2.2.0 * libbladeRF v2.0.0 * bladeRF-cli v1.6.0 * MATLAB & Simulink bindings v1.0.0 * Python bindings v1.0.0 Fixes: * libbladeRF: FreeBSD build fixes (#561) * libbladeRF: 32-bit architecture fixes (#573) -------------------------------------------------------------------------------- 2018.08-rc1 (2018-08-15) -------------------------------------------------------------------------------- Initial public release of libbladeRF v2.0, etc. Adds support for the bladeRF 2.0 Micro. * FPGA bitstream v0.7.3 * FX3 firmware v2.2.0 * libbladeRF v2.0.0 * bladeRF-cli v1.6.0 * MATLAB & Simulink bindings v1.0.0 * Python bindings v1.0.0 -------------------------------------------------------------------------------- 2018.03-alpha1 (2018-03-26) -------------------------------------------------------------------------------- FIXME: NEEDS A CHANGELOG SUMMARY This version is part of development series of changes, not an official release. * FPGA bitstream v0.7.2 * FX3 firmware v2.1.0 * libbladeRF v1.9.1 * bladeRF-cli v1.5.2 * MATLAB & Simulink bindings v0.1.3 * Python bindings v0.9.1 -------------------------------------------------------------------------------- 2017.12-rc1 (2017-12-08) -------------------------------------------------------------------------------- FIXME: NEEDS A CHANGELOG SUMMARY * FPGA bitstream v0.7.1 * FX3 firmware v2.0.0 * libbladeRF v1.9.0 * bladeRF-cli v1.5.1 * MATLAB & Simulink bindings v0.1.2 -------------------------------------------------------------------------------- 2016.06 (2016-06-29) -------------------------------------------------------------------------------- This release introduces new functionality and bug fixes. It consists of the following versions: * FPGA bitstream v0.6.0 * FX3 firmware v2.0.0 * libbladeRF v1.7.2 * bladeRF-cli v1.4.0 * MATLAB & Simulink bindings v0.1.2 New Features: * libbladeRF, bladeRF-cli - Added SMB clock control functionality - Added synchronization trigger functionality - Added XB-300 support - Added detection for v2.0.0 firmware series (new VID/PID) * FPGA - Added synchronization trigger functionality using J71 header (pin 4) - Added ADSB top-level architecture for out-of-tree ADSB core + https://github.com/nuand/bladeRF-adsb * FX3 - 2.x.y series of firmware introduces new VID/PID * libbladeRF API documentation - Re-organized into more cohesive sections - Added additional clarifications and corrections * Miscellaneous: - Windows builds updated to search for libusb 1.0.20 by default - Added GNU Radio Companion loopback example The following issue tracker items have been closed since 2015.01-rc1: * Bugs: - #474: [libbladeRF] Clarify required SMB clock port config prior to trigger API usage - #470: [libbladeRF] VS2012 Build failure (cannot find stdbool.h) - #468: BLADERF_FORMAT_SC16_Q11_META docs confusing - #466: [bladeRF-cli] First open fails when device has incompatible FPGA/FW - #465: [libbladeRF] TX Timeout Regression - #462: [invalid] cmake build failure on CentOS 7.2 - #460: [libbladeRF] Explain when (not) to use bladerf_get_timestamp() - #459: [invalid] [libbladeRF] Build failure reported on MS VS2013 - #458: [libbladerf] assertion failed in sync_worker.c, tx_callback after bug 438 fix - #457: [libbladeRF] bladerf_sync_tx() clears burst regardless of return - #454: [debian] bladerf-fpga-hostedx40 leaves bad rbf file around if the download fails - #453: [bladeRF-cli] Automatic DC Calibration does not appear to apply nominal value - #450: host/common items missing extern "C" { ... } - #448: Build broken on big-endian targets - #446: Wrong loopback mode name for Simulink IF - #354: [hdl] failure to include STP file due to talkback req ought to be fatal * Enhancement: - #463: Adding SignalTap in scripted build - #403: LibbladeRF support for setting MIMO mode - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #174: Migrate FX3 build to CMake-generated Makefile * Other: - #432: Error building on Pi Outstanding issue tracker items: * Bugs: - #475: [libbladeRF] Windows 10 builds fail if CyFX3 SDK is present - #473: [Windows][libbladeRF][duplicate] Triggered TX Stalls on Cypress Backend - #472: [libbladeRF, FX3] bladerf_device_reset() does not allow libbladeRF to close device cleanly - #471: [nios] VCTCXO Trim DAC Readback is implemented incorrectly - #464: [bladeRF-cli] `probe` can't access already opened devices (libusb, Windows) - #447: Build broken on MSVC2015 (ptheads timespec conflict) - #443: [libbladeRF] Cypress backend timeouts & receiving NULL buffers upon transfer completion - #442: [FX3 Firmware] Jump to bootloader after NULL interface is restored - #427: [libbladeRF] Cannot set some samplerates returned by bladerf_set_rational_rate() - #408: [libbladeRF] Device hangs after repeated open/stream/close - #401: libusb detection fails when x-compiling for Android - #390: Warning after running rx start when loopback=firmware - #360: [hdl] Older FPGA revisions no longer build - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #452: [Simulink] Integrate Signal Specification to RX - #439: [libbladeRF] Move submit_stream_buffer implementations up a layer. (Has pending PR #467) - #431: Halfband filtering - #430: Fs/4 Mix - #428: Low-rate stream formats - #416: Add CMake project config files - #395: [hdl] Timing Closure on LMS6 SPI interface - #382: 'bladerf_get_serial()' fixed buffer size should be ideally handled in the API - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support * Other: - #388: [FX3 Firmware] Investigate USB3 drive controls - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb -------------------------------------------------------------------------------- 2016.01-rc1 (2016-01-07) -------------------------------------------------------------------------------- This release introduces new functionality and bug fixes. It consists of the following versions: * FPGA bitstream v0.5.0 * FX3 firmware v1.9.0 * libbladeRF v1.5.1 * bladeRF-cli v1.3.1 * MATLAB & Simulink bindings v0.1.1 New Features: * MATLAB & Simulink - An object-oriented MATLAB interface has been introduced. This is implemented as bindings atop of libbladeRF, and will be maintained alongside libbladeRF in the libbladeRF_bindings/matlab directory. - Simulink support is provided via the above MATLAB interface and the Simulink System Object block. * libbladeRF, bladeRF-cli: - XB-100 support added * FPGA, libbladeRF, bladeRF-cli: - A 1.8V 1 PPS or 10 MHz input may be supplied to the device to tame the on-board VCTCXO * FX3 Firmware, libbladeRF, bladeRF-cli: - A simple logging mechanism has been introduced. This allows the host to retrieve error codes and the source lines at which they occurred. * FX3 Firmware: - Updated for Cypress FX3 SDK v1.3.3 * Miscellaneous: - Revised and MIT-licensed DC calibration routines are now available in host/common/. The following issue tracker items have been closed since the 2015.07 release: * Pull Requests: - #437: debian: firmware to v1.8.1, fpga to v0.4.1 - #433: Add a libbladeRF helper function for setting the `rx_mux` setting in the FPGA - #424: Add support for setting SMB clock output to arbitrary frequency - #421: bladeRF-cli improvement and xb-200 filter fixes - #419: Minimal changeset for bladeRF to build on freebsd - #381: Rpm packaing [CAA Needed] - #379: Indent [wontfix] - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #438: [libbladeRF] bladerf_sync_tx() is limited by # xfers, not # buffers - #436: [bladeRF-cli][libbladeRF] `cal dc tx` crashes when using Cypress backend - #426: XB-200 Reference Clock and MIMO Master clock are mutually exclusive - #425: [bladeRF-cli] Perform DC Cal with RX/TX frequencies separated by >= 1 MHz - #423: [bladeRF-cli] Add 'xb_spi', 'xb_gpio', and 'xb_gpio_dir' to print/set help text - #422: [bladeRF-cli] Make 'help print' and 'help set' formatting match - #420: libbladeRF_test: Build broken for big endian hosts - #417: libbladeRF: Tuning warnings and failures - #416: [libbladeRF] Format specifier typos in nios_access.c - #415: [libbladeRF] add/data mismatch in nio_access.c verbose log messages - #412: [bladeRF-cli] Calibration often fails - #373: "trap divide error" while generating calibration table in CLI: cal table dc rx - #362: Calibration table generation hangs, performance issues * Enhancements: - #414: 10 MHz reference clock support - #410: [libbladeRF] Provide a separate "Access denied" error code - #409: [bladeRF-cli] Report file access issues prior to DC cal table procedure - #387: FPGA GPIO Bindings to BladeRF / Osmocom Library - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #236: [libbladeRF] API calls for XB-100 required - #205: [FX3 Firmware] Code cleanup and potential improvements * Other: - #399: Update libbladeRF and FX3 FIrmware for Cypress FX3 SDK 1.3.3 support - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support [wontfix] - #240: [libbladeRF] Prefer static assertion over assert() when possible Outstanding issue tracker items: * Bugs: - #443: [libbladeRF] Cypress backend receiving NULL buffers upon transfer completion - #442: [FX3 Firmware] Jump to bootloader after NULL interface is restored - #427: [libbladeRF] Cannot set some samplerates returned by bladerf_set_rational_rate() - #408: [libbladeRF] Device hangs after repeated open/stream/close - #401: libusb detection fails when x-compiling for Android - #390: Warning after running rx start when loopback=firmware - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #439: [libbladeRF] Move submit_stream_buffer implementations up a layer - #431: Halfband filtering - #430: Fs/4 Mix - #428: Low-rate stream formats - #418: Add CMake project config files - #403: LibbladeRF support for setting MIMO mode - #395: [hdl] Timing Closure on LMS6 SPI interface - #388: [FX3 Firmware] Investigate USB3 drive controls - #382: 'bladerf_get_serial()' fixed buffer size should be ideally handled in the API - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #174: Migrate FX3 build to CMake-generated Makefile -------------------------------------------------------------------------------- 2015.07 (2015-07-25) -------------------------------------------------------------------------------- This release introduces minor feature additions and bug fixes. It consists of the following versions: * FPGA bitstream v0.3.4 * FX3 firmware v1.8.0 * libbladeRF v1.4.3 * bladeRF-cli v1.2.1 New Features: * libbladeRF: - bladerf_open() and bladerf_open_with_devinfo() support matching a device via a subset of its serial number. For example, the bladeRF-cli uses bladerf_open() to open a specifed device, so the following can now be used to open a device with the serial number, f12ce1037830a1b27f3ceeba1f521413: bladeRF-cli -i -d "*:serial=f12" * Miscellaneous - Added Octave/MATLAB routines to import/export data from files containing complex samples from GNU Radio. The following tracker items have been closed since the 2015.06-rc1 release: * Pull Requests: - #402: fixup debian/changelog * Bugs: - #413: [libbladeRF] Bursts must end with 3 zero samples, not 2. - #411: [libbladeRF] File search uses hardcoded /usr/share and /etc, should use install prefix - #405: lms.c: Fail to correctly exit loopback mode for f >= 1.5 GHz - #404: [libbladeRF] XB-200 filter bank selection regression in 41476cb - #400: [hdl] ATSC FPGA build broken * Enhancements: - #396: [libbladeRF] Match a subset of serial number * Other: - #407: Setting Loopback resets/changes Rx module frequency [duplicate] - #406: Persistent timeouts after using API [invalid] - #397: [libbladeRF] API call to reset timestamps [wontfix] Outstanding issue tracker items: * Pull Requests: - #381: RPM packaging - #379: Indent - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #412: [bladeRF-cli] Calibration often fails - #408: [libbladeRF] Device hangs after repeated open/stream/close - #401: libusb detection fails when x-compiling for Android - #400: [hdl] ATSC FPGA build broken - #399: Update libbladeRF and FX3 Firmware for Cypress FX3 SDK 1.3.3 support - #395: [hdl] Timing Closure on LMS6 SPI interface - #390: Warning after running rx start when loopback=firmware - #373: "trap divide error" while generating calibration table in CLI: cal table dc rx - #362: Calibration table generation hangs, performance issues - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #410: [libbladeRF] Provide a separate "Access denied" error code - #409: [bladeRF-cli] Report file access issues prior to DC cal table procedure - #403: LibbladeRF support for setting MIMO mode - #387: FPGA GPIO Bindings to BladeRF / Osmocom Library - #382: 'bladerf_get_serial()' fixed buffer size should be ideally handled in the API - #386: android usb bindings - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #319: [bladeRF-cli] Add libedit and libreadline support - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #205: [FX3 Firmware] Code cleanup and potential improvements - #174: Migrate FX3 build to CMake-generated Makefile * Other: - #388: [FX3 Firmware] Investigate USB3 drive controls -------------------------------------------------------------------------------- 2015.06-rc1 (2015-06-30) -------------------------------------------------------------------------------- This release introduces new features and bug fixes. It consists of the following versions: * FPGA bitstream v0.3.3 * FX3 firmware v1.8.0 * libbladeRF v1.4.0 * bladeRF-cli v1.2.0 New Features: * FPGA & libbladeRF: - Configurable tuning modes: host and fpga - Scheduled retune: retune module at specified sample timestamp - Quick retune: retune using previously identified tuning parameters - Readback of current VCTCXO trim DAC setting * bladeRF-cli: - Semicolon command separators - Added 'print trimdac' implementation The following tracker items have been closed since the 2015.02 release: * Pull Requests: - #383: rm dead code from xb.c - #358: bladeRF-cli: Can now specify multiple commands separated by semicolon - #313: merge dev-quartus14 branch * Bugs: - #394: Cannot switch from XB-200 "auto" back to a specific band - #385: libbladeRF: TX PLL Instability @ 1.8602 GHz - #384: Documentation bug - #380: bladerf_set_tx_gain() is a deprecated symbol * Enhancements: - #398: [libbladeRF] VCTCXO readback support - #393; [libbladeRF] Migrate to new NIOS packet handler formats - #392: [nios] Implement pkt_x handlers. - #391: [FPGA] Custom LMS6002D SPI controller - #380: bladerf_set_tx_gain() is a deprecated symbol - #378: [libbladeRF] Support zero-padding within a timestamped burst - #345: [bladeRF-cli] Accept semi-colon command delimeters - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #213: CLI should show sample file information for TX [wontfix] - #200: Reserved addresses for firmware customization * Other: - #389: libbladeRF: Investigate LMS6002D OFFUP/OFFDOWN values - #377: Timeout trying to update from firmware 1.5.3 Outstanding issue tracker items: * Pull Requests: - #381: RPM packaging - #379: Indent - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #401: libusb detection fails when x-compiling for Android - #400: [hdl] ATSC FPGA build broken - #399: Update libbladeRF and FX3 FIrmware for Cypress FX3 SDK 1.3.3 support - #395: [hdl] Timing Closure on LMS6 SPI interface - #390: Warning after running rx start when loopback=firmware - #373: "trap divide error" while generating calibration table in CLI: cal table dc rx - #362: Calibration table generation hangs, performance issues - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #397: [libbladeRF] API call to reset timestamps - #396: [libbladeRF] Match a subset of serial number - #387: FPGA GPIO Bindings to BladeRF / Osmocom Library - #382: 'bladerf_get_serial()' fixed buffer size should be ideally handled in the API - #386: android usb bindings - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #319: [bladeRF-cli] Add libedit and libreadline support - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #205: [FX3 Firmware] Code cleanup and potential improvements - #174: Migrate FX3 build to CMake-generated Makefile * Other: - #388: [FX3 Firmware] Investigate USB3 drive controls -------------------------------------------------------------------------------- 2015.02 (2015-02-28) -------------------------------------------------------------------------------- This release introduces build fixes. It consists the following versions: * FPGA bitstream v0.1.2 * FX3 firmware v1.8.0 * libbladeRF v1.2.1 * bladeRF-cli v1.1.2 The following tracker items have been closed since the 2015.01-rc2 release: * Pull Requests: - #376: Code-generator for bladeRF-CLI made more robust * Bugs: - #375: Build error - missing defines - #374: Several issues when cross compiling host tools and libs for windows on a linux system via MinGW - #369: Interactive documentation fails to compile * Other: - #377: Timeout trying to update from firmware 1.5.3 (invalid) Outstanding issue tracker items: * Pull Requests: - #358: bladeRF-cli: Can now specify multiple commands separated by semicolon - #313: merge dev-quartus14 branch - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #373: "trap divide error" while generating calibration table in CLI: cal table dc rx - #372: Calibration table generation hangs, performance issues - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #378: [libbladeRF] Support zero-padding within a timestamped burst - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #345: [bladeRF-cli] Accept semi-colon command delimeters - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using MiniExpansion Header - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #174: Task: Migrate FX3 build to CMake-generated Makefile -------------------------------------------------------------------------------- 2015.01-rc2 (2015-01-31) -------------------------------------------------------------------------------- This release candidate introduces a number of libbladeRF fixes and improvements, as well as some minor bladeRF-cli fixes. See the CHANGELOG files associated with these items for more details. This release consists of the following versions: * FPGA bitstream v0.1.2 * FX3 firmware v1.8.0 * libbladeRF v1.2.0 * bladeRF-cli v1.1.1 Major changes include: * libbladeRF fix for issue #95, in which device required power-on reset after an application crashed without properly closing the device handle. * libbladeRF changes to initial LMS state address signal quality issues * BLADERF_LOG_LEVEL environment variable and optional syslog support have been added to libbladeRF. * Documentation build fix for bladeRF-cli. The following tracker items have been closed since the 2014.12-rc1 release: * Pull Requests: - #371: NixOS distro build fixes - #340: On non-Windows systems, send logs to syslog & stderr. * Bugs: - #372: [libbladeRF] Signal attenuation with XB-200 - #370: [libbladeRF] LMS DC calibration settings stored in calibration tables only gets loaded once - #366: [libbladeRF] Power down DC calibration comparators to improve signal quality - #365: host: Don't redefine inline unless __cplusplus is defined - #364: libbladeRF: Can't probe for already opened device when using CyUSB backend - #95: linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #343: [libbladeRF] Name worker threads (wontfix) * Other: - #368: Make BLADERF_ERR_* a enum type (wontfix) - #367: Make FPGA Autoloading fault tolerant (invalid) - #363: FPGA bitstream autoload fails occasionally (invalid) Outstanding pull requests, tasks, enhancement requests, and known issues are listed below. Please see the issue tracker for up-to-date information on these and their associated schedules. * Pull Requests: - #358: bladeRF-cli: Can now specify multiple commands separated by semicolon - #313: merge dev-quartus14 branch - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #301: Direct sampling with XB-200 needs additional improvements * Enhancements: - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #345: [bladeRF-cli] Accept semi-colon command delimeters - #344: [fx3] Investigate/fix field checksums - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using MiniExpansion Header - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #174: Task: Migrate FX3 build to CMake-generated Makefile -------------------------------------------------------------------------------- 2014.12-rc1 (2014-12-23) -------------------------------------------------------------------------------- This release candidate introduces some minor additions to libbladeRF and the bladeRF-cli program. See the CHANGELOG items associated with these items for more details. This release consists of the following versions: * FPGA bitstream v0.1.2 * FX3 firmware v1.8.0 * libbladeRF v1.1.0 * bladeRF-cli v1.1.0 Major changes include: * Introduction of libbladeRF support for bootloader detection and recovery. With this change, the Cypress backend should now be fully-functional. * Added libbladeRF file search path options (e.g., for host-based FPGA autoloading). * Moved message about detecting devices in bootloader mode to bladeRF-cli. This was original printed by some lower-level libbladeRF code, and deemed more appropriately located in the bladeRF-cli program. The following tracker items have been closed since the 2014.11 release: * Enhancement requests: - #361: Make bladeRF-cli --probe vary its exit status based on whether a device was found or not - #359: [libbladeRF] Migrate bootloader recovery support to libbladeRF - #349: [libbladeRF] Add current directory and env vars to file search path Outstanding pull requests, tasks, enhancement requests, and known issues are listed below. Please see the issue tracker for up-to-date information on these and their associated schedules. * Pull Requests: - #358: bladeRF-cli: Can now specify multiple commands separated by semicolon - #340: On non-Windows systems, send logs to syslog & stderr. - #313: merge dev-quartus14 branch - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #360: [hdl] Older FPGA revisions no longer build - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #301: Direct sampling with XB-200 needs additional improvements - #95: linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #345: [bladeRF-cli] Accept semi-colon command delimeters - #344: [fx3] Investigate/fix field checksums - #343: [libbladeRF] Name worker threads - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using MiniExpansion Header - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #174: Task: Migrate FX3 build to CMake-generated Makefile -------------------------------------------------------------------------------- 2014.11 (2014-11-30) -------------------------------------------------------------------------------- This release introduces a stable libbladeRF API and various fixes. No further reverse-incompatible API changes are currently scheduled. Should such changes be required in the future, they will be denoted through a major version number increment. This release consists of the following versions: * FPGA bitstream v0.1.2 * FX3 firmware v1.8.0 * libbladeRF v1.0.0 * bladeRF-cli v1.0.0 Major fixes include: * libbladeRF now waits for SPI flash autoloading to complete when opening a device. This requires FX3 Firmware v1.8.0. * FPGA v0.1.2 includes fixes in timestamp functionality. * An issue causing SPI flash corruption when using libusb with the WinUSB driver has been addressed. The following issue tracker items have been closed since the 2014.11-rc3 release: * Pull requests: - #357: debian: split udev rule into its own package - #356: debian package updates for libbladerf1 - #350: debian: fw 1.8.0, fpga 0.1.2, HTTPS - #338: debian: allow libtecla-dev to satisfy build deps * Bugs: - #355: [libbladeRF] Windows firmware flashing fails with WinUSB - #351: [libbladeRF] Device locks up when simultaneously tuning freq and RX'ing - #348: [Windows] Cypress backend causes build failures in VS2010 - #347: [libbladeRF] Header issue in Windows - #341: LMS Failures persist after FPGA v0.1.1 - #339: [libbladeRF] file_ops.c should use $HOME before getpwuid() - #337: host: Windows builds should copy license files into output directory - #336: [libbladeRF] Loading calibration tables does not set LMS DC cal registers - #335: [hdl] Initial bursts with TX_NOW corrupted - #334: [hdl] Bursts corrupted when switching between TX_NOW and scheduled bursts - #333: [Cygwin] libusb and libc version checks fail to compile - #332: Build fails in Cygwin - #325: Calibration issue: "cal: Invalid module provided (lms)" [Invalid] - #320: BladeRF USB crashes on Beaglebone Black, Ubuntu 14.04 [Invalid] - #318: Board occasionally fails to boot on computer power up [Invalid] - #317: FPGA autoload fails when USB device is open before FPGA is fully configured - #307: [hdl] RX and TX timestamp offset variation - #304: [bladeRF-cli] TX DC autocalibration/correction fails - #291: Missing RX Samples - #265: [hdl] Incorect metadata position in the RX Stream * Enhancements: - #105: Develop testing guidelines on new releases Outstanding pull requests, tasks, enhancement requests, and known issues are listed below. Please see the issue tracker for up-to-date information on these and their associated schedules. * Pull Requests: - #358: bladeRF-cli: Can now specify multiple commands separated by semicolon - #340: On non-Windows systems, send logs to syslog & stderr. - #313: merge dev-quartus14 branch - #257: Adjust nios simulation component so it matches the synthesis version * Bugs: - #354: [hdl] failure to include STP file due to talkback req ought to be fatal - #352: [libbladeRF] Intermittent out-of-order transfer callbacks with Windows & libusb 1.0.19 - #342: [Installer] Windows installer doesn't ship 32-bit MATLAB support - #301: Direct sampling with XB-200 needs additional improvements - #95: linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #353: [bladeRF-cli, libbladeRF] Improve jump_to_boot docs and implementation - #349: [libbladeRF] Add current directory and env vars to file search path - #345: [bladeRF-cli] Accept semi-colon command delimeters - #343: [libbladeRF] Name worker thread - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #174: Task: Migrate FX3 build to CMake-generated Makefile -------------------------------------------------------------------------------- 2014.11-rc3 (2014-10-30) -------------------------------------------------------------------------------- This 2014.11-rc3 release candidate introduces the remaining functionality originally intended for a 2014.09 release, as well as a number of improvements and bug fixes. As denoted by the name, the release has been rescheduled for November 2014. This release candidate consists of the following versions: * FPGA bitstream v0.1.1 * FX3 firmware v1.7.1 * libbladeRF v0.17.0 * bladeRF-cli v0.12.0 Major changes and additions include: * Timestamp metadata support for the libbladeRF synchronous interface - Example code is included in the API documentation and available in the libbladeRF/doc/examples directory. - This is tightly-coupled with functionality and fixes introduced by FPGA v0.1.1. * A majority of libbladeRF functions have been made thread-safe. * libbladeRF support for a Cypress CyUSB3/CyAPI-based backend - This backend has been found to be a useful alternative on some systems with USB3 controllers that exhibit issues with the libusb backend implementation. * Fixes for LMS DC calibration issues - FPGA fixes in v0.1.1 have addressed a timing issue that corrupted LMS register readbacks. This fixes issue #269, in which LMS DC calibration registers would become corrupted and read back as 31's. - A bladeRF-cli change in v0.12.0 fixed issue #304, where TX DC calibration would fail, reporting that invalid values were encountered. The remaining window of time up to the first official release is intended for documentation improvements and bug fixes. New features or major changes will be held off until the following cycle; they may be staged in a master-next branch if needed. The following issue tracker items have been closed since 2014.09-rc2. Issues are listed first, with associated pull request items second, if relevant. * Pull requests: - #326: only use the relative path for logging .c filenames; enable it by default - #308: Allow #-style comments in bladeRF-cli - #303: libbladeRF: update README cmake options - #293: debian: update changelog w/ 2014.09-rc{1,2} * Bugs: - #336: [libbladeRF] Loading calibration tables does not set LMS DC cal registers - #333: [Cygwin] libusb and libc version checks fail to compil - #332: Build fails in Cygwin - #331: [libbladeRF] Enforce exclusive device access in Cypress backend - #330: [libbladeRF] Cannot open multiple devices via 'open any' request - #329: [cmake] 34151f6 breaks configuration for some CMake versions - #327: [libbladeRF] It is possible to get "stuck" with an FPGA < v0.0.1 - #325: Calibration issue: "cal: Invalid module provided (lms)"[Invalid] - #324: [libbladeRF] Deadlock in bladerf_sync_tx on Windows - #323: [libbladeRF] bladerf_sync_config() does not set dev->transfer_timeout[module] - #322: [libbladeRF] libusb.c doesn't check for timeout_ms = 0 in buffer submission - #320: BladeRF USB crashes on Beaglebone Black, Ubuntu 14.04 [Invalid] - #318: Board occasionally fails to boot on computer power up [Invalid] - #309: [libbladeRF] XB-100 attach shouldn't succeed - #305/#306,#315: mingwbuild of libbladeRF fails on file_ops.c(ShlObj.h) - #304: [bladeRF-cli] TX DC autocalibration/correction fails - #295/#296: Update references to bladeRF-flash in top-level README.md and man page(s) - #292/#296: cmake ignores user input - #291: Missing RX Samples - #290/#294: [bladeRF-cli] TX help typo - #285/#298: [libbladeRF] Update CMake options in README.md - #283: "bladeRF-cli --version" hangs and segfaults on Debian 7 in Virtualbox - #279: [libbladeRF] MACOSX_RPATH is not specified - #278: cmd_help.h generator breaks osx build - #277: bladeRF-cli: Make 'print ' output more consistent - #269: [libbladeRF] RXVGA2 DC autocalibration intermittently returns 31 for all values - #260: [hdl] RX I Samples value 0 - #255: Avoid obsolete samples in the RX Stream * Enhancements: - #314: "make uninstall" cannot find install manifest - #312: [libbladeRF] Regression in USB 2.0 operation - #311/316: [bladeRF-cli] Move FPGA and device handle checks to common code in cmd.c - #310: [libbladeRF] Add suport for disabling an XB [Won't Fix] - #299: Task: Provide .md5 and .sha256sum files with pre-built binaries - #289: libusb/windows. (Version compatibity) - #288/#302: [bladeRF-cli] XB-200 Filterbank Control - #252: [bladeRF-cli] Migrate rx/tx command implementations to libbladeRF's sync i/f - #250: [libbladeRF] Implement Cypress API-based backend Outstanding pull requests, tasks, enhancement requests, and known issues as of RC3 listed below. Please see the issue tracker for up-to-date information on these and their associated schedules. * Pull requests: - #313: merge dev-quartus14 branch - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #335: [hdl] Initial bursts with TX_NOW corrupted - #334: [hdl] Bursts corrupted when switching between TX_NOW and scheduled bursts - #317: FPGA autoload fails when USB device is open before FPGA is fully configured - #307: [hdl] RX and TX timestamp offset variation - #301: Direct sampling with XB-200 needs additional improvements - #265: [hdl] Incorect metadata position in the RX Stream - #95: Linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #328: [libbladeRF] Review and evaluate use of stream lock WRT libusb - #321: How about a switch for bladeRF-cli to emit calibration in a format bladeRF-cli can later read? - #319: [bladeRF-cli] Add libedit and libreadline support - #282: [libbladeRF] Move get/set_lms_correction() and get/set_fpga_correction() logic - #240: [libbladeRF] Prefer static assertion over assert() when possible - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #174: Task: Migrate FX3 build to CMake-generated Makefile - #105: Develop testing guidelines on new releases -------------------------------------------------------------------------------- 2014.09-rc2 (2014-07-24) -------------------------------------------------------------------------------- Since 2014.09-rc1, there have been a number of bug fixes. We wanted to ensure these fixes were provided at a relatively stable "snapshot" in the codebase, prior to introducing a slightly large of set of internal changes required to provide the timestamp support and thread-safety. As such, these changes are have been marked `2014.09-rc2`, and the late-August milestone has been been renamed to `2014.09-rc3`. The objectives for the late-August and September and milestones remain. This release candidate consists of the following versions: * FPGA bitstream v0.0.6 * FX3 firmware v1.7.1 * libbladeRF v0.16.2 * bladeRF-cli v0.11.1 In addition to continued fixes and minor improvements, the remaining major functionality, now scheduled for RC3 is: * Metadata/timestamp support for the libbladeRF synchronous interface * Experimental Cypress driver-based libbladeRF backend for Windows The above items will add additional items to the libbladeRF API, but will not introduce any reverse-incompatible changes. The items scheduled for deprecation are largely the same since 2014.09-rc1 * bladeRF-flash has been removed as of 2014.09-rc2 * libbladeRF's BLADERF_FORMAT_SC16Q11 will be removed prior to 2014.09-rc3 Outstanding tasks and known issues, as of RC2, are listed below. Note that not all of these are scheduled for resolution by 2014.09. Please see the milestone and tracker information GitHub for more information. * Pull requests: - #277: [bladeRF-cli] Make 'print ' output more consistent - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #290: [bladeRF-cli] TX help typo - #285: [libbladeRF] Update CMake options in README.md - #260: [hdl] RX I Samples value 0 - #224: Report error code for incompatible version sets - #95: Linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #282: [libbladeRF] Move get/set_lms_correctiion() and get/set_fpga_correction() logic - #252: [bladeRF-cli] Migrate rx/tx command implementations to libbladeRF's sync i/f - #250: [libbladeRF] Implement Cypress API-based backend - #240: [libbladeRF] Prefer static assertion over assert() when possible - #238: [libbladeRF] Integrate timestamp/metadata support - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #219: libbladeRF: bladerf_init_stream parameter order is inconsistent - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #199: Remove magic numbers for GPIO addresses from lms_spi_controller.c - #190: [libbladeRF] Refactor bladerf_priv.c - #174: Task: Migrate FX3 build to CMake-generated Makefile - #166: debian: Auto-download appropriate firmware/FPGA images from nuand.com during install - #105: Develop testing guidelines on new releases -------------------------------------------------------------------------------- 2014.09-rc1 (2014-07-05) -------------------------------------------------------------------------------- This is the first of two release candidates for a 2014-09 release. RC1 consists of the following component versions: FPGA bitstream v0.0.5 FX3 Firmware v1.7.0 libbladeRF v0.16.0 bladeRF-cli v0.11.0 This release candidate provides a majority of the functionality scheduled for the 2014.09 release. The remaining functionality, scheduled for RC2 is: * Metadata/timestamp support for the libbladeRF synchronous interface * Detection and reporting of incompatible firmware/FPGA versions * Experimental Cypress driver-based libbladeRF backend for Windows The above items will add additional items to the libbladeRF API, but will not introduce any reverse-incompatible changes. The following items are schedule for deprecation and removal prior to the 2014.09-rc2 release: * bladeRF-flash utility - A majority of the functionality provided in this program now overlaps with bladeRF-cli. This program was used to ease the burden associated with some very early firmware upgrades. However, for firmware upgrade issues, the well-documented bootloader approach is now preferred. This, combined with efforts to have libbladeRF be more explicit about version mismatches, should eliminate any remaining need for this program. * libbladeRF's BLADERF_FORMAT SC16_Q12 reverse compatibility macro - The format is now more appropriately named BLADERF_FORMAT_SC16_Q11. Ensure you've replaced references to the old enumeration value. Outstanding tasks and known issues, as of RC1, are listed below. Note that not all of these are scheduled for resolution by 2014.09. Please see the milestone and tracker information GitHub for more information. * Pull requests: - #270: Markdown-ify the bladeRF-cli interactive help - #267: Adjust nios simulation component so it matches the synthesis version * Bugs: - #265: [hdl] Incorect metadata position in the RX Stream - #260: [hdl] RX I Samples value 0 - #255: Avoid obsolete samples in the RX stream - #224: Report error code for incompatible version sets - #95: Linux kernel/FX3: Not enough bandwidth for altsetting * Enhancements: - #252: [bladeRF-cli] Migrate rx/tx command implementations to libbladeRF's sync i/f - #250: [libbladeRF] Implement Cypress API-based backend - #240: [libbladeRF] Prefer static assertion over assert() when possible - #238: [libbladeRF] Integrate timestamp/metadata support - #236: [libbladeRF] API calls for XB-100 required - #221: Synchronized Tx/Rx of multiple bladeRFs for MIMO using Mini Expansion Header - #219: libbladeRF: bladerf_init_stream parameter order is inconsistent - #213: CLI should show sample file information for TX - #205: [FX3 Firmware] Code cleanup and potential improvements - #200: Reserved addresses for firmware customization - #199: Remove magic numbers for GPIO addresses from lms_spi_controller.c - #190: [libbladeRF] Refactor bladerf_priv.c - #174: Task: Migrate FX3 build to CMake-generated Makefile - #166: debian: Auto-download appropriate firmware/FPGA images from nuand.com during install - #105: Develop testing guidelines on new releases