libbladeRF  1.7.2
Nuand bladeRF library
Data Structures | Macros | Typedefs | Enumerations | Functions
libbladeRF.h File Reference

Description

bladeRF library

Copyright (C) 2013-2016 Nuand LLC

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Definition in file libbladeRF.h.

#include <stdint.h>
#include <stdlib.h>
#include <stdbool.h>

Go to the source code of this file.

Data Structures

struct  bladerf_devinfo
 
struct  bladerf_version
 
struct  bladerf_rational_rate
 
struct  bladerf_quick_tune
 
struct  bladerf_trigger
 
struct  bladerf_metadata
 
struct  bladerf_image
 
struct  bladerf_lms_dc_cals
 

Macros

#define LIBBLADERF_API_VERSION   (0x01070200)
 
#define API_EXPORT
 
#define CALL_CONV
 
#define BLADERF_SERIAL_LENGTH   33
 
#define BLADERF_RXVGA1_GAIN_MIN   5
 
#define BLADERF_RXVGA1_GAIN_MAX   30
 
#define BLADERF_RXVGA2_GAIN_MIN   0
 
#define BLADERF_RXVGA2_GAIN_MAX   30
 
#define BLADERF_TXVGA1_GAIN_MIN   (-35)
 
#define BLADERF_TXVGA1_GAIN_MAX   (-4)
 
#define BLADERF_TXVGA2_GAIN_MIN   0
 
#define BLADERF_TXVGA2_GAIN_MAX   25
 
#define BLADERF_LNA_GAIN_MID_DB   3
 
#define BLADERF_LNA_GAIN_MAX_DB   6
 
#define BLADERF_SAMPLERATE_MIN   80000u
 
#define BLADERF_SAMPLERATE_REC_MAX   40000000u
 
#define BLADERF_BANDWIDTH_MIN   1500000u
 
#define BLADERF_BANDWIDTH_MAX   28000000u
 
#define BLADERF_FREQUENCY_MIN_XB200   0u
 
#define BLADERF_FREQUENCY_MIN   237500000u
 
#define BLADERF_FREQUENCY_MAX   3800000000u
 
#define BLADERF_RETUNE_NOW   0
 
#define BLADERF_SMB_FREQUENCY_MAX   200000000u
 
#define BLADERF_SMB_FREQUENCY_MIN   ((38400000u * 66u) / (32 * 567))
 
#define BLADERF_XB_GPIO(n)   (1 << (n-1))
 
#define BLADERF_XB_DIR_OUTPUT(pin)   (pin)
 
#define BLADERF_XB_DIR_INPUT(pin)   (0)
 
#define BLADERF_XB_GPIO_01   BLADERF_XB_GPIO(1)
 
#define BLADERF_XB_GPIO_02   BLADERF_XB_GPIO(2)
 
#define BLADERF_XB_GPIO_03   BLADERF_XB_GPIO(3)
 
#define BLADERF_XB_GPIO_04   BLADERF_XB_GPIO(4)
 
#define BLADERF_XB_GPIO_05   BLADERF_XB_GPIO(5)
 
#define BLADERF_XB_GPIO_06   BLADERF_XB_GPIO(6)
 
#define BLADERF_XB_GPIO_07   BLADERF_XB_GPIO(7)
 
#define BLADERF_XB_GPIO_08   BLADERF_XB_GPIO(8)
 
#define BLADERF_XB_GPIO_09   BLADERF_XB_GPIO(9)
 
#define BLADERF_XB_GPIO_10   BLADERF_XB_GPIO(10)
 
#define BLADERF_XB_GPIO_11   BLADERF_XB_GPIO(11)
 
#define BLADERF_XB_GPIO_12   BLADERF_XB_GPIO(12)
 
#define BLADERF_XB_GPIO_13   BLADERF_XB_GPIO(13)
 
#define BLADERF_XB_GPIO_14   BLADERF_XB_GPIO(14)
 
#define BLADERF_XB_GPIO_15   BLADERF_XB_GPIO(15)
 
#define BLADERF_XB_GPIO_16   BLADERF_XB_GPIO(16)
 
#define BLADERF_XB_GPIO_17   BLADERF_XB_GPIO(17)
 
#define BLADERF_XB_GPIO_18   BLADERF_XB_GPIO(18)
 
#define BLADERF_XB_GPIO_19   BLADERF_XB_GPIO(19)
 
#define BLADERF_XB_GPIO_20   BLADERF_XB_GPIO(20)
 
#define BLADERF_XB_GPIO_21   BLADERF_XB_GPIO(21)
 
#define BLADERF_XB_GPIO_22   BLADERF_XB_GPIO(22)
 
#define BLADERF_XB_GPIO_23   BLADERF_XB_GPIO(23)
 
#define BLADERF_XB_GPIO_24   BLADERF_XB_GPIO(24)
 
#define BLADERF_XB_GPIO_25   BLADERF_XB_GPIO(25)
 
#define BLADERF_XB_GPIO_26   BLADERF_XB_GPIO(26)
 
