libbladeRF: API Sections

| libbladeRF 2.2.1-git Nuand bladeRF library

API Sections
libbladeRF is divided into the following sections. Click one of these section names to view information about the macros, enumerations, data structures, and functions within the section.
[detail level 1234]

Initialization | The functions in this section provide the ability query and inspect available devices, initialize them, and deinitialize them
Device properties | These functions provide the ability to query various pieces of information from an attached device
▼Channel control | The RX and TX channels are independently configurable. As such, many libbladeRF functions require a bladerf_channel parameter to specify the desired channel
Gain | These functions provide control over the device's RX and TX gain stages
Sample rate | This section presents functionality pertaining to configuring the sample rate and mode of the device's RX and TX channels
Bandwidth | This section defines functionality for configuring a channel's bandwidth. In most cases, one should define the bandwidth to be less than the sample rate to minimize the impact of aliasing
Frequency | These functions provide the ability to tune the RX and TX channels
Internal loopback | The bladeRF provides a variety of loopback modes to aid in development and testing
Triggers | Trigger functionality introduced in bladeRF FPGA v0.6.0 allows TX and/or RX samples to be gated via a trigger signal. This allows multiple devices to synchronize their TX/RX operations upon the reception of a trigger event
Receive Mux | These functions are thread-safe
Scheduled Tuning | These functions are thread-safe
Correction | This group provides routines for applying manual offset, gain, and phase corrections
▼Streaming | This section defines the streaming APIs
▼Formats | This section defines the available sample formats and metadata flags
Metadata structure and flags |
Synchronous API | This group of functions presents synchronous, blocking calls (with optional timeouts) for transmitting and receiving samples
Asynchronous API | This interface gives the API user full control over the stream and buffer management, at the cost of added complexity
Firmware and FPGA | These functions provide the ability to load and program devices on the bladeRF board
▼Flash image format | This section contains a file format and associated routines for storing and loading flash contents with metadata
Flash image format constants |
▼Low-level Functions | This section defines low-level APIs
VCTCXO Tamer Mode | This group provides routines for controlling the VTCTXO tamer
VCTCXO Trim DAC | These functions provide the ability to manipulate the VCTCXO Trim DAC
Tuning Mode | These functions provide the ability to select the tuning mode
Trigger Control | These functions provide the ability to read and write the trigger control registers
Configuration GPIO | These functions provide the ability to read and write the configuration GPIO
SPI Flash | These functions provide the ability to erase, read, and write the SPI flash
RF Ports | These functions provide the ability to select various RF ports for RX and TX channels. This is normally handled automatically
Expansion board support | This group of functions provides the ability to attach and detach expansion boards
Logging | This section contains various helper/utility functions for library logging facilities
Library version |
Error codes | BladeRF library routines return negative values to indicate errors. Values >= 0 are used to indicate success
▼bladeRF1-specific API | These functions are thread-safe
Constants (deprecated) |
Flash image format constants |
Gain stages (deprecated) | These functions provide control over the device's RX and TX gain stages
Sampling Mux | These functions provide control over internal and direct sampling modes of the LMS6002D
LPF Bypass | These functions provide control over the LPF bypass mode of the LMS6002D
SMB clock port control | The SMB clock port (J62) may be used to synchronize sampling on multiple devices, or to generate an arbitrary clock output for a different device
Expansion I/O | These definitions and functions provide high-level functionality for manipulating pins on the bladeRF1 U74 Expansion Header, and the associated mappings on expansion boards
Expansion board support | This group of functions provides the ability to control and configure expansion boards such as the XB-100, XB-200, and XB-300
DC Calibration | These functions are thread-safe
Low-level accessors | In a most cases, higher-level routines should be used. These routines are only intended to support development and testing
▼bladeRF2-specific API | These functions are thread-safe
Bias Tee Control |
▼Low-level accessors | In most cases, higher-level routines should be used. These routines are only intended to support development and testing
RF Integrated Circuit |
Phase Detector/Freq. Synth Control | Reference: http://www.analog.com/media/en/technical-documentation/data-sheets/ADF4002.pdf
Power Multiplexer |
▼Clock Buffer |
Clock input selection |
Clock output control |
Power Monitoring |
RF Switching Control |