53 #define LIBBLADERF_API_VERSION (0x01070200) 68 #if defined _WIN32 || defined __CYGWIN__ 70 # define CALL_CONV __cdecl 72 # define API_EXPORT __attribute__ ((dllexport)) 74 # define API_EXPORT __declspec(dllexport) 76 #elif defined _DOXYGEN_ONLY_ || defined MATLAB_LINUX_THUNK_BUILD_ 84 # define API_EXPORT __attribute__ ((visibility ("default"))) 119 #define BLADERF_SERIAL_LENGTH 33 299 const char *device_identifier);
371 BLADERF_DEVICE_SPEED_UNKNOWN,
372 BLADERF_DEVICE_SPEED_HIGH,
373 BLADERF_DEVICE_SPEED_SUPER,
511 bladerf_module m,
bool enable);
533 #define BLADERF_RXVGA1_GAIN_MIN 5 536 #define BLADERF_RXVGA1_GAIN_MAX 30 539 #define BLADERF_RXVGA2_GAIN_MIN 0 542 #define BLADERF_RXVGA2_GAIN_MAX 30 545 #define BLADERF_TXVGA1_GAIN_MIN (-35) 548 #define BLADERF_TXVGA1_GAIN_MAX (-4) 551 #define BLADERF_TXVGA2_GAIN_MIN 0 554 #define BLADERF_TXVGA2_GAIN_MAX 25 566 #define BLADERF_LNA_GAIN_MID_DB 3 567 #define BLADERF_LNA_GAIN_MAX_DB 6 721 #define BLADERF_SAMPLERATE_MIN 80000u 733 #define BLADERF_SAMPLERATE_REC_MAX 40000000u 817 bladerf_module module,
819 unsigned int *actual);
843 bladerf_module module,
857 bladerf_module module,
872 bladerf_module module,
888 bladerf_sampling sampling);
924 bladerf_sampling *sampling);
945 #define BLADERF_BANDWIDTH_MIN 1500000u 948 #define BLADERF_BANDWIDTH_MAX 28000000u 981 unsigned int bandwidth,
982 unsigned int *actual);
995 unsigned int *bandwidth);
1008 bladerf_lpf_mode mode);
1021 bladerf_lpf_mode *mode);
1047 #define BLADERF_FREQUENCY_MIN_XB200 0u 1050 #define BLADERF_FREQUENCY_MIN 237500000u 1053 #define BLADERF_FREQUENCY_MAX 3800000000u 1059 #define BLADERF_RETUNE_NOW 0 1131 unsigned int frequency);
1154 bladerf_module module,
1155 unsigned int frequency);
1191 bladerf_module module,
1193 unsigned int frequency,
1210 bladerf_module module);
1223 bladerf_module module,
1224 unsigned int *frequency);
1246 bladerf_module module,
1260 bladerf_tuning_mode mode);
1393 #define BLADERF_SMB_FREQUENCY_MAX 200000000u 1398 #define BLADERF_SMB_FREQUENCY_MIN ((38400000u * 66u) / (32 * 567)) 1484 struct bladerf *dev,
1512 uint32_t rate, uint32_t *actual);
1524 struct bladerf *dev,
1537 unsigned int *rate);
1745 bladerf_module module,
1746 bladerf_trigger_signal signal,
1773 bool arm, uint64_t resv1, uint64_t resv2);
1820 bool *fire_requested,
1845 BLADERF_DC_CAL_INVALID = -1,
1846 BLADERF_DC_CAL_LPF_TUNING,
1847 BLADERF_DC_CAL_TX_LPF,
1848 BLADERF_DC_CAL_RX_LPF,
1849 BLADERF_DC_CAL_RXVGA2
1931 bladerf_correction corr, int16_t value);
1945 bladerf_correction corr, int16_t *value);
2149 bladerf_xb200_filter filter);
2163 bladerf_module module,
2164 bladerf_xb200_filter *filter);
2177 bladerf_module module,
2178 bladerf_xb200_path path);
2191 bladerf_module module,
2192 bladerf_xb200_path *path);
2204 bladerf_xb300_trx trx);
2215 bladerf_xb300_trx *trx);
2227 bladerf_xb300_amplifier amp,
2240 bladerf_xb300_amplifier amp,
2269 #define BLADERF_XB_GPIO(n) (1 << (n-1)) 2272 #define BLADERF_XB_DIR_OUTPUT(pin) (pin) 2275 #define BLADERF_XB_DIR_INPUT(pin) (0) 2278 #define BLADERF_XB_GPIO_01 BLADERF_XB_GPIO(1) 2281 #define BLADERF_XB_GPIO_02 BLADERF_XB_GPIO(2) 2284 #define BLADERF_XB_GPIO_03 BLADERF_XB_GPIO(3) 2287 #define BLADERF_XB_GPIO_04 BLADERF_XB_GPIO(4) 2290 #define BLADERF_XB_GPIO_05 BLADERF_XB_GPIO(5) 2293 #define BLADERF_XB_GPIO_06 BLADERF_XB_GPIO(6) 2296 #define BLADERF_XB_GPIO_07 BLADERF_XB_GPIO(7) 2299 #define BLADERF_XB_GPIO_08 BLADERF_XB_GPIO(8) 2302 #define BLADERF_XB_GPIO_09 BLADERF_XB_GPIO(9) 2305 #define BLADERF_XB_GPIO_10 BLADERF_XB_GPIO(10) 2308 #define BLADERF_XB_GPIO_11 BLADERF_XB_GPIO(11) 2311 #define BLADERF_XB_GPIO_12 BLADERF_XB_GPIO(12) 2314 #define BLADERF_XB_GPIO_13 BLADERF_XB_GPIO(13) 2317 #define BLADERF_XB_GPIO_14 BLADERF_XB_GPIO(14) 2320 #define BLADERF_XB_GPIO_15 BLADERF_XB_GPIO(15) 2323 #define BLADERF_XB_GPIO_16 BLADERF_XB_GPIO(16) 2326 #define BLADERF_XB_GPIO_17 BLADERF_XB_GPIO(17) 2329 #define BLADERF_XB_GPIO_18 BLADERF_XB_GPIO(18) 2332 #define BLADERF_XB_GPIO_19 BLADERF_XB_GPIO(19) 2335 #define BLADERF_XB_GPIO_20 BLADERF_XB_GPIO(20) 2338 #define BLADERF_XB_GPIO_21 BLADERF_XB_GPIO(21) 2341 #define BLADERF_XB_GPIO_22 BLADERF_XB_GPIO(22) 2344 #define BLADERF_XB_GPIO_23 BLADERF_XB_GPIO(23) 2347 #define BLADERF_XB_GPIO_24 BLADERF_XB_GPIO(24) 2350 #define BLADERF_XB_GPIO_25 BLADERF_XB_GPIO(25) 2353 #define BLADERF_XB_GPIO_26 BLADERF_XB_GPIO(26) 2356 #define BLADERF_XB_GPIO_27 BLADERF_XB_GPIO(27) 2359 #define BLADERF_XB_GPIO_28 BLADERF_XB_GPIO(28) 2362 #define BLADERF_XB_GPIO_29 BLADERF_XB_GPIO(29) 2365 #define BLADERF_XB_GPIO_30 BLADERF_XB_GPIO(30) 2368 #define BLADERF_XB_GPIO_31 BLADERF_XB_GPIO(31) 2371 #define BLADERF_XB_GPIO_32 BLADERF_XB_GPIO(32) 2375 #define BLADERF_XB200_PIN_J7_1 BLADERF_XB_GPIO_10 2378 #define BLADERF_XB200_PIN_J7_2 BLADERF_XB_GPIO_11 2381 #define BLADERF_XB200_PIN_J7_5 BLADERF_XB_GPIO_08 2384 #define BLADERF_XB200_PIN_J7_6 BLADERF_XB_GPIO_09 2387 #define BLADERF_XB200_PIN_J13_1 BLADERF_XB_GPIO_17 2390 #define BLADERF_XB200_PIN_J13_2 BLADERF_XB_GPIO_18 2395 #define BLADERF_XB200_PIN_J16_1 BLADERF_XB_GPIO_31 2398 #define BLADERF_XB200_PIN_J16_2 BLADERF_XB_GPIO_32 2401 #define BLADERF_XB200_PIN_J16_3 BLADERF_XB_GPIO_19 2404 #define BLADERF_XB200_PIN_J16_4 BLADERF_XB_GPIO_20 2407 #define BLADERF_XB200_PIN_J16_5 BLADERF_XB_GPIO_21 2410 #define BLADERF_XB200_PIN_J16_6 BLADERF_XB_GPIO_24 2413 #define BLADERF_XB100_PIN_J2_3 BLADERF_XB_GPIO_07 2416 #define BLADERF_XB100_PIN_J2_4 BLADERF_XB_GPIO_08 2419 #define BLADERF_XB100_PIN_J3_3 BLADERF_XB_GPIO_09 2422 #define BLADERF_XB100_PIN_J3_4 BLADERF_XB_GPIO_10 2425 #define BLADERF_XB100_PIN_J4_3 BLADERF_XB_GPIO_11 2428 #define BLADERF_XB100_PIN_J4_4 BLADERF_XB_GPIO_12 2431 #define BLADERF_XB100_PIN_J5_3 BLADERF_XB_GPIO_13 2434 #define BLADERF_XB100_PIN_J5_4 BLADERF_XB_GPIO_14 2437 #define BLADERF_XB100_PIN_J11_2 BLADERF_XB_GPIO_05 2440 #define BLADERF_XB100_PIN_J11_3 BLADERF_XB_GPIO_04 2443 #define BLADERF_XB100_PIN_J11_4 BLADERF_XB_GPIO_03 2446 #define BLADERF_XB100_PIN_J11_5 BLADERF_XB_GPIO_06 2449 #define BLADERF_XB100_PIN_J12_2 BLADERF_XB_GPIO_01 2454 #define BLADERF_XB100_PIN_J12_5 BLADERF_XB_GPIO_02 2457 #define BLADERF_XB100_LED_D1 BLADERF_XB_GPIO_24 2460 #define BLADERF_XB100_LED_D2 BLADERF_XB_GPIO_32 2463 #define BLADERF_XB100_LED_D3 BLADERF_XB_GPIO_30 2466 #define BLADERF_XB100_LED_D4 BLADERF_XB_GPIO_28 2469 #define BLADERF_XB100_LED_D5 BLADERF_XB_GPIO_23 2472 #define BLADERF_XB100_LED_D6 BLADERF_XB_GPIO_25 2475 #define BLADERF_XB100_LED_D7 BLADERF_XB_GPIO_31 2478 #define BLADERF_XB100_LED_D8 BLADERF_XB_GPIO_29 2481 #define BLADERF_XB100_TLED_RED BLADERF_XB_GPIO_22 2484 #define BLADERF_XB100_TLED_GREEN BLADERF_XB_GPIO_21 2487 #define BLADERF_XB100_TLED_BLUE BLADERF_XB_GPIO_20 2490 #define BLADERF_XB100_DIP_SW1 BLADERF_XB_GPIO_27 2493 #define BLADERF_XB100_DIP_SW2 BLADERF_XB_GPIO_26 2496 #define BLADERF_XB100_DIP_SW3 BLADERF_XB_GPIO_16 2499 #define BLADERF_XB100_DIP_SW4 BLADERF_XB_GPIO_15 2502 #define BLADERF_XB100_BTN_J6 BLADERF_XB_GPIO_19 2505 #define BLADERF_XB100_BTN_J7 BLADERF_XB_GPIO_18 2508 #define BLADERF_XB100_BTN_J8 BLADERF_XB_GPIO_17 2800 #define BLADERF_META_STATUS_OVERRUN (1 << 0) 2808 #define BLADERF_META_STATUS_UNDERRUN (1 << 1) 2832 #define BLADERF_META_FLAG_TX_BURST_START (1 << 0) 2862 #define BLADERF_META_FLAG_TX_BURST_END (1 << 1) 2872 #define BLADERF_META_FLAG_TX_NOW (1 << 2) 2892 #define BLADERF_META_FLAG_TX_UPDATE_TIMESTAMP (1 << 3) 2899 #define BLADERF_META_FLAG_RX_NOW (1 << 31) 2957 uint8_t reserved[32];
3028 #define BLADERF_STREAM_SHUTDOWN (NULL) 3035 #define BLADERF_STREAM_NO_DATA ((void*)(-1)) 3088 typedef void *(*bladerf_stream_cb)(
struct bladerf *dev,
3169 struct bladerf *dev,
3173 bladerf_format format,
3174 size_t samples_per_buffer,
3175 size_t num_transfers,
3199 bladerf_module module);
3231 unsigned int timeout_ms);
3279 bladerf_module module,
3280 unsigned int timeout);
3295 bladerf_module module,
3296 unsigned int *timeout);
3388 bladerf_module module,
3389 bladerf_format format,
3390 unsigned int num_buffers,
3391 unsigned int buffer_size,
3392 unsigned int num_transfers,
3393 unsigned int stream_timeout);
3434 void *samples,
unsigned int num_samples,
3436 unsigned int timeout_ms);
3478 void *samples,
unsigned int num_samples,
3480 unsigned int timeout_ms);
3506 const char *firmware);
3532 const char *fpga_image);
3631 uint8_t bus, uint8_t addr,
3665 #define BLADERF_IMAGE_MAGIC_LEN 7 3670 #define BLADERF_IMAGE_CHECKSUM_LEN 32 3675 #define BLADERF_IMAGE_RESERVED_LEN 128 3789 uint16_t vctcxo_trim);
3874 uint8_t
address, uint8_t *val);
3887 uint8_t
address, uint8_t val);
3921 uint8_t address, uint8_t *val);
3934 uint8_t address, uint8_t val);
3969 #define BLADERF_GPIO_LMS_RX_ENABLE (1 << 1) 3976 #define BLADERF_GPIO_LMS_TX_ENABLE (1 << 2) 3983 #define BLADERF_GPIO_TX_LB_ENABLE (2 << 3) 3990 #define BLADERF_GPIO_TX_HB_ENABLE (1 << 3) 4001 #define BLADERF_GPIO_COUNTER_ENABLE (1 << 9) 4009 #define BLADERF_GPIO_RX_MUX_MASK (0x7 << BLADERF_GPIO_RX_MUX_SHIFT) 4014 #define BLADERF_GPIO_RX_MUX_SHIFT 8 4021 #define BLADERF_GPIO_RX_LB_ENABLE (2 << 5) 4028 #define BLADERF_GPIO_RX_HB_ENABLE (1 << 5) 4040 #define BLADERF_GPIO_FEATURE_SMALL_DMA_XFER (1 << 7) 4045 #define BLADERF_GPIO_TIMESTAMP (1 << 16) 4063 #define BLADERF_GPIO_TIMESTAMP_DIV2 (1 << 17) 4111 bladerf_cal_module module);
4122 #define BLADERF_TRIGGER_REG_ARM ((uint8_t) (1 << 0)) 4133 #define BLADERF_TRIGGER_REG_FIRE ((uint8_t) (1 << 1)) 4142 #define BLADERF_TRIGGER_REG_MASTER ((uint8_t) (1 << 2)) 4150 #define BLADERF_TRIGGER_REG_LINE ((uint8_t) (1 << 3)) 4166 bladerf_module module,
4167 bladerf_trigger_signal signal,
4183 bladerf_module module,
4184 bladerf_trigger_signal signal,
4212 #define BLADERF_FLASH_TOTAL_SIZE (4 * 1024 * 1024) 4215 #define BLADERF_FLASH_PAGE_SIZE 256 4218 #define BLADERF_FLASH_EB_SIZE (64 * 1024) 4221 #define BLADERF_FLASH_NUM_PAGES \ 4222 (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_PAGE_SIZE) 4225 #define BLADERF_FLASH_NUM_EBS \ 4226 (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_EB_SIZE) 4231 #define BLADERF_FLASH_TO_PAGES(bytes) ((bytes) / BLADERF_FLASH_PAGE_SIZE) 4234 #define BLADERF_FLASH_TO_EB(bytes) ((bytes) / BLADERF_FLASH_EB_SIZE) 4239 #define BLADERF_FLASH_ADDR_FIRMWARE 0x00000000 4242 #define BLADERF_FLASH_PAGE_FIRMWARE \ 4243 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FIRMWARE)) 4246 #define BLADERF_FLASH_EB_FIRMWARE \ 4247 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FIRMWARE)) 4250 #define BLADERF_FLASH_BYTE_LEN_FIRMWARE 0x00030000 4253 #define BLADERF_FLASH_PAGE_LEN_FIRMWARE \ 4254 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) 4257 #define BLADERF_FLASH_EB_LEN_FIRMWARE \ 4258 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) 4262 #define BLADERF_FLASH_ADDR_CAL 0x00030000 4265 #define BLADERF_FLASH_PAGE_CAL (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_CAL)) 4268 #define BLADERF_FLASH_EB_CAL (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_CAL)) 4271 #define BLADERF_FLASH_BYTE_LEN_CAL 0x100 4274 #define BLADERF_FLASH_PAGE_LEN_CAL \ 4275 (BLADERF_FLASH_TO_PAGES(FLASH_BYTE_LEN_CAL)) 4282 #define BLADERF_FLASH_EB_LEN_CAL 1 4290 #define BLADERF_FLASH_ADDR_FPGA 0x00040000 4293 #define BLADERF_FLASH_PAGE_FPGA \ 4294 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FPGA)) 4297 #define BLADERF_FLASH_EB_FPGA \ 4298 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FPGA)) 4301 #define BLADERF_FLASH_BYTE_LEN_FPGA 0x00370000 4304 #define BLADERF_FLASH_EB_LEN_FPGA \ 4305 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FPGA)) 4321 uint32_t erase_block, uint32_t count);
4340 uint32_t page, uint32_t count);
4356 uint32_t page, uint32_t count);
4375 #define BLADERF_ERR_UNEXPECTED (-1) 4376 #define BLADERF_ERR_RANGE (-2) 4377 #define BLADERF_ERR_INVAL (-3) 4378 #define BLADERF_ERR_MEM (-4) 4379 #define BLADERF_ERR_IO (-5) 4380 #define BLADERF_ERR_TIMEOUT (-6) 4381 #define BLADERF_ERR_NODEV (-7) 4382 #define BLADERF_ERR_UNSUPPORTED (-8) 4383 #define BLADERF_ERR_MISALIGNED (-9) 4384 #define BLADERF_ERR_CHECKSUM (-10) 4385 #define BLADERF_ERR_NO_FILE (-11) 4386 #define BLADERF_ERR_UPDATE_FPGA (-12) 4387 #define BLADERF_ERR_UPDATE_FW (-13) 4388 #define BLADERF_ERR_TIME_PAST (-14) 4389 #define BLADERF_ERR_QUEUE_FULL (-15) 4391 #define BLADERF_ERR_FPGA_OP (-16) 4392 #define BLADERF_ERR_PERMISSION (-17) 4394 #define BLADERF_ERR_WOULD_BLOCK (-18)
API_EXPORT int CALL_CONV bladerf_get_rx_mux(struct bladerf *dev, bladerf_rx_mux *mode)
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_get_vctcxo_trim(struct bladerf *dev, uint16_t *trim)
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_si5338_read(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_image_read(struct bladerf_image *image, const char *file)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_masked_write(struct bladerf *dev, uint32_t mask, uint32_t outputs)
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_set_vctcxo_tamer_mode(struct bladerf *dev, bladerf_vctcxo_tamer_mode mode)
API_EXPORT int CALL_CONV bladerf_get_fpga_size(struct bladerf *dev, bladerf_fpga_size *size)
API_EXPORT bool CALL_CONV bladerf_devinfo_matches(const struct bladerf_devinfo *a, const struct bladerf_devinfo *b)
API_EXPORT int CALL_CONV bladerf_erase_flash(struct bladerf *dev, uint32_t erase_block, uint32_t count)
API_EXPORT int CALL_CONV bladerf_load_fpga(struct bladerf *dev, const char *fpga)
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_get_rxvga2(struct bladerf *dev, int *gain)
API_EXPORT void CALL_CONV bladerf_set_usb_reset_on_open(bool enabled)
API_EXPORT int CALL_CONV bladerf_set_txvga1(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_get_frequency(struct bladerf *dev, bladerf_module module, unsigned int *frequency)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_read(struct bladerf *dev, uint32_t *outputs)
bladerf_trigger_signal signal
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_dac_read(struct bladerf *dev, uint16_t *val)
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_get_fw_log(struct bladerf *dev, const char *filename)
API_EXPORT bool CALL_CONV bladerf_devstr_matches(const char *dev_str, struct bladerf_devinfo *info)
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_xb_spi_write(struct bladerf *dev, uint32_t val)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_write(struct bladerf *dev, uint32_t outputs)
API_EXPORT int CALL_CONV bladerf_get_rational_smb_frequency(struct bladerf *dev, struct bladerf_rational_rate *rate)
API_EXPORT int CALL_CONV bladerf_is_fpga_configured(struct bladerf *dev)
API_EXPORT int CALL_CONV bladerf_submit_stream_buffer_nb(struct bladerf_stream *stream, void *buffer)
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_config_gpio_write(struct bladerf *dev, uint32_t val)
API_EXPORT int CALL_CONV bladerf_get_devinfo_from_str(const char *devstr, struct bladerf_devinfo *info)
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 bladerf_dev_speed CALL_CONV bladerf_device_speed(struct bladerf *dev)
API_EXPORT int CALL_CONV bladerf_get_device_list(struct bladerf_devinfo **devices)
API_EXPORT struct bladerf_image *CALL_CONV bladerf_alloc_cal_image(bladerf_fpga_size fpga_size, uint16_t vctcxo_trim)
API_EXPORT const char *CALL_CONV bladerf_strerror(int error)
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_fpga_version(struct bladerf *dev, struct bladerf_version *version)
API_EXPORT const char *CALL_CONV bladerf_backend_str(bladerf_backend backend)
bladerf_vctcxo_tamer_mode
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_get_loopback(struct bladerf *dev, bladerf_loopback *l)
API_EXPORT int CALL_CONV bladerf_get_stream_timeout(struct bladerf *dev, bladerf_module module, unsigned int *timeout)
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_set_gain(struct bladerf *dev, bladerf_module mod, int gain)
API_EXPORT int CALL_CONV bladerf_get_bootloader_list(struct bladerf_devinfo **list)
API_EXPORT int CALL_CONV bladerf_set_lna_gain(struct bladerf *dev, bladerf_lna_gain gain)
API_EXPORT int CALL_CONV bladerf_stream(struct bladerf_stream *stream, bladerf_module module)
API_EXPORT int CALL_CONV bladerf_xb300_get_trx(struct bladerf *dev, bladerf_xb300_trx *trx)
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_expansion_gpio_masked_write(struct bladerf *dev, uint32_t mask, uint32_t value)
API_EXPORT int CALL_CONV bladerf_calibrate_dc(struct bladerf *dev, bladerf_cal_module module)
API_EXPORT int CALL_CONV bladerf_trigger_fire(struct bladerf *dev, const struct bladerf_trigger *trigger)
API_EXPORT int CALL_CONV bladerf_jump_to_bootloader(struct bladerf *dev)
API_EXPORT int CALL_CONV bladerf_flash_firmware(struct bladerf *dev, const char *firmware)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_write(struct bladerf *dev, uint32_t val)
API_EXPORT int CALL_CONV bladerf_get_smb_mode(struct bladerf *dev, bladerf_smb_mode *mode)
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_flash_fpga(struct bladerf *dev, const char *fpga_image)
API_EXPORT int CALL_CONV bladerf_enable_module(struct bladerf *dev, bladerf_module m, bool enable)
API_EXPORT int CALL_CONV bladerf_get_lna_gain(struct bladerf *dev, bladerf_lna_gain *gain)
API_EXPORT int CALL_CONV bladerf_trigger_init(struct bladerf *dev, bladerf_module module, bladerf_trigger_signal signal, struct bladerf_trigger *trigger)
#define BLADERF_IMAGE_CHECKSUM_LEN
API_EXPORT int CALL_CONV bladerf_device_reset(struct bladerf *dev)
API_EXPORT void CALL_CONV bladerf_deinit_stream(struct bladerf_stream *stream)
API_EXPORT int CALL_CONV bladerf_get_sample_rate(struct bladerf *dev, bladerf_module module, unsigned int *rate)
API_EXPORT int CALL_CONV bladerf_open(struct bladerf **device, const char *device_identifier)
API_EXPORT int CALL_CONV bladerf_expansion_get_attached(struct bladerf *dev, bladerf_xb *xb)
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_get_devinfo(struct bladerf *dev, struct bladerf_devinfo *info)
API_EXPORT void CALL_CONV bladerf_free_image(struct bladerf_image *image)
#define BLADERF_IMAGE_RESERVED_LEN
API_EXPORT int CALL_CONV bladerf_cancel_scheduled_retunes(struct bladerf *dev, 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_set_sampling(struct bladerf *dev, bladerf_sampling sampling)
API_EXPORT struct bladerf_image *CALL_CONV bladerf_alloc_image(bladerf_image_type type, uint32_t address, uint32_t length)
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 int CALL_CONV bladerf_fw_version(struct bladerf *dev, struct bladerf_version *version)
API_EXPORT int CALL_CONV bladerf_lms_get_dc_cals(struct bladerf *dev, struct bladerf_lms_dc_cals *dc_cals)
API_EXPORT void CALL_CONV bladerf_init_devinfo(struct bladerf_devinfo *info)
API_EXPORT int CALL_CONV bladerf_write_flash(struct bladerf *dev, const uint8_t *buf, uint32_t page, uint32_t count)
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_smb_frequency(struct bladerf *dev, uint32_t rate, uint32_t *actual)
void *(* bladerf_stream_cb)(struct bladerf *dev, struct bladerf_stream *stream, struct bladerf_metadata *meta, void *samples, size_t num_samples, void *user_data)
API_EXPORT int CALL_CONV bladerf_get_rxvga1(struct bladerf *dev, int *gain)
API_EXPORT int CALL_CONV bladerf_get_bandwidth(struct bladerf *dev, bladerf_module module, unsigned int *bandwidth)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read(struct bladerf *dev, uint32_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_get_serial(struct bladerf *dev, char *serial)
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_erase_stored_fpga(struct bladerf *dev)
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_set_smb_mode(struct bladerf *dev, bladerf_smb_mode mode)
API_EXPORT int CALL_CONV bladerf_set_tuning_mode(struct bladerf *dev, bladerf_tuning_mode mode)
API_EXPORT void CALL_CONV bladerf_log_set_verbosity(bladerf_log_level level)
API_EXPORT void CALL_CONV bladerf_free_device_list(struct bladerf_devinfo *devices)
API_EXPORT int CALL_CONV bladerf_set_rxvga1(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_dac_write(struct bladerf *dev, uint16_t val)
API_EXPORT int CALL_CONV bladerf_set_rx_mux(struct bladerf *dev, bladerf_rx_mux mux)
API_EXPORT int CALL_CONV bladerf_set_txvga2(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_get_lpf_mode(struct bladerf *dev, bladerf_module module, bladerf_lpf_mode *mode)
API_EXPORT void CALL_CONV bladerf_version(struct bladerf_version *version)
API_EXPORT int CALL_CONV bladerf_image_write(struct bladerf_image *image, const char *file)
bladerf_trigger_role role
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_get_txvga1(struct bladerf *dev, int *gain)
#define BLADERF_SERIAL_LENGTH
API_EXPORT int CALL_CONV bladerf_get_smb_frequency(struct bladerf *dev, unsigned int *rate)
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_open_with_devinfo(struct bladerf **device, struct bladerf_devinfo *devinfo)
API_EXPORT int CALL_CONV bladerf_set_frequency(struct bladerf *dev, bladerf_module module, unsigned int frequency)
API_EXPORT int CALL_CONV bladerf_set_loopback(struct bladerf *dev, bladerf_loopback l)
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_get_vctcxo_tamer_mode(struct bladerf *dev, bladerf_vctcxo_tamer_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_stream_timeout(struct bladerf *dev, bladerf_module module, unsigned int timeout)
API_EXPORT void CALL_CONV bladerf_close(struct bladerf *device)
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_rxvga2(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_get_timestamp(struct bladerf *dev, bladerf_module mod, uint64_t *value)
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_lpf_mode(struct bladerf *dev, bladerf_module module, bladerf_lpf_mode mode)
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_xb300_get_output_power(struct bladerf *dev, float *val)
API_EXPORT int CALL_CONV bladerf_si5338_write(struct bladerf *dev, uint8_t address, uint8_t val)
API_EXPORT int CALL_CONV bladerf_config_gpio_read(struct bladerf *dev, uint32_t *val)
API_EXPORT int CALL_CONV bladerf_get_txvga2(struct bladerf *dev, int *gain)
API_EXPORT int CALL_CONV bladerf_get_sampling(struct bladerf *dev, bladerf_sampling *sampling)
API_EXPORT int CALL_CONV bladerf_set_correction(struct bladerf *dev, bladerf_module module, bladerf_correction corr, int16_t value)
char serial[BLADERF_SERIAL_LENGTH]
API_EXPORT int CALL_CONV bladerf_xb300_set_trx(struct bladerf *dev, bladerf_xb300_trx trx)
API_EXPORT int CALL_CONV bladerf_expansion_attach(struct bladerf *dev, bladerf_xb xb)
#define BLADERF_IMAGE_MAGIC_LEN