40 #define BLADERF_SAMPLERATE_MIN 80000u 52 #define BLADERF_SAMPLERATE_REC_MAX 40000000u 55 #define BLADERF_BANDWIDTH_MIN 1500000u 58 #define BLADERF_BANDWIDTH_MAX 28000000u 67 #define BLADERF_FREQUENCY_MIN_XB200 0u 70 #define BLADERF_FREQUENCY_MIN 237500000u 73 #define BLADERF_FREQUENCY_MAX 3800000000u 76 #define BLADERF_FLASH_TOTAL_SIZE (4 * 1024 * 1024) 79 #define BLADERF_FLASH_PAGE_SIZE 256 82 #define BLADERF_FLASH_EB_SIZE (64 * 1024) 85 #define BLADERF_FLASH_NUM_PAGES \ 86 (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_PAGE_SIZE) 89 #define BLADERF_FLASH_NUM_EBS (BLADERF_FLASH_TOTAL_SIZE / BLADERF_FLASH_EB_SIZE) 92 #define BLADERF_FLASH_TO_PAGES(bytes) ((bytes) / BLADERF_FLASH_PAGE_SIZE) 95 #define BLADERF_FLASH_TO_EB(bytes) ((bytes) / BLADERF_FLASH_EB_SIZE) 98 #define BLADERF_FLASH_ADDR_FIRMWARE 0x00000000 101 #define BLADERF_FLASH_PAGE_FIRMWARE \ 102 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FIRMWARE)) 105 #define BLADERF_FLASH_EB_FIRMWARE \ 106 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FIRMWARE)) 109 #define BLADERF_FLASH_BYTE_LEN_FIRMWARE 0x00030000 112 #define BLADERF_FLASH_PAGE_LEN_FIRMWARE \ 113 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) 116 #define BLADERF_FLASH_EB_LEN_FIRMWARE \ 117 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FIRMWARE)) 120 #define BLADERF_FLASH_ADDR_CAL 0x00030000 123 #define BLADERF_FLASH_PAGE_CAL (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_CAL)) 126 #define BLADERF_FLASH_EB_CAL (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_CAL)) 129 #define BLADERF_FLASH_BYTE_LEN_CAL 0x100 132 #define BLADERF_FLASH_PAGE_LEN_CAL (BLADERF_FLASH_TO_PAGES(FLASH_BYTE_LEN_CAL)) 142 #define BLADERF_FLASH_EB_LEN_CAL 1 150 #define BLADERF_FLASH_ADDR_FPGA 0x00040000 153 #define BLADERF_FLASH_PAGE_FPGA \ 154 (BLADERF_FLASH_TO_PAGES(BLADERF_FLASH_ADDR_FPGA)) 157 #define BLADERF_FLASH_EB_FPGA (BLADERF_FLASH_TO_EB(BLADERF_FLASH_ADDR_FPGA)) 160 #define BLADERF_FLASH_BYTE_LEN_FPGA 0x00370000 163 #define BLADERF_FLASH_EB_LEN_FPGA \ 164 (BLADERF_FLASH_TO_EB(BLADERF_FLASH_BYTE_LEN_FPGA)) 189 #define BLADERF_RXVGA1_GAIN_MIN 5 192 #define BLADERF_RXVGA1_GAIN_MAX 30 195 #define BLADERF_RXVGA2_GAIN_MIN 0 198 #define BLADERF_RXVGA2_GAIN_MAX 30 201 #define BLADERF_TXVGA1_GAIN_MIN (-35) 204 #define BLADERF_TXVGA1_GAIN_MAX (-4) 207 #define BLADERF_TXVGA2_GAIN_MIN 0 210 #define BLADERF_TXVGA2_GAIN_MAX 25 222 #define BLADERF_LNA_GAIN_MID_DB 3 223 #define BLADERF_LNA_GAIN_MAX_DB 6 498 #define BLADERF_SMB_FREQUENCY_MAX 200000000u 503 #define BLADERF_SMB_FREQUENCY_MIN ((38400000u * 66u) / (32 * 567)) 656 #define BLADERF_XB_GPIO(n) (1 << (n - 1)) 659 #define BLADERF_XB_DIR_OUTPUT(pin) (pin) 662 #define BLADERF_XB_DIR_INPUT(pin) (0) 665 #define BLADERF_XB_GPIO_01 BLADERF_XB_GPIO(1) 668 #define BLADERF_XB_GPIO_02 BLADERF_XB_GPIO(2) 671 #define BLADERF_XB_GPIO_03 BLADERF_XB_GPIO(3) 674 #define BLADERF_XB_GPIO_04 BLADERF_XB_GPIO(4) 677 #define BLADERF_XB_GPIO_05 BLADERF_XB_GPIO(5) 680 #define BLADERF_XB_GPIO_06 BLADERF_XB_GPIO(6) 683 #define BLADERF_XB_GPIO_07 BLADERF_XB_GPIO(7) 686 #define BLADERF_XB_GPIO_08 BLADERF_XB_GPIO(8) 689 #define BLADERF_XB_GPIO_09 BLADERF_XB_GPIO(9) 692 #define BLADERF_XB_GPIO_10 BLADERF_XB_GPIO(10) 695 #define BLADERF_XB_GPIO_11 BLADERF_XB_GPIO(11) 698 #define BLADERF_XB_GPIO_12 BLADERF_XB_GPIO(12) 701 #define BLADERF_XB_GPIO_13 BLADERF_XB_GPIO(13) 704 #define BLADERF_XB_GPIO_14 BLADERF_XB_GPIO(14) 707 #define BLADERF_XB_GPIO_15 BLADERF_XB_GPIO(15) 710 #define BLADERF_XB_GPIO_16 BLADERF_XB_GPIO(16) 713 #define BLADERF_XB_GPIO_17 BLADERF_XB_GPIO(17) 716 #define BLADERF_XB_GPIO_18 BLADERF_XB_GPIO(18) 719 #define BLADERF_XB_GPIO_19 BLADERF_XB_GPIO(19) 722 #define BLADERF_XB_GPIO_20 BLADERF_XB_GPIO(20) 725 #define BLADERF_XB_GPIO_21 BLADERF_XB_GPIO(21) 728 #define BLADERF_XB_GPIO_22 BLADERF_XB_GPIO(22) 731 #define BLADERF_XB_GPIO_23 BLADERF_XB_GPIO(23) 734 #define BLADERF_XB_GPIO_24 BLADERF_XB_GPIO(24) 737 #define BLADERF_XB_GPIO_25 BLADERF_XB_GPIO(25) 740 #define BLADERF_XB_GPIO_26 BLADERF_XB_GPIO(26) 743 #define BLADERF_XB_GPIO_27 BLADERF_XB_GPIO(27) 746 #define BLADERF_XB_GPIO_28 BLADERF_XB_GPIO(28) 749 #define BLADERF_XB_GPIO_29 BLADERF_XB_GPIO(29) 752 #define BLADERF_XB_GPIO_30 BLADERF_XB_GPIO(30) 755 #define BLADERF_XB_GPIO_31 BLADERF_XB_GPIO(31) 758 #define BLADERF_XB_GPIO_32 BLADERF_XB_GPIO(32) 762 #define BLADERF_XB200_PIN_J7_1 BLADERF_XB_GPIO_10 765 #define BLADERF_XB200_PIN_J7_2 BLADERF_XB_GPIO_11 768 #define BLADERF_XB200_PIN_J7_5 BLADERF_XB_GPIO_08 771 #define BLADERF_XB200_PIN_J7_6 BLADERF_XB_GPIO_09 774 #define BLADERF_XB200_PIN_J13_1 BLADERF_XB_GPIO_17 777 #define BLADERF_XB200_PIN_J13_2 BLADERF_XB_GPIO_18 782 #define BLADERF_XB200_PIN_J16_1 BLADERF_XB_GPIO_31 785 #define BLADERF_XB200_PIN_J16_2 BLADERF_XB_GPIO_32 788 #define BLADERF_XB200_PIN_J16_3 BLADERF_XB_GPIO_19 791 #define BLADERF_XB200_PIN_J16_4 BLADERF_XB_GPIO_20 794 #define BLADERF_XB200_PIN_J16_5 BLADERF_XB_GPIO_21 797 #define BLADERF_XB200_PIN_J16_6 BLADERF_XB_GPIO_24 800 #define BLADERF_XB100_PIN_J2_3 BLADERF_XB_GPIO_07 803 #define BLADERF_XB100_PIN_J2_4 BLADERF_XB_GPIO_08 806 #define BLADERF_XB100_PIN_J3_3 BLADERF_XB_GPIO_09 809 #define BLADERF_XB100_PIN_J3_4 BLADERF_XB_GPIO_10 812 #define BLADERF_XB100_PIN_J4_3 BLADERF_XB_GPIO_11 815 #define BLADERF_XB100_PIN_J4_4 BLADERF_XB_GPIO_12 818 #define BLADERF_XB100_PIN_J5_3 BLADERF_XB_GPIO_13 821 #define BLADERF_XB100_PIN_J5_4 BLADERF_XB_GPIO_14 824 #define BLADERF_XB100_PIN_J11_2 BLADERF_XB_GPIO_05 827 #define BLADERF_XB100_PIN_J11_3 BLADERF_XB_GPIO_04 830 #define BLADERF_XB100_PIN_J11_4 BLADERF_XB_GPIO_03 833 #define BLADERF_XB100_PIN_J11_5 BLADERF_XB_GPIO_06 836 #define BLADERF_XB100_PIN_J12_2 BLADERF_XB_GPIO_01 841 #define BLADERF_XB100_PIN_J12_5 BLADERF_XB_GPIO_02 844 #define BLADERF_XB100_LED_D1 BLADERF_XB_GPIO_24 847 #define BLADERF_XB100_LED_D2 BLADERF_XB_GPIO_32 850 #define BLADERF_XB100_LED_D3 BLADERF_XB_GPIO_30 853 #define BLADERF_XB100_LED_D4 BLADERF_XB_GPIO_28 856 #define BLADERF_XB100_LED_D5 BLADERF_XB_GPIO_23 859 #define BLADERF_XB100_LED_D6 BLADERF_XB_GPIO_25 862 #define BLADERF_XB100_LED_D7 BLADERF_XB_GPIO_31 865 #define BLADERF_XB100_LED_D8 BLADERF_XB_GPIO_29 868 #define BLADERF_XB100_TLED_RED BLADERF_XB_GPIO_22 871 #define BLADERF_XB100_TLED_GREEN BLADERF_XB_GPIO_21 874 #define BLADERF_XB100_TLED_BLUE BLADERF_XB_GPIO_20 877 #define BLADERF_XB100_DIP_SW1 BLADERF_XB_GPIO_27 880 #define BLADERF_XB100_DIP_SW2 BLADERF_XB_GPIO_26 883 #define BLADERF_XB100_DIP_SW3 BLADERF_XB_GPIO_16 886 #define BLADERF_XB100_DIP_SW4 BLADERF_XB_GPIO_15 889 #define BLADERF_XB100_BTN_J6 BLADERF_XB_GPIO_19 892 #define BLADERF_XB100_BTN_J7 BLADERF_XB_GPIO_18 895 #define BLADERF_XB100_BTN_J8 BLADERF_XB_GPIO_17 1256 BLADERF_DC_CAL_INVALID = -1,
1257 BLADERF_DC_CAL_LPF_TUNING,
1258 BLADERF_DC_CAL_TX_LPF,
1259 BLADERF_DC_CAL_RX_LPF,
1260 BLADERF_DC_CAL_RXVGA2
1299 #define BLADERF_GPIO_LMS_RX_ENABLE (1 << 1) 1306 #define BLADERF_GPIO_LMS_TX_ENABLE (1 << 2) 1313 #define BLADERF_GPIO_TX_LB_ENABLE (2 << 3) 1320 #define BLADERF_GPIO_TX_HB_ENABLE (1 << 3) 1331 #define BLADERF_GPIO_COUNTER_ENABLE (1 << 9) 1338 #define BLADERF_GPIO_RX_MUX_MASK (0x7 << BLADERF_GPIO_RX_MUX_SHIFT) 1343 #define BLADERF_GPIO_RX_MUX_SHIFT 8 1350 #define BLADERF_GPIO_RX_LB_ENABLE (2 << 5) 1357 #define BLADERF_GPIO_RX_HB_ENABLE (1 << 5) 1368 #define BLADERF_GPIO_FEATURE_SMALL_DMA_XFER (1 << 7) 1375 #define BLADERF_GPIO_AGC_ENABLE (1 << 18) 1380 #define BLADERF_GPIO_TIMESTAMP (1 << 16) 1397 #define BLADERF_GPIO_TIMESTAMP_DIV2 (1 << 17)
API_EXPORT int CALL_CONV bladerf_xb200_set_path(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_path path)
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_xb300_set_amplifier_enable(struct bladerf *dev, bladerf_xb300_amplifier amp, bool enable)
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_dac_read(struct bladerf *dev, uint16_t *val)
API_EXPORT int CALL_CONV bladerf_set_txvga1(struct bladerf *dev, int gain)
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_get_rational_smb_frequency(struct bladerf *dev, struct bladerf_rational_rate *rate)
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_trx(struct bladerf *dev, bladerf_xb300_trx *trx)
API_EXPORT int CALL_CONV bladerf_set_txvga2(struct bladerf *dev, int gain)
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_write(struct bladerf *dev, uint8_t address, uint8_t val)
API_EXPORT int CALL_CONV bladerf_xb300_set_trx(struct bladerf *dev, bladerf_xb300_trx trx)
API_EXPORT int CALL_CONV bladerf_xb200_set_filterbank(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_filter filter)
API_EXPORT int CALL_CONV bladerf_xb300_get_output_power(struct bladerf *dev, float *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_lms_read(struct bladerf *dev, uint8_t address, uint8_t *val)
API_EXPORT int CALL_CONV bladerf_get_sampling(struct bladerf *dev, bladerf_sampling *sampling)
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_get_txvga2(struct bladerf *dev, int *gain)
API_EXPORT int CALL_CONV bladerf_get_lpf_mode(struct bladerf *dev, bladerf_channel ch, bladerf_lpf_mode *mode)
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_set_smb_frequency(struct bladerf *dev, uint32_t rate, uint32_t *actual)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read(struct bladerf *dev, uint32_t *val)
API_EXPORT int CALL_CONV bladerf_dac_write(struct bladerf *dev, uint16_t val)
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_si5338_write(struct bladerf *dev, uint8_t address, uint8_t val)
API_EXPORT int CALL_CONV bladerf_get_lna_gain(struct bladerf *dev, bladerf_lna_gain *gain)
API_EXPORT int CALL_CONV bladerf_set_smb_mode(struct bladerf *dev, bladerf_smb_mode mode)
API_EXPORT int CALL_CONV bladerf_xb200_get_filterbank(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_filter *filter)
API_EXPORT int CALL_CONV bladerf_set_sampling(struct bladerf *dev, bladerf_sampling sampling)
API_EXPORT int CALL_CONV bladerf_xb_spi_write(struct bladerf *dev, uint32_t val)
API_EXPORT int CALL_CONV bladerf_xb200_get_path(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_path *path)
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_get_smb_frequency(struct bladerf *dev, unsigned int *rate)
API_EXPORT int CALL_CONV bladerf_set_rxvga2(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_calibrate_dc(struct bladerf *dev, bladerf_cal_module module)
API_EXPORT int CALL_CONV bladerf_si5338_read(struct bladerf *dev, uint8_t address, uint8_t *val)
API_EXPORT int CALL_CONV bladerf_set_lpf_mode(struct bladerf *dev, bladerf_channel ch, bladerf_lpf_mode mode)
API_EXPORT int CALL_CONV bladerf_get_rxvga2(struct bladerf *dev, int *gain)