libbladeRF 2.5.0
Nuand bladeRF library
Loading...
Searching...
No Matches
Device properties

Description

These functions provide the ability to query various pieces of information from an attached device.

These functions are thread-safe.

Data Structures

struct  bladerf_range
 
struct  bladerf_serial
 
struct  bladerf_version
 

Enumerations

enum  bladerf_fpga_size {
  BLADERF_FPGA_UNKNOWN = 0 , BLADERF_FPGA_40KLE = 40 , BLADERF_FPGA_115KLE = 115 , BLADERF_FPGA_A4 = 49 ,
  BLADERF_FPGA_A5 = 77 , BLADERF_FPGA_A9 = 301
}
 
enum  bladerf_dev_speed { BLADERF_DEVICE_SPEED_UNKNOWN , BLADERF_DEVICE_SPEED_HIGH , BLADERF_DEVICE_SPEED_SUPER }
 
enum  bladerf_fpga_source { BLADERF_FPGA_SOURCE_UNKNOWN = 0 , BLADERF_FPGA_SOURCE_FLASH = 1 , BLADERF_FPGA_SOURCE_HOST = 2 }
 

Functions

API_EXPORT int CALL_CONV bladerf_get_serial (struct bladerf *dev, char *serial)
 
API_EXPORT int CALL_CONV bladerf_get_serial_struct (struct bladerf *dev, struct bladerf_serial *serial)
 
API_EXPORT int CALL_CONV bladerf_get_fpga_size (struct bladerf *dev, bladerf_fpga_size *size)
 
API_EXPORT int CALL_CONV bladerf_get_fpga_bytes (struct bladerf *dev, size_t *size)
 
API_EXPORT int CALL_CONV bladerf_get_flash_size (struct bladerf *dev, uint32_t *size, bool *is_guess)
 
API_EXPORT int CALL_CONV bladerf_fw_version (struct bladerf *dev, struct bladerf_version *version)
 
API_EXPORT int CALL_CONV bladerf_is_fpga_configured (struct bladerf *dev)
 
API_EXPORT int CALL_CONV bladerf_fpga_version (struct bladerf *dev, struct bladerf_version *version)
 
API_EXPORT int CALL_CONV bladerf_get_fpga_source (struct bladerf *dev, bladerf_fpga_source *source)
 
API_EXPORT bladerf_dev_speed CALL_CONV bladerf_device_speed (struct bladerf *dev)
 
API_EXPORT const char *CALL_CONV bladerf_get_board_name (struct bladerf *dev)
 

Enumeration Type Documentation

◆ bladerf_dev_speed

This enum describes the USB Speed at which the bladeRF is connected. Speeds not listed here are not supported.

Definition at line 437 of file libbladeRF.h.

◆ bladerf_fpga_size

FPGA device variant (size)

Enumerator
BLADERF_FPGA_UNKNOWN 

Unable to determine FPGA variant

BLADERF_FPGA_40KLE 

40 kLE FPGA

BLADERF_FPGA_115KLE 

115 kLE FPGA

BLADERF_FPGA_A4 

49 kLE FPGA (A4)

BLADERF_FPGA_A5 

77 kLE FPGA (A5)

BLADERF_FPGA_A9 

301 kLE FPGA (A9)

Definition at line 424 of file libbladeRF.h.

◆ bladerf_fpga_source

FPGA configuration source

Note: the numbering of this enum must match NuandFpgaConfigSource in firmware_common/bladeRF.h

Enumerator
BLADERF_FPGA_SOURCE_UNKNOWN 

Uninitialized/invalid

BLADERF_FPGA_SOURCE_FLASH 

Last FPGA load was from flash

BLADERF_FPGA_SOURCE_HOST 

Last FPGA load was from host

Definition at line 449 of file libbladeRF.h.

Function Documentation

◆ bladerf_device_speed()

API_EXPORT bladerf_dev_speed CALL_CONV bladerf_device_speed ( struct bladerf * dev)

Obtain the bus speed at which the device is operating

Parameters
devDevice handle
Returns
Device speed enumeration

◆ bladerf_fpga_version()

