Skip to content

Releases: Nuand/bladeRF

May release

24 May 00:11
Compare
Choose a tag to compare

Tagging this release to get Windows installer hosted on Github.

2023.02

16 Feb 03:35
Compare
Choose a tag to compare

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

15 Feb 23:29
Compare
Choose a tag to compare

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

2021.02

08 Feb 21:55
Compare
Choose a tag to compare

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

31 Jul 18:15
Compare
Choose a tag to compare

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/~nuandllc/+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

21 Dec 22:54
Compare
Choose a tag to compare
2018.12-rc2 Pre-release
Pre-release

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

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/~bladerf/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

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

30 Oct 23:48
Compare
Choose a tag to compare
2018.10-rc1 Pre-release
Pre-release

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.

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/~bladerf/+archive/ubuntu/bladerf
Windows installer: https://www.nuand.com/win_installers/

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

05 Sep 18:24
Compare
Choose a tag to compare

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

2016.06

29 Jun 21:25
Compare
Choose a tag to compare

This release introduces new functionality and bug fixes. It consists of the
following versions:

Component Version
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
  • 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 2016.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
  • Enhancements:
    • #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

07 Jan 22:08
Compare
Choose a tag to compare
2016.01-rc1 Pre-release
Pre-release

This release introduces new functionality and bug fixes. It consists of the
following versions:

Component Version
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