#define BLADERF_XB_GPIO_27   BLADERF_XB_GPIO(27)
 
#define BLADERF_XB_GPIO_28   BLADERF_XB_GPIO(28)
 
#define BLADERF_XB_GPIO_29   BLADERF_XB_GPIO(29)
 
#define BLADERF_XB_GPIO_30   BLADERF_XB_GPIO(30)
 
#define BLADERF_XB_GPIO_31   BLADERF_XB_GPIO(31)
 
#define BLADERF_XB_GPIO_32   BLADERF_XB_GPIO(32)
 
#define BLADERF_XB200_PIN_J7_1   BLADERF_XB_GPIO_10
 
#define BLADERF_XB200_PIN_J7_2   BLADERF_XB_GPIO_11
 
#define BLADERF_XB200_PIN_J7_5   BLADERF_XB_GPIO_08
 
#define BLADERF_XB200_PIN_J7_6   BLADERF_XB_GPIO_09
 
#define BLADERF_XB200_PIN_J13_1   BLADERF_XB_GPIO_17
 
#define BLADERF_XB200_PIN_J13_2   BLADERF_XB_GPIO_18
 
#define BLADERF_XB200_PIN_J16_1   BLADERF_XB_GPIO_31
 
#define BLADERF_XB200_PIN_J16_2   BLADERF_XB_GPIO_32
 
#define BLADERF_XB200_PIN_J16_3   BLADERF_XB_GPIO_19
 
#define BLADERF_XB200_PIN_J16_4   BLADERF_XB_GPIO_20
 
#define BLADERF_XB200_PIN_J16_5   BLADERF_XB_GPIO_21
 
#define BLADERF_XB200_PIN_J16_6   BLADERF_XB_GPIO_24
 
#define BLADERF_XB100_PIN_J2_3   BLADERF_XB_GPIO_07
 
#define BLADERF_XB100_PIN_J2_4   BLADERF_XB_GPIO_08
 
#define BLADERF_XB100_PIN_J3_3   BLADERF_XB_GPIO_09
 
#define BLADERF_XB100_PIN_J3_4   BLADERF_XB_GPIO_10
 
#define BLADERF_XB100_PIN_J4_3   BLADERF_XB_GPIO_11
 
#define BLADERF_XB100_PIN_J4_4   BLADERF_XB_GPIO_12
 
#define BLADERF_XB100_PIN_J5_3   BLADERF_XB_GPIO_13
 
#define BLADERF_XB100_PIN_J5_4   BLADERF_XB_GPIO_14
 
#define BLADERF_XB100_PIN_J11_2   BLADERF_XB_GPIO_05
 
#define BLADERF_XB100_PIN_J11_3   BLADERF_XB_GPIO_04
 
#define BLADERF_XB100_PIN_J11_4   BLADERF_XB_GPIO_03
 
#define BLADERF_XB100_PIN_J11_5   BLADERF_XB_GPIO_06
 
#define BLADERF_XB100_PIN_J12_2   BLADERF_XB_GPIO_01
 
#define BLADERF_XB100_PIN_J12_5   BLADERF_XB_GPIO_02
 
#define BLADERF_XB100_LED_D1   BLADERF_XB_GPIO_24
 
#define BLADERF_XB100_LED_D2   BLADERF_XB_GPIO_32
 
#define BLADERF_XB100_LED_D3   BLADERF_XB_GPIO_30
 
#define BLADERF_XB100_LED_D4   BLADERF_XB_GPIO_28
 
#define BLADERF_XB100_LED_D5   BLADERF_XB_GPIO_23
 
#define BLADERF_XB100_LED_D6   BLADERF_XB_GPIO_25
 
#define BLADERF_XB100_LED_D7   BLADERF_XB_GPIO_31
 
#define BLADERF_XB100_LED_D8   BLADERF_XB_GPIO_29
 
#define BLADERF_XB100_TLED_RED   BLADERF_XB_GPIO_22
 
#define BLADERF_XB100_TLED_GREEN   BLADERF_XB_GPIO_21
 
#define BLADERF_XB100_TLED_BLUE   BLADERF_XB_GPIO_20
 
#define BLADERF_XB100_DIP_SW1   BLADERF_XB_GPIO_27
 
#define BLADERF_XB100_DIP_SW2   BLADERF_XB_GPIO_26
 
#define BLADERF_XB100_DIP_SW3   BLADERF_XB_GPIO_16
 
#define BLADERF_XB100_DIP_SW4   BLADERF_XB_GPIO_15
 
#define BLADERF_XB100_BTN_J6   BLADERF_XB_GPIO_19
 
#define BLADERF_XB100_BTN_J7   BLADERF_XB_GPIO_18
 
#define BLADERF_XB100_BTN_J8   BLADERF_XB_GPIO_17
 
#define BLADERF_META_STATUS_OVERRUN   (1 << 0)
 
#define BLADERF_META_STATUS_UNDERRUN   (1 << 1)
 
#define BLADERF_META_FLAG_TX_BURST_START   (1 << 0)
 