API_EXPORT int CALL_CONV bladerf_fpga_version ( struct bladerf * dev,
struct bladerf_version * version )

Query FPGA version

Parameters
devDevice handle
[out]versionUpdated to contain firmware version
Returns
0 on success, value from Error codes list on failure

◆ bladerf_fw_version()

API_EXPORT int CALL_CONV bladerf_fw_version ( struct bladerf * dev,
struct bladerf_version * version )

Query firmware version

Parameters
devDevice handle
[out]versionUpdated to contain firmware version
Returns
0 on success, value from Error codes list upon failing to retrieve this information from the device.

◆ bladerf_get_board_name()

API_EXPORT const char *CALL_CONV bladerf_get_board_name ( struct bladerf * dev)

Get the board name

Parameters
devDevice handle
Returns
Pointer to C string with the board's model name, either bladerf1 for a bladeRF x40/x115, or bladerf2 for a bladeRF Micro.

◆ bladerf_get_flash_size()

API_EXPORT int CALL_CONV bladerf_get_flash_size ( struct bladerf * dev,
uint32_t * size,
bool * is_guess )

Query a device's Flash size

Parameters
devDevice handle
[out]sizeWill be updated with the size of the onboard flash, in bytes. If an error occurs, no data will be written to this pointer.
[out]is_guessTrue if the flash size is a guess (using FPGA size). False if the flash ID was queried and its size was successfully decoded.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_get_fpga_bytes()

API_EXPORT int CALL_CONV bladerf_get_fpga_bytes ( struct bladerf * dev,
size_t * size )

Query a device's expected FPGA bitstream length, in bytes

Parameters
devDevice handle
[out]sizeWill be updated with expected bitstream length. If an error occurs, no data will be written to this pointer.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_get_fpga_size()

API_EXPORT int CALL_CONV bladerf_get_fpga_size ( struct bladerf * dev,
bladerf_fpga_size * size )

Query a device's FPGA size

Parameters
devDevice handle
[out]sizeWill be updated with the on-board FPGA's size. If an error occurs, no data will be written to this pointer.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_get_fpga_source()

API_EXPORT int CALL_CONV bladerf_get_fpga_source ( struct bladerf * dev,
bladerf_fpga_source * source )

Query FPGA configuration source

Determine whether the FPGA image was loaded from flash, or if it was loaded from the host, by asking the firmware for the last-known FPGA configuration source.

Parameters
devDevice handle
[out]sourceSource of the configuration
Returns
0 on success, BLADERF_ERR_UNSUPPORTED if the BLADERF_CAP_FW_FPGA_SOURCE capability is not present, value from Error codes list on failure

◆ bladerf_get_serial()

API_EXPORT int CALL_CONV bladerf_get_serial ( struct bladerf * dev,
char * serial )

Query a device's serial number (deprecated)

Parameters
devDevice handle
[out]serialThis user-supplied buffer, which must be at least BLADERF_SERIAL_LENGTH bytes, will be updated to contain a NUL-terminated serial number string. If an error occurs (as indicated by a non-zero return value), no data will be written to this buffer.
Deprecated
New code should use bladerf_get_serial_struct instead.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_get_serial_struct()

API_EXPORT int CALL_CONV bladerf_get_serial_struct ( struct bladerf * dev,
struct bladerf_serial * serial )

Query a device's serial number

Parameters
devDevice handle
[out]serialPointer to a bladerf_serial structure, which will be populated with a serial string on success.

Example code:

struct bladerf_serial sn;
status = bladerf_get_serial_struct(dev, &sn);
if (status < 0) {
// error handling here
}
printf("Serial number: %s\n", sn.serial);
API_EXPORT int CALL_CONV bladerf_get_serial_struct(struct bladerf *dev, struct bladerf_serial *serial)
Returns
0 on success, value from Error codes list on failure

◆ bladerf_is_fpga_configured()

API_EXPORT int CALL_CONV bladerf_is_fpga_configured ( struct bladerf * dev)

Check FPGA configuration status

Parameters
devDevice handle
Returns
1 if FPGA is configured, 0 if it is not, and value from Error codes list on failure