![]() |
libbladeRF
2.5.0
Nuand bladeRF library
|
These definitions and functions provide high-level functionality for manipulating pins on the bladeRF1 U74 Expansion Header, and the associated mappings on expansion boards.
These functions are thread-safe.
Functions | |
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) |
#define BLADERF_XB100_BTN_J6 BLADERF_XB_GPIO_19 |
Bitmask for XB-100 button J6
Definition at line 888 of file bladeRF1.h.
#define BLADERF_XB100_BTN_J7 BLADERF_XB_GPIO_18 |
Bitmask for XB-100 button J7
Definition at line 891 of file bladeRF1.h.
#define BLADERF_XB100_BTN_J8 BLADERF_XB_GPIO_17 |
Bitmask for XB-100 button J8
Definition at line 894 of file bladeRF1.h.
#define BLADERF_XB100_DIP_SW1 BLADERF_XB_GPIO_27 |
Bitmask for XB-100 DIP switch 1
Definition at line 876 of file bladeRF1.h.
#define BLADERF_XB100_DIP_SW2 BLADERF_XB_GPIO_26 |
Bitmask for XB-100 DIP switch 2
Definition at line 879 of file bladeRF1.h.
#define BLADERF_XB100_DIP_SW3 BLADERF_XB_GPIO_16 |
Bitmask for XB-100 DIP switch 3
Definition at line 882 of file bladeRF1.h.
#define BLADERF_XB100_DIP_SW4 BLADERF_XB_GPIO_15 |
Bitmask for XB-100 DIP switch 4
Definition at line 885 of file bladeRF1.h.
#define BLADERF_XB100_LED_D1 BLADERF_XB_GPIO_24 |
Bitmask for XB-100 LED_D1 (blue)
Definition at line 843 of file bladeRF1.h.
#define BLADERF_XB100_LED_D2 BLADERF_XB_GPIO_32 |
Bitmask for XB-100 LED_D2 (blue)
Definition at line 846 of file bladeRF1.h.
#define BLADERF_XB100_LED_D3 BLADERF_XB_GPIO_30 |
Bitmask for XB-100 LED_D3 (blue)
Definition at line 849 of file bladeRF1.h.
#define BLADERF_XB100_LED_D4 BLADERF_XB_GPIO_28 |
Bitmask for XB-100 LED_D4 (red)
Definition at line 852 of file bladeRF1.h.
#define BLADERF_XB100_LED_D5 BLADERF_XB_GPIO_23 |
Bitmask for XB-100 LED_D5 (red)
Definition at line 855 of file bladeRF1.h.
#define BLADERF_XB100_LED_D6 BLADERF_XB_GPIO_25 |
Bitmask for XB-100 LED_D6 (red)
Definition at line 858 of file bladeRF1.h.
#define BLADERF_XB100_LED_D7 BLADERF_XB_GPIO_31 |
Bitmask for XB-100 LED_D7 (green)
Definition at line 861 of file bladeRF1.h.
#define BLADERF_XB100_LED_D8 BLADERF_XB_GPIO_29 |
Bitmask for XB-100 LED_D8 (green)
Definition at line 864 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J11_2 BLADERF_XB_GPIO_05 |
Bitmask for XB-100 header J11, pin 2
Definition at line 823 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J11_3 BLADERF_XB_GPIO_04 |
Bitmask for XB-100 header J11, pin 3
Definition at line 826 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J11_4 BLADERF_XB_GPIO_03 |
Bitmask for XB-100 header J11, pin 4
Definition at line 829 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J11_5 BLADERF_XB_GPIO_06 |
Bitmask for XB-100 header J11, pin 5
Definition at line 832 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J12_2 BLADERF_XB_GPIO_01 |
Bitmask for XB-100 header J12, pin 2
Definition at line 835 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J12_5 BLADERF_XB_GPIO_02 |
Bitmask for XB-100 header J12, pin 5
Definition at line 840 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J2_3 BLADERF_XB_GPIO_07 |
Bitmask for XB-100 header J2, pin 3
Definition at line 799 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J2_4 BLADERF_XB_GPIO_08 |
Bitmask for XB-100 header J2, pin 4
Definition at line 802 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J3_3 BLADERF_XB_GPIO_09 |
Bitmask for XB-100 header J3, pin 3
Definition at line 805 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J3_4 BLADERF_XB_GPIO_10 |
Bitmask for XB-100 header J3, pin 4
Definition at line 808 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J4_3 BLADERF_XB_GPIO_11 |
Bitmask for XB-100 header J4, pin 3
Definition at line 811 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J4_4 BLADERF_XB_GPIO_12 |
Bitmask for XB-100 header J4, pin 4
Definition at line 814 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J5_3 BLADERF_XB_GPIO_13 |
Bitmask for XB-100 header J5, pin 3
Definition at line 817 of file bladeRF1.h.
#define BLADERF_XB100_PIN_J5_4 BLADERF_XB_GPIO_14 |
Bitmask for XB-100 header J5, pin 4
Definition at line 820 of file bladeRF1.h.
#define BLADERF_XB100_TLED_BLUE BLADERF_XB_GPIO_20 |
Bitmask for XB-100 tricolor LED, blue cathode
Definition at line 873 of file bladeRF1.h.
#define BLADERF_XB100_TLED_GREEN BLADERF_XB_GPIO_21 |
Bitmask for XB-100 tricolor LED, green cathode
Definition at line 870 of file bladeRF1.h.
#define BLADERF_XB100_TLED_RED BLADERF_XB_GPIO_22 |
Bitmask for XB-100 tricolor LED, red cathode
Definition at line 867 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J13_1 BLADERF_XB_GPIO_17 |
Bitmask for XB-200 header J13, pin 1
Definition at line 773 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J13_2 BLADERF_XB_GPIO_18 |
Bitmask for XB-200 header J13, pin 2
Definition at line 776 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_1 BLADERF_XB_GPIO_31 |
Bitmask for XB-200 header J16, pin 1
Definition at line 781 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_2 BLADERF_XB_GPIO_32 |
Bitmask for XB-200 header J16, pin 2
Definition at line 784 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_3 BLADERF_XB_GPIO_19 |
Bitmask for XB-200 header J16, pin 3
Definition at line 787 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_4 BLADERF_XB_GPIO_20 |
Bitmask for XB-200 header J16, pin 4
Definition at line 790 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_5 BLADERF_XB_GPIO_21 |
Bitmask for XB-200 header J16, pin 5
Definition at line 793 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J16_6 BLADERF_XB_GPIO_24 |
Bitmask for XB-200 header J16, pin 6
Definition at line 796 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J7_1 BLADERF_XB_GPIO_10 |
Bitmask for XB-200 header J7, pin 1
Definition at line 761 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J7_2 BLADERF_XB_GPIO_11 |
Bitmask for XB-200 header J7, pin 2
Definition at line 764 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J7_5 BLADERF_XB_GPIO_08 |
Bitmask for XB-200 header J7, pin 5
Definition at line 767 of file bladeRF1.h.
#define BLADERF_XB200_PIN_J7_6 BLADERF_XB_GPIO_09 |
Bitmask for XB-200 header J7, pin 6
Definition at line 770 of file bladeRF1.h.
#define BLADERF_XB_DIR_INPUT | ( | pin | ) | (0) |
Specifies a pin to be an input
Definition at line 661 of file bladeRF1.h.
#define BLADERF_XB_DIR_OUTPUT | ( | pin | ) | (pin) |
Specifies a pin to be an output
Definition at line 658 of file bladeRF1.h.
#define BLADERF_XB_GPIO | ( | n | ) | (1 << (n - 1)) |
Expansion pin GPIO number to bitmask
Definition at line 655 of file bladeRF1.h.
#define BLADERF_XB_GPIO_01 BLADERF_XB_GPIO(1) |
Pin bitmask for Expansion GPIO 1 (U74 pin 11)
Definition at line 664 of file bladeRF1.h.
#define BLADERF_XB_GPIO_02 BLADERF_XB_GPIO(2) |
Pin bitmask for Expansion GPIO 2 (U74 pin 13)
Definition at line 667 of file bladeRF1.h.
#define BLADERF_XB_GPIO_03 BLADERF_XB_GPIO(3) |
Pin bitmask for Expansion GPIO 3 (U74 pin 17)
Definition at line 670 of file bladeRF1.h.
#define BLADERF_XB_GPIO_04 BLADERF_XB_GPIO(4) |
Pin bitmask for Expansion GPIO 4 (U74 pin 19)
Definition at line 673 of file bladeRF1.h.
#define BLADERF_XB_GPIO_05 BLADERF_XB_GPIO(5) |
Pin bitmask for Expansion GPIO 5 (U74 pin 23)
Definition at line 676 of file bladeRF1.h.
#define BLADERF_XB_GPIO_06 BLADERF_XB_GPIO(6) |
Pin bitmask for Expansion GPIO 6 (U74 pin 25)
Definition at line 679 of file bladeRF1.h.
#define BLADERF_XB_GPIO_07 BLADERF_XB_GPIO(7) |
Pin bitmask for Expansion GPIO 7 (U74 pin 29)
Definition at line 682 of file bladeRF1.h.
#define BLADERF_XB_GPIO_08 BLADERF_XB_GPIO(8) |
Pin bitmask for Expansion GPIO 8 (U74 pin 31)
Definition at line 685 of file bladeRF1.h.
#define BLADERF_XB_GPIO_09 BLADERF_XB_GPIO(9) |
Pin bitmask for Expansion GPIO 9 (U74 pin 35)
Definition at line 688 of file bladeRF1.h.
#define BLADERF_XB_GPIO_10 BLADERF_XB_GPIO(10) |
Pin bitmask for Expansion GPIO 10 (U74 pin 37)
Definition at line 691 of file bladeRF1.h.
#define BLADERF_XB_GPIO_11 BLADERF_XB_GPIO(11) |
Pin bitmask for Expansion GPIO 11 (U74 pin 41)
Definition at line 694 of file bladeRF1.h.
#define BLADERF_XB_GPIO_12 BLADERF_XB_GPIO(12) |
Pin bitmask for Expansion GPIO 12 (U74 pin 43)
Definition at line 697 of file bladeRF1.h.
#define BLADERF_XB_GPIO_13 BLADERF_XB_GPIO(13) |
Pin bitmask for Expansion GPIO 13 (U74 pin 47)
Definition at line 700 of file bladeRF1.h.
#define BLADERF_XB_GPIO_14 BLADERF_XB_GPIO(14) |
Pin bitmask for Expansion GPIO 14 (U74 pin 49)
Definition at line 703 of file bladeRF1.h.
#define BLADERF_XB_GPIO_15 BLADERF_XB_GPIO(15) |
Pin bitmask for Expansion GPIO 15 (U74 pin 53)
Definition at line 706 of file bladeRF1.h.
#define BLADERF_XB_GPIO_16 BLADERF_XB_GPIO(16) |
Pin bitmask for Expansion GPIO 16 (U74 pin 55)
Definition at line 709 of file bladeRF1.h.
#define BLADERF_XB_GPIO_17 BLADERF_XB_GPIO(17) |
Pin bitmask for Expansion GPIO 17 (U74 pin 12)
Definition at line 712 of file bladeRF1.h.
#define BLADERF_XB_GPIO_18 BLADERF_XB_GPIO(18) |
Pin bitmask for Expansion GPIO 18 (U74 pin 14)
Definition at line 715 of file bladeRF1.h.
#define BLADERF_XB_GPIO_19 BLADERF_XB_GPIO(19) |
Pin bitmask for Expansion GPIO 19 (U74 pin 18)
Definition at line 718 of file bladeRF1.h.
#define BLADERF_XB_GPIO_20 BLADERF_XB_GPIO(20) |
Pin bitmask for Expansion GPIO 20 (U74 pin 20)
Definition at line 721 of file bladeRF1.h.
#define BLADERF_XB_GPIO_21 BLADERF_XB_GPIO(21) |
Pin bitmask for Expansion GPIO 21 (U74 pin 24)
Definition at line 724 of file bladeRF1.h.
#define BLADERF_XB_GPIO_22 BLADERF_XB_GPIO(22) |
Pin bitmask for Expansion GPIO 22 (U74 pin 26)
Definition at line 727 of file bladeRF1.h.
#define BLADERF_XB_GPIO_23 BLADERF_XB_GPIO(23) |
Pin bitmask for Expansion GPIO 23 (U74 pin 30)
Definition at line 730 of file bladeRF1.h.
#define BLADERF_XB_GPIO_24 BLADERF_XB_GPIO(24) |
Pin bitmask for Expansion GPIO 24 (U74 pin 32)
Definition at line 733 of file bladeRF1.h.
#define BLADERF_XB_GPIO_25 BLADERF_XB_GPIO(25) |
Pin bitmask for Expansion GPIO 25 (U74 pin 36)
Definition at line 736 of file bladeRF1.h.
#define BLADERF_XB_GPIO_26 BLADERF_XB_GPIO(26) |
Pin bitmask for Expansion GPIO 26 (U74 pin 38)
Definition at line 739 of file bladeRF1.h.
#define BLADERF_XB_GPIO_27 BLADERF_XB_GPIO(27) |
Pin bitmask for Expansion GPIO 27 (U74 pin 42)
Definition at line 742 of file bladeRF1.h.
#define BLADERF_XB_GPIO_28 BLADERF_XB_GPIO(28) |
Pin bitmask for Expansion GPIO 28 (U74 pin 44)
Definition at line 745 of file bladeRF1.h.
#define BLADERF_XB_GPIO_29 BLADERF_XB_GPIO(29) |
Pin bitmask for Expansion GPIO 29 (U74 pin 48)
Definition at line 748 of file bladeRF1.h.
#define BLADERF_XB_GPIO_30 BLADERF_XB_GPIO(30) |
Pin bitmask for Expansion GPIO 30 (U74 pin 50)
Definition at line 751 of file bladeRF1.h.
#define BLADERF_XB_GPIO_31 BLADERF_XB_GPIO(31) |
Pin bitmask for Expansion GPIO 31 (U74 pin 54)
Definition at line 754 of file bladeRF1.h.
#define BLADERF_XB_GPIO_32 BLADERF_XB_GPIO(32) |
Pin bitmask for Expansion GPIO 32 (U74 pin 56)
Definition at line 757 of file bladeRF1.h.
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_masked_write | ( | struct bladerf * | dev, |
uint32_t | mask, | ||
uint32_t | outputs | ||
) |
Configure the direction of the specified expansion GPIO pins
This function alleviates the need for the caller to perform a read-modify-write sequence. The supplied mask is used by the FPGA to perform the required RMW operation.
dev | Device handle | |
[in] | mask | Bitmask of pins to configure |
[in] | outputs | Pins set to '1' will be configured as outputs. Pins set to '0' will be configured as inputs. |
For example, to configure XB200 pins J16-1 and J16-2 and pins J16-4 and J16-5 as inputs:
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_read | ( | struct bladerf * | dev, |
uint32_t * | outputs | ||
) |
Read the expansion GPIO direction register
dev | Device handle | |
[out] | outputs | Pins configured as outputs will be set to '1'. Pins configured as inputs will be set to '0'. |
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_write | ( | struct bladerf * | dev, |
uint32_t | outputs | ||
) |
Write to the expansion GPIO direction register.
Callers should be sure to perform a read-modify-write sequence to avoid accidentally clearing other GPIO bits that may be set by the library internally.
Consider using bladerf_expansion_gpio_dir_masked_write() instead.
dev | Device handle | |
[in] | outputs | Pins set to '1' will be configured as outputs. Pins set to '0' will be configured as inputs. |
API_EXPORT int CALL_CONV bladerf_expansion_gpio_masked_write | ( | struct bladerf * | dev, |
uint32_t | mask, | ||
uint32_t | value | ||
) |
Write values to the specified GPIO pins
This function alleviates the need for the caller to perform a read-modify-write sequence. The supplied mask is used by the FPGA to perform the required RMW operation.
dev | Device handle | |
[in] | mask | Mask of pins to write |
[in] | value | Value to write. |
For example, to set XB200 pins J16-1 and J16-2, and clear J16-4 and J16-5:
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read | ( | struct bladerf * | dev, |
uint32_t * | val | ||
) |
Read the state of expansion GPIO values
dev | Device handle | |
[out] | val | Value of GPIO pins |
API_EXPORT int CALL_CONV bladerf_expansion_gpio_write | ( | struct bladerf * | dev, |
uint32_t | val | ||
) |
Write expansion GPIO pins.
Callers should be sure to perform a read-modify-write sequence to avoid accidentally clearing other GPIO bits that may be set by the library internally.
Consider using bladerf_expansion_gpio_masked_write() instead.
dev | Device handle | |
[in] | val | Data to write to GPIO pins |