#define BLADERF_META_FLAG_TX_BURST_END   (1 << 1)
 
#define BLADERF_META_FLAG_TX_NOW   (1 << 2)
 
#define BLADERF_META_FLAG_TX_UPDATE_TIMESTAMP   (1 << 3)
 
#define BLADERF_META_FLAG_RX_NOW   (1 << 31)
 
#define BLADERF_STREAM_SHUTDOWN   (NULL)
 
#define BLADERF_STREAM_NO_DATA   ((void*)(-1))
 
#define BLADERF_IMAGE_MAGIC_LEN   7
 
#define BLADERF_IMAGE_CHECKSUM_LEN   32
 
#define BLADERF_IMAGE_RESERVED_LEN   128
 
#define BLADERF_GPIO_LMS_RX_ENABLE   (1 << 1)
 
#define BLADERF_GPIO_LMS_TX_ENABLE   (1 << 2)
 
#define BLADERF_GPIO_TX_LB_ENABLE   (2 << 3)
 
#define BLADERF_GPIO_TX_HB_ENABLE   (1 << 3)
 
#define BLADERF_GPIO_COUNTER_ENABLE   (1 << 9)
 
#define BLADERF_GPIO_RX_MUX_MASK   (0x7 << BLADERF_GPIO_RX_MUX_SHIFT)
 
#define BLADERF_GPIO_RX_MUX_SHIFT   8
 
#define BLADERF_GPIO_RX_LB_ENABLE   (2 << 5)
 
#define BLADERF_GPIO_RX_HB_ENABLE   (1 << 5)
 
#define BLADERF_GPIO_FEATURE_SMALL_DMA_XFER   (1 << 7)
 
#define BLADERF_GPIO_TIMESTAMP   (1 << 16)
 
#define BLADERF_GPIO_TIMESTAMP_DIV2   (1 << 17)
 
#define BLADERF_TRIGGER_REG_ARM   ((uint8_t) (1 << 0))
 
#define BLADERF_TRIGGER_REG_FIRE   ((uint8_t) (1 << 1))
 
#define BLADERF_TRIGGER_REG_MASTER   ((uint8_t) (1 << 2))
 
#define BLADERF_TRIGGER_REG_LINE   ((uint8_t) (1 << 3))
 
#define BLADERF_FLASH_TOTAL_SIZE   (4 * 1024 * 1024)
 
#define BLADERF_FLASH_PAGE_SIZE   256
 
#define BLADERF_FLASH_EB_SIZE   (64 * 1024)
 
#define BLADERF_FLASH_NUM_PAGES   (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_PAGE_SIZE)
 
#define BLADERF_FLASH_NUM_EBS   (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_EB_SIZE)
 
#define BLADERF_FLASH_TO_PAGES(bytes)   ((bytes) / BLADERF_FLASH_PAGE_SIZE)
 
#define BLADERF_FLASH_TO_EB(bytes)   ((bytes) / BLADERF_FLASH_EB_SIZE)
 
#define BLADERF_FLASH_ADDR_FIRMWARE   0x00000000
 
#define BLADERF_FLASH_PAGE_FIRMWARE   (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FIRMWARE))
 
#define BLADERF_FLASH_EB_FIRMWARE   (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FIRMWARE))
 
#define BLADERF_FLASH_BYTE_LEN_FIRMWARE   0x00030000
 
#define BLADERF_FLASH_PAGE_LEN_FIRMWARE   (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_BYTE_LEN_FIRMWARE))
 
#define BLADERF_FLASH_EB_LEN_FIRMWARE   (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FIRMWARE))
 
#define BLADERF_FLASH_ADDR_CAL   0x00030000
 
#define BLADERF_FLASH_PAGE_CAL   (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_CAL))
 
#define BLADERF_FLASH_EB_CAL   (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_CAL))
 
#define BLADERF_FLASH_BYTE_LEN_CAL   0x100
 
#define BLADERF_FLASH_PAGE_LEN_CAL   (BLADERF_FLASH_TO_PAGES(FLASH_BYTE_LEN_CAL))
 
#define BLADERF_FLASH_EB_LEN_CAL   1
 
#define BLADERF_FLASH_ADDR_FPGA   0x00040000
 
#define BLADERF_FLASH_PAGE_FPGA   (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FPGA))
 
#define BLADERF_FLASH_EB_FPGA   (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FPGA))
 
#define BLADERF_FLASH_BYTE_LEN_FPGA   0x00370000
 
#define BLADERF_FLASH_EB_LEN_FPGA   (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FPGA))
 
#define BLADERF_ERR_UNEXPECTED   (-1)
 
#define BLADERF_ERR_RANGE   (-2)
 
#define BLADERF_ERR_INVAL   (-3)
 
#define BLADERF_ERR_MEM   (-4)
 
#define BLADERF_ERR_IO   (-5)
 
#define BLADERF_ERR_TIMEOUT   (-6)
 
#define BLADERF_ERR_NODEV   (-7)
 
#define BLADERF_ERR_UNSUPPORTED   (-8)
 
