47 #define BLADERF_SAMPLERATE_MIN 80000u
54 #define BLADERF_SAMPLERATE_REC_MAX 40000000u
60 #define BLADERF_BANDWIDTH_MIN 1500000u
66 #define BLADERF_BANDWIDTH_MAX 28000000u
78 #define BLADERF_FREQUENCY_MIN_XB200 0u
84 #define BLADERF_FREQUENCY_MIN 237500000u
90 #define BLADERF_FREQUENCY_MAX 3800000000u
105 #define BLADERF_FLASH_ADDR_FIRMWARE 0x00000000
108 #define BLADERF_FLASH_BYTE_LEN_FIRMWARE 0x00030000
111 #define BLADERF_FLASH_ADDR_CAL 0x00030000
114 #define BLADERF_FLASH_BYTE_LEN_CAL 0x100
122 #define BLADERF_FLASH_ADDR_FPGA 0x00040000
154 #define BLADERF_RXVGA1_GAIN_MIN 5
160 #define BLADERF_RXVGA1_GAIN_MAX 30
166 #define BLADERF_RXVGA2_GAIN_MIN 0
172 #define BLADERF_RXVGA2_GAIN_MAX 30
178 #define BLADERF_TXVGA1_GAIN_MIN (-35)
184 #define BLADERF_TXVGA1_GAIN_MAX (-4)
190 #define BLADERF_TXVGA2_GAIN_MIN 0
196 #define BLADERF_TXVGA2_GAIN_MAX 25
215 #define BLADERF_LNA_GAIN_MID_DB 3
222 #define BLADERF_LNA_GAIN_MAX_DB 6
497 #define BLADERF_SMB_FREQUENCY_MAX 200000000u
502 #define BLADERF_SMB_FREQUENCY_MIN ((38400000u * 66u) / (32 * 567))
655 #define BLADERF_XB_GPIO(n) (1 << (n - 1))
658 #define BLADERF_XB_DIR_OUTPUT(pin) (pin)
661 #define BLADERF_XB_DIR_INPUT(pin) (0)
664 #define BLADERF_XB_GPIO_01 BLADERF_XB_GPIO(1)
667 #define BLADERF_XB_GPIO_02 BLADERF_XB_GPIO(2)
670 #define BLADERF_XB_GPIO_03 BLADERF_XB_GPIO(3)
673 #define BLADERF_XB_GPIO_04 BLADERF_XB_GPIO(4)
676 #define BLADERF_XB_GPIO_05 BLADERF_XB_GPIO(5)
679 #define BLADERF_XB_GPIO_06 BLADERF_XB_GPIO(6)
682 #define BLADERF_XB_GPIO_07 BLADERF_XB_GPIO(7)
685 #define BLADERF_XB_GPIO_08 BLADERF_XB_GPIO(8)
688 #define BLADERF_XB_GPIO_09 BLADERF_XB_GPIO(9)
691 #define BLADERF_XB_GPIO_10 BLADERF_XB_GPIO(10)
694 #define BLADERF_XB_GPIO_11 BLADERF_XB_GPIO(11)
697 #define BLADERF_XB_GPIO_12 BLADERF_XB_GPIO(12)
700 #define BLADERF_XB_GPIO_13 BLADERF_XB_GPIO(13)
703 #define BLADERF_XB_GPIO_14 BLADERF_XB_GPIO(14)
706 #define BLADERF_XB_GPIO_15 BLADERF_XB_GPIO(15)
709 #define BLADERF_XB_GPIO_16 BLADERF_XB_GPIO(16)
712 #define BLADERF_XB_GPIO_17 BLADERF_XB_GPIO(17)
715 #define BLADERF_XB_GPIO_18 BLADERF_XB_GPIO(18)
718 #define BLADERF_XB_GPIO_19 BLADERF_XB_GPIO(19)
721 #define BLADERF_XB_GPIO_20 BLADERF_XB_GPIO(20)
724 #define BLADERF_XB_GPIO_21 BLADERF_XB_GPIO(21)
727 #define BLADERF_XB_GPIO_22 BLADERF_XB_GPIO(22)
730 #define BLADERF_XB_GPIO_23 BLADERF_XB_GPIO(23)
733 #define BLADERF_XB_GPIO_24 BLADERF_XB_GPIO(24)
736 #define BLADERF_XB_GPIO_25 BLADERF_XB_GPIO(25)
739 #define BLADERF_XB_GPIO_26 BLADERF_XB_GPIO(26)
742 #define BLADERF_XB_GPIO_27 BLADERF_XB_GPIO(27)
745 #define BLADERF_XB_GPIO_28 BLADERF_XB_GPIO(28)
748 #define BLADERF_XB_GPIO_29 BLADERF_XB_GPIO(29)
751 #define BLADERF_XB_GPIO_30 BLADERF_XB_GPIO(30)
754 #define BLADERF_XB_GPIO_31 BLADERF_XB_GPIO(31)
757 #define BLADERF_XB_GPIO_32 BLADERF_XB_GPIO(32)
761 #define BLADERF_XB200_PIN_J7_1 BLADERF_XB_GPIO_10
764 #define BLADERF_XB200_PIN_J7_2 BLADERF_XB_GPIO_11
767 #define BLADERF_XB200_PIN_J7_5 BLADERF_XB_GPIO_08
770 #define BLADERF_XB200_PIN_J7_6 BLADERF_XB_GPIO_09
773 #define BLADERF_XB200_PIN_J13_1 BLADERF_XB_GPIO_17
776 #define BLADERF_XB200_PIN_J13_2 BLADERF_XB_GPIO_18
781 #define BLADERF_XB200_PIN_J16_1 BLADERF_XB_GPIO_31
784 #define BLADERF_XB200_PIN_J16_2 BLADERF_XB_GPIO_32
787 #define BLADERF_XB200_PIN_J16_3 BLADERF_XB_GPIO_19
790 #define BLADERF_XB200_PIN_J16_4 BLADERF_XB_GPIO_20
793 #define BLADERF_XB200_PIN_J16_5 BLADERF_XB_GPIO_21
796 #define BLADERF_XB200_PIN_J16_6 BLADERF_XB_GPIO_24
799 #define BLADERF_XB100_PIN_J2_3 BLADERF_XB_GPIO_07
802 #define BLADERF_XB100_PIN_J2_4 BLADERF_XB_GPIO_08
805 #define BLADERF_XB100_PIN_J3_3 BLADERF_XB_GPIO_09
808 #define BLADERF_XB100_PIN_J3_4 BLADERF_XB_GPIO_10
811 #define BLADERF_XB100_PIN_J4_3 BLADERF_XB_GPIO_11
814 #define BLADERF_XB100_PIN_J4_4 BLADERF_XB_GPIO_12
817 #define BLADERF_XB100_PIN_J5_3 BLADERF_XB_GPIO_13
820 #define BLADERF_XB100_PIN_J5_4 BLADERF_XB_GPIO_14
823 #define BLADERF_XB100_PIN_J11_2 BLADERF_XB_GPIO_05
826 #define BLADERF_XB100_PIN_J11_3 BLADERF_XB_GPIO_04
829 #define BLADERF_XB100_PIN_J11_4 BLADERF_XB_GPIO_03
832 #define BLADERF_XB100_PIN_J11_5 BLADERF_XB_GPIO_06
835 #define BLADERF_XB100_PIN_J12_2 BLADERF_XB_GPIO_01
840 #define BLADERF_XB100_PIN_J12_5 BLADERF_XB_GPIO_02
843 #define BLADERF_XB100_LED_D1 BLADERF_XB_GPIO_24
846 #define BLADERF_XB100_LED_D2 BLADERF_XB_GPIO_32
849 #define BLADERF_XB100_LED_D3 BLADERF_XB_GPIO_30
852 #define BLADERF_XB100_LED_D4 BLADERF_XB_GPIO_28
855 #define BLADERF_XB100_LED_D5 BLADERF_XB_GPIO_23
858 #define BLADERF_XB100_LED_D6 BLADERF_XB_GPIO_25
861 #define BLADERF_XB100_LED_D7 BLADERF_XB_GPIO_31
864 #define BLADERF_XB100_LED_D8 BLADERF_XB_GPIO_29
867 #define BLADERF_XB100_TLED_RED BLADERF_XB_GPIO_22
870 #define BLADERF_XB100_TLED_GREEN BLADERF_XB_GPIO_21
873 #define BLADERF_XB100_TLED_BLUE BLADERF_XB_GPIO_20
876 #define BLADERF_XB100_DIP_SW1 BLADERF_XB_GPIO_27
879 #define BLADERF_XB100_DIP_SW2 BLADERF_XB_GPIO_26
882 #define BLADERF_XB100_DIP_SW3 BLADERF_XB_GPIO_16
885 #define BLADERF_XB100_DIP_SW4 BLADERF_XB_GPIO_15
888 #define BLADERF_XB100_BTN_J6 BLADERF_XB_GPIO_19
891 #define BLADERF_XB100_BTN_J7 BLADERF_XB_GPIO_18
894 #define BLADERF_XB100_BTN_J8 BLADERF_XB_GPIO_17
1255 BLADERF_DC_CAL_INVALID = -1,
1256 BLADERF_DC_CAL_LPF_TUNING,
1257 BLADERF_DC_CAL_TX_LPF,
1258 BLADERF_DC_CAL_RX_LPF,
1259 BLADERF_DC_CAL_RXVGA2
1298 #define BLADERF_GPIO_LMS_RX_ENABLE (1 << 1)
1305 #define BLADERF_GPIO_LMS_TX_ENABLE (1 << 2)
1312 #define BLADERF_GPIO_TX_LB_ENABLE (2 << 3)
1319 #define BLADERF_GPIO_TX_HB_ENABLE (1 << 3)
1330 #define BLADERF_GPIO_COUNTER_ENABLE (1 << 9)
1337 #define BLADERF_GPIO_RX_MUX_MASK (0x7 << BLADERF_GPIO_RX_MUX_SHIFT)
1342 #define BLADERF_GPIO_RX_MUX_SHIFT 8
1349 #define BLADERF_GPIO_RX_LB_ENABLE (2 << 5)
1356 #define BLADERF_GPIO_RX_HB_ENABLE (1 << 5)
1367 #define BLADERF_GPIO_FEATURE_SMALL_DMA_XFER (1 << 7)
1372 #define BLADERF_GPIO_PACKET (1 << 19)
1377 #define BLADERF_GPIO_8BIT_MODE (1 << 20)
1384 #define BLADERF_GPIO_AGC_ENABLE (1 << 18)
1389 #define BLADERF_GPIO_TIMESTAMP (1 << 16)
1406 #define BLADERF_GPIO_TIMESTAMP_DIV2 (1 << 17)
1414 #define BLADERF_GPIO_PACKET_CORE_PRESENT (1 << 28)
API_EXPORT int CALL_CONV bladerf_calibrate_dc(struct bladerf *dev, bladerf_cal_module module)
API_EXPORT int CALL_CONV bladerf_set_lna_gain(struct bladerf *dev, bladerf_lna_gain gain)
API_EXPORT int CALL_CONV bladerf_get_rxvga1(struct bladerf *dev, int *gain)
API_EXPORT int CALL_CONV bladerf_get_lna_gain(struct bladerf *dev, bladerf_lna_gain *gain)
API_EXPORT int CALL_CONV bladerf_get_txvga1(struct bladerf *dev, int *gain)
API_EXPORT int CALL_CONV bladerf_set_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_set_rxvga2(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_rxvga1(struct bladerf *dev, int gain)
API_EXPORT int CALL_CONV bladerf_get_rxvga2(struct bladerf *dev, int *gain)
@ BLADERF_LNA_GAIN_BYPASS
@ BLADERF_LNA_GAIN_UNKNOWN
API_EXPORT int CALL_CONV bladerf_xb_spi_write(struct bladerf *dev, uint32_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_si5338_write(struct bladerf *dev, uint8_t address, uint8_t val)
API_EXPORT int CALL_CONV bladerf_dac_write(struct bladerf *dev, uint16_t val)
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_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_dac_read(struct bladerf *dev, uint16_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_lpf_mode(struct bladerf *dev, bladerf_channel ch, bladerf_lpf_mode *mode)
API_EXPORT int CALL_CONV bladerf_get_sampling(struct bladerf *dev, bladerf_sampling *sampling)
API_EXPORT int CALL_CONV bladerf_set_sampling(struct bladerf *dev, bladerf_sampling sampling)
@ BLADERF_SAMPLING_UNKNOWN
@ BLADERF_SAMPLING_EXTERNAL
@ BLADERF_SAMPLING_INTERNAL
API_EXPORT int CALL_CONV bladerf_xb300_set_trx(struct bladerf *dev, bladerf_xb300_trx trx)
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_xb300_set_amplifier_enable(struct bladerf *dev, bladerf_xb300_amplifier amp, bool enable)
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_xb300_get_output_power(struct bladerf *dev, float *val)
API_EXPORT int CALL_CONV bladerf_xb300_get_trx(struct bladerf *dev, bladerf_xb300_trx *trx)
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_xb200_get_filterbank(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_filter *filter)
API_EXPORT int CALL_CONV bladerf_xb200_set_filterbank(struct bladerf *dev, bladerf_channel ch, bladerf_xb200_filter filter)
@ BLADERF_XB300_AMP_INVAL
@ BLADERF_XB300_AMP_PA_AUX
@ BLADERF_XB300_TRX_INVAL
@ BLADERF_XB300_TRX_UNSET
API_EXPORT int CALL_CONV bladerf_expansion_gpio_write(struct bladerf *dev, uint32_t val)
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read(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_masked_write(struct bladerf *dev, uint32_t mask, uint32_t outputs)
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_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_get_smb_frequency(struct bladerf *dev, unsigned int *rate)
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_set_rational_smb_frequency(struct bladerf *dev, struct bladerf_rational_rate *rate, struct bladerf_rational_rate *actual)
@ BLADERF_SMB_MODE_DISABLED
@ BLADERF_SMB_MODE_UNAVAILBLE
@ BLADERF_SMB_MODE_OUTPUT
@ BLADERF_SMB_MODE_INVALID