libbladeRF  2.5.0
Nuand bladeRF library
Data Structures | Enumerations | Functions
Internal loopback

Description

The bladeRF provides a variety of loopback modes to aid in development and testing.

In general, the digital or baseband loopback modes provide the most "ideal" operating conditions, while the internal RF loopback modes introduce more of the typical nonidealities of analog systems.

These functions are thread-safe.

Data Structures

struct  bladerf_loopback_modes
 

Enumerations

enum  bladerf_loopback {
  BLADERF_LB_NONE = 0 , BLADERF_LB_FIRMWARE , BLADERF_LB_BB_TXLPF_RXVGA2 , BLADERF_LB_BB_TXVGA1_RXVGA2 ,
  BLADERF_LB_BB_TXLPF_RXLPF , BLADERF_LB_BB_TXVGA1_RXLPF , BLADERF_LB_RF_LNA1 , BLADERF_LB_RF_LNA2 ,
  BLADERF_LB_RF_LNA3 , BLADERF_LB_RFIC_BIST
}
 

Functions

API_EXPORT int CALL_CONV bladerf_get_loopback_modes (struct bladerf *dev, const struct bladerf_loopback_modes **modes)
 
API_EXPORT bool CALL_CONV bladerf_is_loopback_mode_supported (struct bladerf *dev, bladerf_loopback mode)
 
API_EXPORT int CALL_CONV bladerf_set_loopback (struct bladerf *dev, bladerf_loopback lb)
 
API_EXPORT int CALL_CONV bladerf_get_loopback (struct bladerf *dev, bladerf_loopback *lb)
 

Enumeration Type Documentation

◆ bladerf_loopback

Loopback options

Enumerator
BLADERF_LB_NONE 

Disables loopback and returns to normal operation.

BLADERF_LB_FIRMWARE 

Firmware loopback inside of the FX3

BLADERF_LB_BB_TXLPF_RXVGA2 

Baseband loopback. TXLPF output is connected to the RXVGA2 input.

BLADERF_LB_BB_TXVGA1_RXVGA2 

Baseband loopback. TXVGA1 output is connected to the RXVGA2 input.

BLADERF_LB_BB_TXLPF_RXLPF 

Baseband loopback. TXLPF output is connected to the RXLPF input.

BLADERF_LB_BB_TXVGA1_RXLPF 

Baseband loopback. TXVGA1 output is connected to RXLPF input.

BLADERF_LB_RF_LNA1 

RF loopback. The TXMIX output, through the AUX PA, is connected to the output of LNA1.

BLADERF_LB_RF_LNA2 

RF loopback. The TXMIX output, through the AUX PA, is connected to the output of LNA2.

BLADERF_LB_RF_LNA3 

RF loopback. The TXMIX output, through the AUX PA, is connected to the output of LNA3.

BLADERF_LB_RFIC_BIST 

RFIC digital loopback (built-in self-test)

Definition at line 1338 of file libbladeRF.h.

Function Documentation

◆ bladerf_get_loopback()

API_EXPORT int CALL_CONV bladerf_get_loopback ( struct bladerf *  dev,
bladerf_loopback lb 
)

Get current loopback mode

Parameters
devDevice handle
[out]lbCurrent loopback mode
Returns
0 on success, value from Error codes list on failure

◆ bladerf_get_loopback_modes()

API_EXPORT int CALL_CONV bladerf_get_loopback_modes ( struct bladerf *  dev,
const struct bladerf_loopback_modes **  modes 
)

Get loopback modes

Populates modes with a pointer to an array of structs containing the supported loopback modes.

This function may be called with NULL for modes to determine the number of loopback modes supported.

Parameters
devDevice handle
[out]modesSupported loopback modes
Returns
Number of loopback modes on success, value from Error codes list on failure

◆ bladerf_is_loopback_mode_supported()

API_EXPORT bool CALL_CONV bladerf_is_loopback_mode_supported ( struct bladerf *  dev,
bladerf_loopback  mode 
)

Test if a given loopback mode is supported on this device.

Parameters
devDevice handle
[in]modebladerf_loopback enum to check
Returns
true if supported, false if not (or on error)

◆ bladerf_set_loopback()

API_EXPORT int CALL_CONV bladerf_set_loopback ( struct bladerf *  dev,
bladerf_loopback  lb 
)

Apply specified loopback mode

Note
Loopback modes should only be enabled or disabled while the RX and TX channels are both disabled (and therefore, when no samples are being actively streamed). Otherwise, unexpected behavior may occur.
Parameters
devDevice handle
[in]lbLoopback mode. Note that BLADERF_LB_NONE disables the use of loopback functionality.
Returns
0 on success, value from Error codes list on failure