#define BLADERF_ERR_MISALIGNED   (-9)
 
#define BLADERF_ERR_CHECKSUM   (-10)
 
#define BLADERF_ERR_NO_FILE   (-11)
 
#define BLADERF_ERR_UPDATE_FPGA   (-12)
 
#define BLADERF_ERR_UPDATE_FW   (-13)
 
#define BLADERF_ERR_TIME_PAST   (-14)
 
#define BLADERF_ERR_QUEUE_FULL   (-15)
 
#define BLADERF_ERR_FPGA_OP   (-16)
 
#define BLADERF_ERR_PERMISSION   (-17)
 
#define BLADERF_ERR_WOULD_BLOCK   (-18)
 

Typedefs

typedef void *(* bladerf_stream_cb) (struct bladerf *dev, struct bladerf_stream *stream, struct bladerf_metadata *meta, void *samples, size_t num_samples, void *user_data)
 

Enumerations

enum  bladerf_backend {
  BLADERF_BACKEND_ANY, BLADERF_BACKEND_LINUX, BLADERF_BACKEND_LIBUSB, BLADERF_BACKEND_CYPRESS,
  BLADERF_BACKEND_DUMMY = 100
}
 
enum  bladerf_fpga_size { BLADERF_FPGA_UNKNOWN = 0, BLADERF_FPGA_40KLE = 40, BLADERF_FPGA_115KLE = 115 }
 
enum  bladerf_dev_speed { BLADERF_DEVICE_SPEED_UNKNOWN, BLADERF_DEVICE_SPEED_HIGH, BLADERF_DEVICE_SPEED_SUPER }
 
enum  bladerf_module { BLADERF_MODULE_INVALID = -1, BLADERF_MODULE_RX, BLADERF_MODULE_TX }
 
enum  bladerf_lna_gain { BLADERF_LNA_GAIN_UNKNOWN, BLADERF_LNA_GAIN_BYPASS, BLADERF_LNA_GAIN_MID, BLADERF_LNA_GAIN_MAX }
 
enum  bladerf_rx_mux {
  BLADERF_RX_MUX_INVALID = -1, BLADERF_RX_MUX_BASEBAND_LMS = 0x0, BLADERF_RX_MUX_12BIT_COUNTER = 0x1, BLADERF_RX_MUX_32BIT_COUNTER = 0x2,
  BLADERF_RX_MUX_DIGITAL_LOOPBACK = 0x4
}
 
enum  bladerf_sampling { BLADERF_SAMPLING_UNKNOWN, BLADERF_SAMPLING_INTERNAL, BLADERF_SAMPLING_EXTERNAL }
 
enum  bladerf_lpf_mode { BLADERF_LPF_NORMAL, BLADERF_LPF_BYPASSED, BLADERF_LPF_DISABLED }
 
enum  bladerf_tuning_mode { BLADERF_TUNING_MODE_INVALID = -1, BLADERF_TUNING_MODE_HOST, BLADERF_TUNING_MODE_FPGA }
 
enum  bladerf_loopback {
  BLADERF_LB_FIRMWARE = 1, 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_NONE
}
 
enum  bladerf_smb_mode {
  BLADERF_SMB_MODE_INVALID = -1, BLADERF_SMB_MODE_DISABLED, BLADERF_SMB_MODE_OUTPUT, BLADERF_SMB_MODE_INPUT,
  BLADERF_SMB_MODE_UNAVAILBLE
}
 
enum  bladerf_trigger_role { BLADERF_TRIGGER_ROLE_INVALID = -1, BLADERF_TRIGGER_ROLE_DISABLED, BLADERF_TRIGGER_ROLE_MASTER, BLADERF_TRIGGER_ROLE_SLAVE }
 
enum  bladerf_trigger_signal {
  BLADERF_TRIGGER_INVALID = -1, BLADERF_TRIGGER_J71_4, BLADERF_TRIGGER_USER_0 = 128, BLADERF_TRIGGER_USER_1,
  BLADERF_TRIGGER_USER_2, BLADERF_TRIGGER_USER_3, BLADERF_TRIGGER_USER_4, BLADERF_TRIGGER_USER_5,
  BLADERF_TRIGGER_USER_6, BLADERF_TRIGGER_USER_7
}
 
enum  bladerf_cal_module {
  BLADERF_DC_CAL_INVALID = -1, BLADERF_DC_CAL_LPF_TUNING, BLADERF_DC_CAL_TX_LPF, BLADERF_DC_CAL_RX_LPF,
  BLADERF_DC_CAL_RXVGA2
}
 
enum  bladerf_correction { BLADERF_CORR_LMS_DCOFF_I, BLADERF_CORR_LMS_DCOFF_Q, BLADERF_CORR_FPGA_PHASE, BLADERF_CORR_FPGA_GAIN }
 
enum  bladerf_vctcxo_tamer_mode { BLADERF_VCTCXO_TAMER_INVALID = -1, BLADERF_VCTCXO_TAMER_DISABLED = 0, BLADERF_VCTCXO_TAMER_1_PPS = 1, BLADERF_VCTCXO_TAMER_10_MHZ = 2 }
 
