libbladeRF 2.5.0-0.2024.05-1
Nuand bladeRF library
Loading...
Searching...
No Matches
bladeRF1.h
Go to the documentation of this file.
1
22#ifndef BLADERF1_H_
23#define BLADERF1_H_
24
47#define BLADERF_SAMPLERATE_MIN 80000u
48
54#define BLADERF_SAMPLERATE_REC_MAX 40000000u
55
60#define BLADERF_BANDWIDTH_MIN 1500000u
61
66#define BLADERF_BANDWIDTH_MAX 28000000u
67
78#define BLADERF_FREQUENCY_MIN_XB200 0u
79
84#define BLADERF_FREQUENCY_MIN 237500000u
85
90#define BLADERF_FREQUENCY_MAX 3800000000u
91
105#define BLADERF_FLASH_ADDR_FIRMWARE 0x00000000
106
108#define BLADERF_FLASH_BYTE_LEN_FIRMWARE 0x00030000
109
111#define BLADERF_FLASH_ADDR_CAL 0x00030000
112
114#define BLADERF_FLASH_BYTE_LEN_CAL 0x100
115
122#define BLADERF_FLASH_ADDR_FPGA 0x00040000
123
154#define BLADERF_RXVGA1_GAIN_MIN 5
155
160#define BLADERF_RXVGA1_GAIN_MAX 30
161
166#define BLADERF_RXVGA2_GAIN_MIN 0
167
172#define BLADERF_RXVGA2_GAIN_MAX 30
173
178#define BLADERF_TXVGA1_GAIN_MIN (-35)
179
184#define BLADERF_TXVGA1_GAIN_MAX (-4)
185
190#define BLADERF_TXVGA2_GAIN_MIN 0
191
196#define BLADERF_TXVGA2_GAIN_MAX 25
197
209
215#define BLADERF_LNA_GAIN_MID_DB 3
216
222#define BLADERF_LNA_GAIN_MAX_DB 6
223
239int CALL_CONV bladerf_set_txvga2(struct bladerf *dev, int gain);
240
251API_EXPORT int CALL_CONV bladerf_get_txvga2(struct bladerf *dev, int *gain);
252
268int CALL_CONV bladerf_set_txvga1(struct bladerf *dev, int gain);
269
281int CALL_CONV bladerf_get_txvga1(struct bladerf *dev, int *gain);
282
294int CALL_CONV bladerf_set_lna_gain(struct bladerf *dev, bladerf_lna_gain gain);
295
307int CALL_CONV bladerf_get_lna_gain(struct bladerf *dev, bladerf_lna_gain *gain);
308
324int CALL_CONV bladerf_set_rxvga1(struct bladerf *dev, int gain);
325
337int CALL_CONV bladerf_get_rxvga1(struct bladerf *dev, int *gain);
338
354int CALL_CONV bladerf_set_rxvga2(struct bladerf *dev, int gain);
355
365int CALL_CONV bladerf_get_rxvga2(struct bladerf *dev, int *gain);
366
388
402int CALL_CONV bladerf_set_sampling(struct bladerf *dev,
403 bladerf_sampling sampling);
404
415int CALL_CONV bladerf_get_sampling(struct bladerf *dev,
416 bladerf_sampling *sampling);
417
418
439
450int CALL_CONV bladerf_set_lpf_mode(struct bladerf *dev,
452 bladerf_lpf_mode mode);
453
464int CALL_CONV bladerf_get_lpf_mode(struct bladerf *dev,
466 bladerf_lpf_mode *mode);
467
497#define BLADERF_SMB_FREQUENCY_MAX 200000000u
498
502#define BLADERF_SMB_FREQUENCY_MIN ((38400000u * 66u) / (32 * 567))
503
504
532
550int CALL_CONV bladerf_set_smb_mode(struct bladerf *dev, bladerf_smb_mode mode);
551
561int CALL_CONV bladerf_get_smb_mode(struct bladerf *dev, bladerf_smb_mode *mode);
562
584int CALL_CONV
586 struct bladerf_rational_rate *rate,
587 struct bladerf_rational_rate *actual);
588
612int CALL_CONV bladerf_set_smb_frequency(struct bladerf *dev,
613 uint32_t rate,
614 uint32_t *actual);
615
626 struct bladerf *dev, struct bladerf_rational_rate *rate);
627
637int CALL_CONV bladerf_get_smb_frequency(struct bladerf *dev,
638 unsigned int *rate);
639
655#define BLADERF_XB_GPIO(n) (1 << (n - 1))
656
658#define BLADERF_XB_DIR_OUTPUT(pin) (pin)
659
661#define BLADERF_XB_DIR_INPUT(pin) (0)
662
664#define BLADERF_XB_GPIO_01 BLADERF_XB_GPIO(1)
665
667#define BLADERF_XB_GPIO_02 BLADERF_XB_GPIO(2)
668
670#define BLADERF_XB_GPIO_03 BLADERF_XB_GPIO(3)
671
673#define BLADERF_XB_GPIO_04 BLADERF_XB_GPIO(4)
674
676#define BLADERF_XB_GPIO_05 BLADERF_XB_GPIO(5)
677
679#define BLADERF_XB_GPIO_06 BLADERF_XB_GPIO(6)
680
682#define BLADERF_XB_GPIO_07 BLADERF_XB_GPIO(7)
683
685#define BLADERF_XB_GPIO_08 BLADERF_XB_GPIO(8)
686
688#define BLADERF_XB_GPIO_09 BLADERF_XB_GPIO(9)
689
691#define BLADERF_XB_GPIO_10 BLADERF_XB_GPIO(10)
692
694#define BLADERF_XB_GPIO_11 BLADERF_XB_GPIO(11)
695
697#define BLADERF_XB_GPIO_12 BLADERF_XB_GPIO(12)
698
700#define BLADERF_XB_GPIO_13 BLADERF_XB_GPIO(13)
701
703#define BLADERF_XB_GPIO_14 BLADERF_XB_GPIO(14)
704
706#define BLADERF_XB_GPIO_15 BLADERF_XB_GPIO(15)
707
709#define BLADERF_XB_GPIO_16 BLADERF_XB_GPIO(16)
710
712#define BLADERF_XB_GPIO_17 BLADERF_XB_GPIO(17)
713
715#define BLADERF_XB_GPIO_18 BLADERF_XB_GPIO(18)
716
718#define BLADERF_XB_GPIO_19 BLADERF_XB_GPIO(19)
719
721#define BLADERF_XB_GPIO_20 BLADERF_XB_GPIO(20)
722
724#define BLADERF_XB_GPIO_21 BLADERF_XB_GPIO(21)
725
727#define BLADERF_XB_GPIO_22 BLADERF_XB_GPIO(22)
728
730#define BLADERF_XB_GPIO_23 BLADERF_XB_GPIO(23)
731
733#define BLADERF_XB_GPIO_24 BLADERF_XB_GPIO(24)
734
736#define BLADERF_XB_GPIO_25 BLADERF_XB_GPIO(25)
737
739#define BLADERF_XB_GPIO_26 BLADERF_XB_GPIO(26)
740
742#define BLADERF_XB_GPIO_27 BLADERF_XB_GPIO(27)
743
745#define BLADERF_XB_GPIO_28 BLADERF_XB_GPIO(28)
746
748#define BLADERF_XB_GPIO_29 BLADERF_XB_GPIO(29)
749
751#define BLADERF_XB_GPIO_30 BLADERF_XB_GPIO(30)
752
754#define BLADERF_XB_GPIO_31 BLADERF_XB_GPIO(31)
755
757#define BLADERF_XB_GPIO_32 BLADERF_XB_GPIO(32)
758
759
761#define BLADERF_XB200_PIN_J7_1 BLADERF_XB_GPIO_10
762
764#define BLADERF_XB200_PIN_J7_2 BLADERF_XB_GPIO_11
765
767#define BLADERF_XB200_PIN_J7_5 BLADERF_XB_GPIO_08
768
770#define BLADERF_XB200_PIN_J7_6 BLADERF_XB_GPIO_09
771
773#define BLADERF_XB200_PIN_J13_1 BLADERF_XB_GPIO_17
774
776#define BLADERF_XB200_PIN_J13_2 BLADERF_XB_GPIO_18
777
778/* XB-200 J13 Pin 6 is actually reserved for SPI */
779
781#define BLADERF_XB200_PIN_J16_1 BLADERF_XB_GPIO_31
782
784#define BLADERF_XB200_PIN_J16_2 BLADERF_XB_GPIO_32
785
787#define BLADERF_XB200_PIN_J16_3 BLADERF_XB_GPIO_19
788
790#define BLADERF_XB200_PIN_J16_4 BLADERF_XB_GPIO_20
791
793#define BLADERF_XB200_PIN_J16_5 BLADERF_XB_GPIO_21
794
796#define BLADERF_XB200_PIN_J16_6 BLADERF_XB_GPIO_24
797
799#define BLADERF_XB100_PIN_J2_3 BLADERF_XB_GPIO_07
800
802#define BLADERF_XB100_PIN_J2_4 BLADERF_XB_GPIO_08
803
805#define BLADERF_XB100_PIN_J3_3 BLADERF_XB_GPIO_09
806
808#define BLADERF_XB100_PIN_J3_4 BLADERF_XB_GPIO_10
809
811#define BLADERF_XB100_PIN_J4_3 BLADERF_XB_GPIO_11
812
814#define BLADERF_XB100_PIN_J4_4 BLADERF_XB_GPIO_12
815
817#define BLADERF_XB100_PIN_J5_3 BLADERF_XB_GPIO_13
818
820#define BLADERF_XB100_PIN_J5_4 BLADERF_XB_GPIO_14
821
823#define BLADERF_XB100_PIN_J11_2 BLADERF_XB_GPIO_05
824
826#define BLADERF_XB100_PIN_J11_3 BLADERF_XB_GPIO_04
827
829#define BLADERF_XB100_PIN_J11_4 BLADERF_XB_GPIO_03
830
832#define BLADERF_XB100_PIN_J11_5 BLADERF_XB_GPIO_06
833
835#define BLADERF_XB100_PIN_J12_2 BLADERF_XB_GPIO_01
836
837/* XB-100 header J12, pins 3 and 4 are reserved for SPI */
838
840#define BLADERF_XB100_PIN_J12_5 BLADERF_XB_GPIO_02
841
843#define BLADERF_XB100_LED_D1 BLADERF_XB_GPIO_24
844
846#define BLADERF_XB100_LED_D2 BLADERF_XB_GPIO_32
847
849#define BLADERF_XB100_LED_D3 BLADERF_XB_GPIO_30
850
852#define BLADERF_XB100_LED_D4 BLADERF_XB_GPIO_28
853
855#define BLADERF_XB100_LED_D5 BLADERF_XB_GPIO_23
856
858#define BLADERF_XB100_LED_D6 BLADERF_XB_GPIO_25
859
861#define BLADERF_XB100_LED_D7 BLADERF_XB_GPIO_31
862
864#define BLADERF_XB100_LED_D8 BLADERF_XB_GPIO_29
865
867#define BLADERF_XB100_TLED_RED BLADERF_XB_GPIO_22
868
870#define BLADERF_XB100_TLED_GREEN BLADERF_XB_GPIO_21
871
873#define BLADERF_XB100_TLED_BLUE BLADERF_XB_GPIO_20
874
876#define BLADERF_XB100_DIP_SW1 BLADERF_XB_GPIO_27
877
879#define BLADERF_XB100_DIP_SW2 BLADERF_XB_GPIO_26
880
882#define BLADERF_XB100_DIP_SW3 BLADERF_XB_GPIO_16
883
885#define BLADERF_XB100_DIP_SW4 BLADERF_XB_GPIO_15
886
888#define BLADERF_XB100_BTN_J6 BLADERF_XB_GPIO_19
889
891#define BLADERF_XB100_BTN_J7 BLADERF_XB_GPIO_18
892
894#define BLADERF_XB100_BTN_J8 BLADERF_XB_GPIO_17
895
896/* XB-100 buttons J9 and J10 are not mapped to the GPIO register,
897 * but instead to reserved SPI pins. FPGA modifications are needed to
898 * use these. */
899
909int CALL_CONV bladerf_expansion_gpio_read(struct bladerf *dev, uint32_t *val);
910
926int CALL_CONV bladerf_expansion_gpio_write(struct bladerf *dev, uint32_t val);
927
961 uint32_t mask,
962 uint32_t value);
963
975 uint32_t *outputs);
976
994 uint32_t outputs);
995
1031 uint32_t mask,
1032 uint32_t outputs);
1033
1095
1103
1113
1123
1135 bladerf_channel ch,
1136 bladerf_xb200_filter filter);
1137
1150 bladerf_channel ch,
1151 bladerf_xb200_filter *filter);
1152
1163int CALL_CONV bladerf_xb200_set_path(struct bladerf *dev,
1164 bladerf_channel ch,
1165 bladerf_xb200_path path);
1166
1177int CALL_CONV bladerf_xb200_get_path(struct bladerf *dev,
1178 bladerf_channel ch,
1179 bladerf_xb200_path *path);
1180
1191
1201int CALL_CONV bladerf_xb300_get_trx(struct bladerf *dev,
1202 bladerf_xb300_trx *trx);
1203
1216 bool enable);
1229 bool *enable);
1239int CALL_CONV bladerf_xb300_get_output_power(struct bladerf *dev, float *val);
1240
1254typedef enum {
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
1261
1271int CALL_CONV bladerf_calibrate_dc(struct bladerf *dev,
1272 bladerf_cal_module module);
1273
1298#define BLADERF_GPIO_LMS_RX_ENABLE (1 << 1)
1299
1305#define BLADERF_GPIO_LMS_TX_ENABLE (1 << 2)
1306
1312#define BLADERF_GPIO_TX_LB_ENABLE (2 << 3)
1313
1319#define BLADERF_GPIO_TX_HB_ENABLE (1 << 3)
1320
1330#define BLADERF_GPIO_COUNTER_ENABLE (1 << 9)
1331
1337#define BLADERF_GPIO_RX_MUX_MASK (0x7 << BLADERF_GPIO_RX_MUX_SHIFT)
1338
1342#define BLADERF_GPIO_RX_MUX_SHIFT 8
1343
1349#define BLADERF_GPIO_RX_LB_ENABLE (2 << 5)
1350
1356#define BLADERF_GPIO_RX_HB_ENABLE (1 << 5)
1357
1367#define BLADERF_GPIO_FEATURE_SMALL_DMA_XFER (1 << 7)
1368
1372#define BLADERF_GPIO_PACKET (1 << 19)
1373
1377#define BLADERF_GPIO_8BIT_MODE (1 << 20)
1378
1384#define BLADERF_GPIO_AGC_ENABLE (1 << 18)
1385
1389#define BLADERF_GPIO_TIMESTAMP (1 << 16)
1390
1406#define BLADERF_GPIO_TIMESTAMP_DIV2 (1 << 17)
1407
1414#define BLADERF_GPIO_PACKET_CORE_PRESENT (1 << 28)
1415
1429int CALL_CONV bladerf_dac_write(struct bladerf *dev, uint16_t val);
1430
1448int CALL_CONV bladerf_dac_read(struct bladerf *dev, uint16_t *val);
1449
1460int CALL_CONV bladerf_si5338_read(struct bladerf *dev,
1461 uint8_t address,
1462 uint8_t *val);
1463
1474int CALL_CONV bladerf_si5338_write(struct bladerf *dev,
1475 uint8_t address,
1476 uint8_t val);
1477
1488int CALL_CONV bladerf_lms_read(struct bladerf *dev,
1489 uint8_t address,
1490 uint8_t *val);
1491
1502int CALL_CONV bladerf_lms_write(struct bladerf *dev,
1503 uint8_t address,
1504 uint8_t val);
1505
1514 int16_t lpf_tuning;
1515 int16_t tx_lpf_i;
1516 int16_t tx_lpf_q;
1517 int16_t rx_lpf_i;
1518 int16_t rx_lpf_q;
1519 int16_t dc_ref;
1520 int16_t rxvga2a_i;
1521 int16_t rxvga2a_q;
1522 int16_t rxvga2b_i;
1523 int16_t rxvga2b_q;
1524};
1525
1540 struct bladerf *dev, const struct bladerf_lms_dc_cals *dc_cals);
1541
1551int CALL_CONV bladerf_lms_get_dc_cals(struct bladerf *dev,
1552 struct bladerf_lms_dc_cals *dc_cals);
1553
1563int CALL_CONV bladerf_xb_spi_write(struct bladerf *dev, uint32_t val);
1564
1569#endif /* BLADERF1_H_ */
API_EXPORT int CALL_CONV bladerf_calibrate_dc(struct bladerf *dev, bladerf_cal_module module)
bladerf_cal_module
Definition bladeRF1.h:1254
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)
bladerf_lna_gain
Definition bladeRF1.h:203
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_MAX
Definition bladeRF1.h:207
@ BLADERF_LNA_GAIN_MID
Definition bladeRF1.h:206
@ BLADERF_LNA_GAIN_BYPASS
Definition bladeRF1.h:205
@ BLADERF_LNA_GAIN_UNKNOWN
Definition bladeRF1.h:204
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)
bladerf_lpf_mode
Definition bladeRF1.h:434
API_EXPORT int CALL_CONV bladerf_get_lpf_mode(struct bladerf *dev, bladerf_channel ch, bladerf_lpf_mode *mode)
@ BLADERF_LPF_BYPASSED
Definition bladeRF1.h:436
@ BLADERF_LPF_DISABLED
Definition bladeRF1.h:437
@ BLADERF_LPF_NORMAL
Definition bladeRF1.h:435
API_EXPORT int CALL_CONV bladerf_get_sampling(struct bladerf *dev, bladerf_sampling *sampling)
bladerf_sampling
Definition bladeRF1.h:383
API_EXPORT int CALL_CONV bladerf_set_sampling(struct bladerf *dev, bladerf_sampling sampling)
@ BLADERF_SAMPLING_UNKNOWN
Definition bladeRF1.h:384
@ BLADERF_SAMPLING_EXTERNAL
Definition bladeRF1.h:386
@ BLADERF_SAMPLING_INTERNAL
Definition bladeRF1.h:385
API_EXPORT int CALL_CONV bladerf_xb300_set_trx(struct bladerf *dev, bladerf_xb300_trx trx)
bladerf_xb200_path
Definition bladeRF1.h:1099
bladerf_xb300_amplifier
Definition bladeRF1.h:1117
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_xb200_filter
Definition bladeRF1.h:1050
bladerf_xb300_trx
Definition bladeRF1.h:1107
@ BLADERF_XB200_BYPASS
Definition bladeRF1.h:1100
@ BLADERF_XB200_MIX
Definition bladeRF1.h:1101
@ BLADERF_XB300_AMP_LNA
Definition bladeRF1.h:1120
@ BLADERF_XB300_AMP_INVAL
Definition bladeRF1.h:1118
@ BLADERF_XB300_AMP_PA
Definition bladeRF1.h:1119
@ BLADERF_XB300_AMP_PA_AUX
Definition bladeRF1.h:1121
@ BLADERF_XB200_50M
Definition bladeRF1.h:1052
@ BLADERF_XB200_222M
Definition bladeRF1.h:1062
@ BLADERF_XB200_144M
Definition bladeRF1.h:1055
@ BLADERF_XB200_AUTO_3DB
Definition bladeRF1.h:1093
@ BLADERF_XB200_CUSTOM
Definition bladeRF1.h:1077
@ BLADERF_XB200_AUTO_1DB
Definition bladeRF1.h:1085
@ BLADERF_XB300_TRX_INVAL
Definition bladeRF1.h:1108
@ BLADERF_XB300_TRX_RX
Definition bladeRF1.h:1110
@ BLADERF_XB300_TRX_TX
Definition bladeRF1.h:1109
@ BLADERF_XB300_TRX_UNSET
Definition bladeRF1.h:1111
int bladerf_channel
Definition libbladeRF.h:649
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)
bladerf_smb_mode
Definition bladeRF1.h:508
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_INPUT
Definition bladeRF1.h:521
@ BLADERF_SMB_MODE_DISABLED
Definition bladeRF1.h:511
@ BLADERF_SMB_MODE_UNAVAILBLE
Definition bladeRF1.h:526
@ BLADERF_SMB_MODE_OUTPUT
Definition bladeRF1.h:515
@ BLADERF_SMB_MODE_INVALID
Definition bladeRF1.h:509
#define API_EXPORT
Definition libbladeRF.h:82
#define CALL_CONV
Definition libbladeRF.h:85