enum  bladerf_xb { BLADERF_XB_NONE = 0, BLADERF_XB_100, BLADERF_XB_200, BLADERF_XB_300 }
 
enum  bladerf_xb200_filter {
  BLADERF_XB200_50M = 0, BLADERF_XB200_144M, BLADERF_XB200_222M, BLADERF_XB200_CUSTOM,
  BLADERF_XB200_AUTO_1DB, BLADERF_XB200_AUTO_3DB
}
 
enum  bladerf_xb200_path { BLADERF_XB200_BYPASS = 0, BLADERF_XB200_MIX }
 
enum  bladerf_xb300_trx { BLADERF_XB300_TRX_INVAL = -1, BLADERF_XB300_TRX_TX = 0, BLADERF_XB300_TRX_RX, BLADERF_XB300_TRX_UNSET }
 
enum  bladerf_xb300_amplifier { BLADERF_XB300_AMP_INVAL = -1, BLADERF_XB300_AMP_PA = 0, BLADERF_XB300_AMP_LNA, BLADERF_XB300_AMP_PA_AUX }
 
enum  bladerf_log_level {
  BLADERF_LOG_LEVEL_VERBOSE, BLADERF_LOG_LEVEL_DEBUG, BLADERF_LOG_LEVEL_INFO, BLADERF_LOG_LEVEL_WARNING,
  BLADERF_LOG_LEVEL_ERROR, BLADERF_LOG_LEVEL_CRITICAL, BLADERF_LOG_LEVEL_SILENT
}
 
enum  bladerf_format { BLADERF_FORMAT_SC16_Q11, BLADERF_FORMAT_SC16_Q11_META }
 
enum  bladerf_image_type {
  BLADERF_IMAGE_TYPE_INVALID = -1, BLADERF_IMAGE_TYPE_RAW, BLADERF_IMAGE_TYPE_FIRMWARE, BLADERF_IMAGE_TYPE_FPGA_40KLE,
  BLADERF_IMAGE_TYPE_FPGA_115KLE, BLADERF_IMAGE_TYPE_CALIBRATION, BLADERF_IMAGE_TYPE_RX_DC_CAL, BLADERF_IMAGE_TYPE_TX_DC_CAL,
  BLADERF_IMAGE_TYPE_RX_IQ_CAL, BLADERF_IMAGE_TYPE_TX_IQ_CAL
}
 

Functions

API_EXPORT int CALL_CONV bladerf_get_device_list (struct bladerf_devinfo **devices)
 
API_EXPORT void CALL_CONV bladerf_free_device_list (struct bladerf_devinfo *devices)
 
API_EXPORT void CALL_CONV bladerf_init_devinfo (struct bladerf_devinfo *info)
 
API_EXPORT int CALL_CONV bladerf_get_devinfo (struct bladerf *dev, struct bladerf_devinfo *info)
 
API_EXPORT int CALL_CONV bladerf_get_devinfo_from_str (const char *devstr, struct bladerf_devinfo *info)
 
API_EXPORT bool CALL_CONV bladerf_devinfo_matches (const struct bladerf_devinfo *a, const struct bladerf_devinfo *b)
 
API_EXPORT bool CALL_CONV bladerf_devstr_matches (const char *dev_str, struct bladerf_devinfo *info)
 
API_EXPORT int CALL_CONV bladerf_open_with_devinfo (struct bladerf **device, struct bladerf_devinfo *devinfo)
 
API_EXPORT int CALL_CONV bladerf_open (struct bladerf **device, const char *device_identifier)
 
API_EXPORT void CALL_CONV bladerf_close (struct bladerf *device)
 
API_EXPORT void CALL_CONV bladerf_set_usb_reset_on_open (bool enabled)
 
API_EXPORT int CALL_CONV bladerf_get_serial (struct bladerf *dev, char *serial)
 
API_EXPORT int CALL_CONV bladerf_get_vctcxo_trim (struct bladerf *dev, uint16_t *trim)
 
API_EXPORT int CALL_CONV bladerf_get_fpga_size (struct bladerf *dev, bladerf_fpga_size *size)
 
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 bladerf_dev_speed CALL_CONV bladerf_device_speed (struct bladerf *dev)
 
API_EXPORT int CALL_CONV bladerf_enable_module (struct bladerf *dev, bladerf_module m, bool enable)
 
API_EXPORT int CALL_CONV bladerf_set_txvga2 (struct bladerf *dev, int gain)
 
API_EXPORT int CALL_CONV bladerf_get_txvga2 (struct bladerf *dev, int *gain)
 
API_EXPORT int CALL_CONV bladerf_set_txvga1 (struct bladerf *dev, int gain)
 
API_EXPORT int CALL_CONV bladerf_get_txvga1 (struct bladerf *dev, int *gain)
 
API_EXPORT int CALL_CONV bladerf_set_lna_gain (struct bladerf *dev, bladerf_lna_gain gain)
 
API_EXPORT int CALL_CONV bladerf_get_lna_gain (struct bladerf *dev, bladerf_lna_gain *gain)
 
API_EXPORT int CALL_CONV bladerf_set_rxvga1 (struct bladerf *dev, int gain)
 
API_EXPORT int CALL_CONV bladerf_get_rxvga1 (struct bladerf *dev, int *gain)
 
API_EXPORT int CALL_CONV bladerf_set_rxvga2 (struct bladerf *dev, int gain)
 
API_EXPORT int CALL_CONV bladerf_get_rxvga2 (struct bladerf *dev, int *gain)
 
API_EXPORT int CALL_CONV bladerf_set_gain (struct bladerf *dev, bladerf_module mod, int gain)
 
API_EXPORT int CALL_CONV bladerf_set_sample_rate (struct bladerf *dev, bladerf_module module, unsigned int rate, unsigned int *actual)
 
API_EXPORT int CALL_CONV bladerf_set_rational_sample_rate (struct bladerf *dev, bladerf_module module, struct bladerf_rational_rate *rate, struct bladerf_rational_rate *actual)
 
API_EXPORT int CALL_CONV bladerf_get_sample_rate (struct bladerf *dev, bladerf_module module, unsigned int *rate)
 
API_EXPORT int CALL_CONV bladerf_get_rational_sample_rate (struct bladerf *dev, bladerf_module module, struct bladerf_rational_rate *rate)
 
API_EXPORT int CALL_CONV bladerf_set_sampling (struct bladerf *dev, bladerf_sampling sampling)
 
API_EXPORT int CALL_CONV bladerf_set_rx_mux (struct bladerf *dev, bladerf_rx_mux mux)
 
API_EXPORT int CALL_CONV bladerf_get_rx_mux (struct bladerf *dev, bladerf_rx_mux *mode)
 
API_EXPORT int CALL_CONV bladerf_get_sampling (struct bladerf *dev, bladerf_sampling *sampling)
 
API_EXPORT int CALL_CONV bladerf_set_bandwidth (struct bladerf *dev, bladerf_module module, unsigned int bandwidth, unsigned int *actual)
 
API_EXPORT int CALL_CONV bladerf_get_bandwidth (struct bladerf *dev, bladerf_module module, unsigned int *bandwidth)
 
API_EXPORT int CALL_CONV bladerf_set_lpf_mode (struct bladerf *dev, bladerf_module module, bladerf_lpf_mode mode)
 
API_EXPORT int CALL_CONV bladerf_get_lpf_mode (struct bladerf *dev, bladerf_module module, bladerf_lpf_mode *mode)
 
API_EXPORT int CALL_CONV bladerf_select_band (struct bladerf *dev, bladerf_module module, unsigned int frequency)
 
API_EXPORT int CALL_CONV bladerf_set_frequency (struct bladerf *dev, bladerf_module module, unsigned int frequency)
 
API_EXPORT int CALL_CONV bladerf_schedule_retune (struct bladerf *dev, bladerf_module module, uint64_t timestamp, unsigned int frequency, struct bladerf_quick_tune *quick_tune)
 
API_EXPORT int CALL_CONV bladerf_cancel_scheduled_retunes (struct bladerf *dev, bladerf_module module)
 
API_EXPORT int CALL_CONV bladerf_get_frequency (struct bladerf *dev, bladerf_module module, unsigned int *frequency)
 
API_EXPORT int CALL_CONV bladerf_get_quick_tune (struct bladerf *dev, bladerf_module module, struct bladerf_quick_tune *quick_tune)
 
API_EXPORT int CALL_CONV bladerf_set_tuning_mode (struct bladerf *dev, bladerf_tuning_mode mode)
 
API_EXPORT int CALL_CONV bladerf_set_loopback (struct bladerf *dev, bladerf_loopback l)
 
API_EXPORT int CALL_CONV bladerf_get_loopback (struct bladerf *dev, bladerf_loopback *l)
 
API_EXPORT int CALL_CONV bladerf_set_smb_mode (struct bladerf *dev, bladerf_smb_mode mode)
 
API_EXPORT int CALL_CONV bladerf_get_smb_mode (struct bladerf *dev, bladerf_smb_mode *mode)
 
API_EXPORT int CALL_CONV bladerf_set_rational_smb_frequency (struct bladerf *dev, struct bladerf_rational_rate *rate, struct bladerf_rational_rate *actual)
 
API_EXPORT int CALL_CONV bladerf_set_smb_frequency (struct bladerf *dev, uint32_t rate, uint32_t *actual)
 
API_EXPORT int CALL_CONV bladerf_get_rational_smb_frequency (struct bladerf *dev, struct bladerf_rational_rate *rate)
 
API_EXPORT int CALL_CONV bladerf_get_smb_frequency (struct bladerf *dev, unsigned int *rate)
 
API_EXPORT int CALL_CONV bladerf_trigger_init (struct bladerf *dev, bladerf_module module, bladerf_trigger_signal signal, struct bladerf_trigger *trigger)
 
API_EXPORT int CALL_CONV bladerf_trigger_arm (struct bladerf *dev, const struct bladerf_trigger *trigger, bool arm, uint64_t resv1, uint64_t resv2)
 
API_EXPORT int CALL_CONV bladerf_trigger_fire (struct bladerf *dev, const struct bladerf_trigger *trigger)
 
API_EXPORT int CALL_CONV bladerf_trigger_state (struct bladerf *dev, const struct bladerf_trigger *trigger, bool *is_armed, bool *has_fired, bool *fire_requested, uint64_t *resv1, uint64_t *resv2)
 
API_EXPORT int CALL_CONV bladerf_set_correction (struct bladerf *dev, bladerf_module module, bladerf_correction corr, int16_t value)
 
API_EXPORT int CALL_CONV bladerf_get_correction (struct bladerf *dev, bladerf_module module, bladerf_correction corr, int16_t *value)
 
API_EXPORT int CALL_CONV bladerf_set_vctcxo_tamer_mode (struct bladerf *dev, bladerf_vctcxo_tamer_mode mode)
 
API_EXPORT int CALL_CONV bladerf_get_vctcxo_tamer_mode (struct bladerf *dev, bladerf_vctcxo_tamer_mode *mode)
 
API_EXPORT int CALL_CONV bladerf_dac_write (struct bladerf *dev, uint16_t val)
 
API_EXPORT int CALL_CONV bladerf_dac_read (struct bladerf *dev, uint16_t *val)
 
API_EXPORT int CALL_CONV bladerf_expansion_attach (struct bladerf *dev, bladerf_xb xb)
 
API_EXPORT int CALL_CONV bladerf_expansion_get_attached (struct bladerf *dev, bladerf_xb *xb)
 
API_EXPORT int CALL_CONV bladerf_xb200_set_filterbank (struct bladerf *dev, bladerf_module mod, bladerf_xb200_filter filter)
 
API_EXPORT int CALL_CONV bladerf_xb200_get_filterbank (struct bladerf *dev, bladerf_module module, bladerf_xb200_filter *filter)
 
API_EXPORT int CALL_CONV bladerf_xb200_set_path (struct bladerf *dev, bladerf_module module, bladerf_xb200_path path)
 
API_EXPORT int CALL_CONV bladerf_xb200_get_path (struct bladerf *dev, bladerf_module module, bladerf_xb200_path *path)
 
API_EXPORT int CALL_CONV bladerf_xb300_set_trx (struct bladerf *dev, bladerf_xb300_trx trx)
 
API_EXPORT int CALL_CONV bladerf_xb300_get_trx (struct bladerf *dev, bladerf_xb300_trx *trx)
 
API_EXPORT int CALL_CONV bladerf_xb300_set_amplifier_enable (struct bladerf *dev, bladerf_xb300_amplifier amp, bool enable)
 
API_EXPORT int CALL_CONV bladerf_xb300_get_amplifier_enable (struct bladerf *dev, bladerf_xb300_amplifier amp, bool *enable)
 
API_EXPORT int CALL_CONV bladerf_xb300_get_output_power (struct bladerf *dev, float *val)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read (struct bladerf *dev, uint32_t *val)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_write (struct bladerf *dev, uint32_t val)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_masked_write (struct bladerf *dev, uint32_t mask, uint32_t value)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_read (struct bladerf *dev, uint32_t *outputs)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_write (struct bladerf *dev, uint32_t outputs)
 
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_masked_write (struct bladerf *dev, uint32_t mask, uint32_t outputs)
 
API_EXPORT const char *CALL_CONV bladerf_backend_str (bladerf_backend backend)
 
API_EXPORT void CALL_CONV bladerf_version (struct bladerf_version *version)
 
API_EXPORT void CALL_CONV bladerf_log_set_verbosity (bladerf_log_level level)
 
API_EXPORT int CALL_CONV bladerf_get_fw_log (struct bladerf *dev, const char *filename)
 
API_EXPORT int CALL_CONV bladerf_get_timestamp (struct bladerf *dev, bladerf_module mod, uint64_t *value)
 
API_EXPORT int CALL_CONV bladerf_init_stream (struct bladerf_stream **stream, struct bladerf *dev, bladerf_stream_cb callback, void ***buffers, size_t num_buffers, bladerf_format format, size_t samples_per_buffer, size_t num_transfers, void *user_data)
 
API_EXPORT int CALL_CONV bladerf_stream (struct bladerf_stream *stream, bladerf_module module)
 
API_EXPORT int CALL_CONV bladerf_submit_stream_buffer (struct bladerf_stream *stream, void *buffer, unsigned int timeout_ms)
 
API_EXPORT int CALL_CONV bladerf_submit_stream_buffer_nb (struct bladerf_stream *stream, void *buffer)
 
API_EXPORT void CALL_CONV bladerf_deinit_stream (struct bladerf_stream *stream)
 
API_EXPORT int CALL_CONV bladerf_set_stream_timeout (struct bladerf *dev, bladerf_module module, unsigned int timeout)
 
API_EXPORT int CALL_CONV bladerf_get_stream_timeout (struct bladerf *dev, bladerf_module module, unsigned int *timeout)
 
API_EXPORT int CALL_CONV bladerf_sync_config (struct bladerf *dev, bladerf_module module, bladerf_format format, unsigned int num_buffers, unsigned int buffer_size, unsigned int num_transfers, unsigned int stream_timeout)
 
API_EXPORT int CALL_CONV bladerf_sync_tx (struct bladerf *dev, void *samples, unsigned int num_samples, struct bladerf_metadata *metadata, unsigned int timeout_ms)
 
API_EXPORT int CALL_CONV bladerf_sync_rx (struct bladerf *dev, void *samples, unsigned int num_samples, struct bladerf_metadata *metadata, unsigned int timeout_ms)
 
API_EXPORT int CALL_CONV bladerf_flash_firmware (struct bladerf *dev, const char *firmware)
 
API_EXPORT int CALL_CONV bladerf_load_fpga (struct bladerf *dev, const char *fpga)
 
API_EXPORT int CALL_CONV bladerf_flash_fpga (struct bladerf *dev, const char *fpga_image)
 
API_EXPORT int CALL_CONV bladerf_erase_stored_fpga (struct bladerf *dev)
 
API_EXPORT int CALL_CONV bladerf_device_reset (struct bladerf *dev)
 
API_EXPORT int CALL_CONV bladerf_jump_to_bootloader (struct bladerf *dev)
 
API_EXPORT int CALL_CONV bladerf_get_bootloader_list (struct bladerf_devinfo **list)
 
API_EXPORT int CALL_CONV bladerf_load_fw_from_bootloader (const char *device_identifier, bladerf_backend backend, uint8_t bus, uint8_t addr, const char *file)
 
API_EXPORT struct bladerf_image *CALL_CONV bladerf_alloc_image (bladerf_image_type type, uint32_t address, uint32_t length)
 
API_EXPORT struct bladerf_image *CALL_CONV bladerf_alloc_cal_image (bladerf_fpga_size fpga_size, uint16_t vctcxo_trim)
 
API_EXPORT void CALL_CONV bladerf_free_image (struct bladerf_image *image)
 
API_EXPORT int CALL_CONV bladerf_image_write (struct bladerf_image *image, const char *file)
 
API_EXPORT int CALL_CONV bladerf_image_read (struct bladerf_image *image, const char *file)
 
API_EXPORT int CALL_CONV bladerf_si5338_read (struct bladerf *dev, uint8_t address, uint8_t *val)
 
API_EXPORT int CALL_CONV bladerf_si5338_write (struct bladerf *dev, uint8_t address, uint8_t val)
 
API_EXPORT int CALL_CONV bladerf_lms_read (struct bladerf *dev, uint8_t address, uint8_t *val)
 
API_EXPORT int CALL_CONV bladerf_lms_write (struct bladerf *dev, uint8_t address, uint8_t val)
 
API_EXPORT int CALL_CONV bladerf_lms_set_dc_cals (struct bladerf *dev, const struct bladerf_lms_dc_cals *dc_cals)
 
API_EXPORT int CALL_CONV bladerf_lms_get_dc_cals (struct bladerf *dev, struct bladerf_lms_dc_cals *dc_cals)
 
API_EXPORT int CALL_CONV bladerf_config_gpio_read (struct bladerf *dev, uint32_t *val)
 
API_EXPORT int CALL_CONV bladerf_config_gpio_write (struct bladerf *dev, uint32_t val)
 
API_EXPORT int CALL_CONV bladerf_xb_spi_write (struct bladerf *dev, uint32_t val)
 
API_EXPORT int CALL_CONV bladerf_calibrate_dc (struct bladerf *dev, bladerf_cal_module module)
 
API_EXPORT int CALL_CONV bladerf_read_trigger (struct bladerf *dev, bladerf_module module, bladerf_trigger_signal signal, uint8_t *val)
 
API_EXPORT int CALL_CONV bladerf_write_trigger (struct bladerf *dev, bladerf_module module, bladerf_trigger_signal signal, uint8_t val)
 
API_EXPORT int CALL_CONV bladerf_erase_flash (struct bladerf *dev, uint32_t erase_block, uint32_t count)
 
API_EXPORT int CALL_CONV bladerf_read_flash (struct bladerf *dev, uint8_t *buf, uint32_t page, uint32_t count)
 
API_EXPORT int CALL_CONV bladerf_write_flash (struct bladerf *dev, const uint8_t *buf, uint32_t page, uint32_t count)
 
API_EXPORT const char *CALL_CONV bladerf_strerror (int error)
 

Macro Definition Documentation

#define API_EXPORT

Marks an API routine to be made visible to the dynamic loader. This is OS and/or compiler-specific.

Definition at line 79 of file libbladeRF.h.

#define CALL_CONV

Specifies calling convention, if necessary. This is OS and/or compiler-specific.

Definition at line 82 of file libbladeRF.h.