libbladeRF  2.1.0-0.2018.10~rc1-2
Nuand bladeRF library
Macros | Functions

Description

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.

Macros

#define BLADERF_XB_GPIO(n)   (1 << (n - 1))
 
#define BLADERF_XB_DIR_OUTPUT(pin)   (pin)
 
#define BLADERF_XB_DIR_INPUT(pin)   (0)
 
#define BLADERF_XB_GPIO_01   BLADERF_XB_GPIO(1)
 
#define BLADERF_XB_GPIO_02   BLADERF_XB_GPIO(2)
 
#define BLADERF_XB_GPIO_03   BLADERF_XB_GPIO(3)
 
#define BLADERF_XB_GPIO_04   BLADERF_XB_GPIO(4)
 
#define BLADERF_XB_GPIO_05   BLADERF_XB_GPIO(5)
 
#define BLADERF_XB_GPIO_06   BLADERF_XB_GPIO(6)
 
#define BLADERF_XB_GPIO_07   BLADERF_XB_GPIO(7)
 
#define BLADERF_XB_GPIO_08   BLADERF_XB_GPIO(8)
 
#define BLADERF_XB_GPIO_09   BLADERF_XB_GPIO(9)
 
#define BLADERF_XB_GPIO_10   BLADERF_XB_GPIO(10)
 
#define BLADERF_XB_GPIO_11   BLADERF_XB_GPIO(11)
 
#define BLADERF_XB_GPIO_12   BLADERF_XB_GPIO(12)
 
#define BLADERF_XB_GPIO_13   BLADERF_XB_GPIO(13)
 
#define BLADERF_XB_GPIO_14   BLADERF_XB_GPIO(14)
 
#define BLADERF_XB_GPIO_15   BLADERF_XB_GPIO(15)
 
#define BLADERF_XB_GPIO_16   BLADERF_XB_GPIO(16)
 
#define BLADERF_XB_GPIO_17   BLADERF_XB_GPIO(17)
 
#define BLADERF_XB_GPIO_18   BLADERF_XB_GPIO(18)
 
#define BLADERF_XB_GPIO_19   BLADERF_XB_GPIO(19)
 
#define BLADERF_XB_GPIO_20   BLADERF_XB_GPIO(20)
 
#define BLADERF_XB_GPIO_21   BLADERF_XB_GPIO(21)
 
#define BLADERF_XB_GPIO_22   BLADERF_XB_GPIO(22)
 
#define BLADERF_XB_GPIO_23   BLADERF_XB_GPIO(23)
 
#define BLADERF_XB_GPIO_24   BLADERF_XB_GPIO(24)
 
#define BLADERF_XB_GPIO_25   BLADERF_XB_GPIO(25)
 
#define BLADERF_XB_GPIO_26   BLADERF_XB_GPIO(26)
 
#define BLADERF_XB_GPIO_27   BLADERF_XB_GPIO(27)
 
#define BLADERF_XB_GPIO_28   BLADERF_XB_GPIO(28)
 
#define BLADERF_XB_GPIO_29   BLADERF_XB_GPIO(29)
 
#define BLADERF_XB_GPIO_30   BLADERF_XB_GPIO(30)
 
#define BLADERF_XB_GPIO_31   BLADERF_XB_GPIO(31)
 
#define BLADERF_XB_GPIO_32   BLADERF_XB_GPIO(32)
 
#define BLADERF_XB200_PIN_J7_1   BLADERF_XB_GPIO_10
 
#define BLADERF_XB200_PIN_J7_2   BLADERF_XB_GPIO_11
 
#define BLADERF_XB200_PIN_J7_5   BLADERF_XB_GPIO_08
 
#define BLADERF_XB200_PIN_J7_6   BLADERF_XB_GPIO_09
 
#define BLADERF_XB200_PIN_J13_1   BLADERF_XB_GPIO_17
 
#define BLADERF_XB200_PIN_J13_2   BLADERF_XB_GPIO_18
 
#define BLADERF_XB200_PIN_J16_1   BLADERF_XB_GPIO_31
 
#define BLADERF_XB200_PIN_J16_2   BLADERF_XB_GPIO_32
 
#define BLADERF_XB200_PIN_J16_3   BLADERF_XB_GPIO_19
 
#define BLADERF_XB200_PIN_J16_4   BLADERF_XB_GPIO_20
 
#define BLADERF_XB200_PIN_J16_5   BLADERF_XB_GPIO_21
 
#define BLADERF_XB200_PIN_J16_6   BLADERF_XB_GPIO_24
 
#define BLADERF_XB100_PIN_J2_3   BLADERF_XB_GPIO_07
 
#define BLADERF_XB100_PIN_J2_4   BLADERF_XB_GPIO_08
 
#define BLADERF_XB100_PIN_J3_3   BLADERF_XB_GPIO_09
 
#define BLADERF_XB100_PIN_J3_4   BLADERF_XB_GPIO_10
 
#define BLADERF_XB100_PIN_J4_3   BLADERF_XB_GPIO_11
 
#define BLADERF_XB100_PIN_J4_4   BLADERF_XB_GPIO_12
 
#define BLADERF_XB100_PIN_J5_3   BLADERF_XB_GPIO_13
 
#define BLADERF_XB100_PIN_J5_4   BLADERF_XB_GPIO_14
 
#define BLADERF_XB100_PIN_J11_2   BLADERF_XB_GPIO_05
 
#define BLADERF_XB100_PIN_J11_3   BLADERF_XB_GPIO_04
 
#define BLADERF_XB100_PIN_J11_4   BLADERF_XB_GPIO_03
 
#define BLADERF_XB100_PIN_J11_5   BLADERF_XB_GPIO_06
 
#define BLADERF_XB100_PIN_J12_2   BLADERF_XB_GPIO_01
 
#define BLADERF_XB100_PIN_J12_5   BLADERF_XB_GPIO_02
 
#define BLADERF_XB100_LED_D1   BLADERF_XB_GPIO_24
 
#define BLADERF_XB100_LED_D2   BLADERF_XB_GPIO_32
 
#define BLADERF_XB100_LED_D3   BLADERF_XB_GPIO_30
 
#define BLADERF_XB100_LED_D4   BLADERF_XB_GPIO_28
 
#define BLADERF_XB100_LED_D5   BLADERF_XB_GPIO_23
 
#define BLADERF_XB100_LED_D6   BLADERF_XB_GPIO_25
 
#define BLADERF_XB100_LED_D7   BLADERF_XB_GPIO_31
 
#define BLADERF_XB100_LED_D8   BLADERF_XB_GPIO_29
 
#define BLADERF_XB100_TLED_RED   BLADERF_XB_GPIO_22
 
#define BLADERF_XB100_TLED_GREEN   BLADERF_XB_GPIO_21
 
#define BLADERF_XB100_TLED_BLUE   BLADERF_XB_GPIO_20
 
#define BLADERF_XB100_DIP_SW1   BLADERF_XB_GPIO_27
 
#define BLADERF_XB100_DIP_SW2   BLADERF_XB_GPIO_26
 
#define BLADERF_XB100_DIP_SW3   BLADERF_XB_GPIO_16
 
#define BLADERF_XB100_DIP_SW4   BLADERF_XB_GPIO_15
 
#define BLADERF_XB100_BTN_J6   BLADERF_XB_GPIO_19
 
#define BLADERF_XB100_BTN_J7   BLADERF_XB_GPIO_18
 
#define BLADERF_XB100_BTN_J8   BLADERF_XB_GPIO_17
 

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)
 

Macro Definition Documentation

◆ BLADERF_XB100_BTN_J6

#define BLADERF_XB100_BTN_J6   BLADERF_XB_GPIO_19

Bitmask for XB-100 button J6

Definition at line 889 of file bladeRF1.h.

◆ BLADERF_XB100_BTN_J7

#define BLADERF_XB100_BTN_J7   BLADERF_XB_GPIO_18

Bitmask for XB-100 button J7

Definition at line 892 of file bladeRF1.h.

◆ BLADERF_XB100_BTN_J8

#define BLADERF_XB100_BTN_J8   BLADERF_XB_GPIO_17

Bitmask for XB-100 button J8

Definition at line 895 of file bladeRF1.h.

◆ BLADERF_XB100_DIP_SW1

#define BLADERF_XB100_DIP_SW1   BLADERF_XB_GPIO_27

Bitmask for XB-100 DIP switch 1

Definition at line 877 of file bladeRF1.h.

◆ BLADERF_XB100_DIP_SW2

#define BLADERF_XB100_DIP_SW2   BLADERF_XB_GPIO_26

Bitmask for XB-100 DIP switch 2

Definition at line 880 of file bladeRF1.h.

◆ BLADERF_XB100_DIP_SW3

#define BLADERF_XB100_DIP_SW3   BLADERF_XB_GPIO_16

Bitmask for XB-100 DIP switch 3

Definition at line 883 of file bladeRF1.h.

◆ BLADERF_XB100_DIP_SW4

#define BLADERF_XB100_DIP_SW4   BLADERF_XB_GPIO_15

Bitmask for XB-100 DIP switch 4

Definition at line 886 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D1

#define BLADERF_XB100_LED_D1   BLADERF_XB_GPIO_24

Bitmask for XB-100 LED_D1 (blue)

Definition at line 844 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D2

#define BLADERF_XB100_LED_D2   BLADERF_XB_GPIO_32

Bitmask for XB-100 LED_D2 (blue)

Definition at line 847 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D3

#define BLADERF_XB100_LED_D3   BLADERF_XB_GPIO_30

Bitmask for XB-100 LED_D3 (blue)

Definition at line 850 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D4

#define BLADERF_XB100_LED_D4   BLADERF_XB_GPIO_28

Bitmask for XB-100 LED_D4 (red)

Definition at line 853 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D5

#define BLADERF_XB100_LED_D5   BLADERF_XB_GPIO_23

Bitmask for XB-100 LED_D5 (red)

Definition at line 856 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D6

#define BLADERF_XB100_LED_D6   BLADERF_XB_GPIO_25

Bitmask for XB-100 LED_D6 (red)

Definition at line 859 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D7

#define BLADERF_XB100_LED_D7   BLADERF_XB_GPIO_31

Bitmask for XB-100 LED_D7 (green)

Definition at line 862 of file bladeRF1.h.

◆ BLADERF_XB100_LED_D8

#define BLADERF_XB100_LED_D8   BLADERF_XB_GPIO_29

Bitmask for XB-100 LED_D8 (green)

Definition at line 865 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J11_2

#define BLADERF_XB100_PIN_J11_2   BLADERF_XB_GPIO_05

Bitmask for XB-100 header J11, pin 2

Definition at line 824 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J11_3

#define BLADERF_XB100_PIN_J11_3   BLADERF_XB_GPIO_04

Bitmask for XB-100 header J11, pin 3

Definition at line 827 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J11_4

#define BLADERF_XB100_PIN_J11_4   BLADERF_XB_GPIO_03

Bitmask for XB-100 header J11, pin 4

Definition at line 830 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J11_5

#define BLADERF_XB100_PIN_J11_5   BLADERF_XB_GPIO_06

Bitmask for XB-100 header J11, pin 5

Definition at line 833 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J12_2

#define BLADERF_XB100_PIN_J12_2   BLADERF_XB_GPIO_01

Bitmask for XB-100 header J12, pin 2

Definition at line 836 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J12_5

#define BLADERF_XB100_PIN_J12_5   BLADERF_XB_GPIO_02

Bitmask for XB-100 header J12, pin 5

Definition at line 841 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J2_3

#define BLADERF_XB100_PIN_J2_3   BLADERF_XB_GPIO_07

Bitmask for XB-100 header J2, pin 3

Definition at line 800 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J2_4

#define BLADERF_XB100_PIN_J2_4   BLADERF_XB_GPIO_08

Bitmask for XB-100 header J2, pin 4

Definition at line 803 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J3_3

#define BLADERF_XB100_PIN_J3_3   BLADERF_XB_GPIO_09

Bitmask for XB-100 header J3, pin 3

Definition at line 806 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J3_4

#define BLADERF_XB100_PIN_J3_4   BLADERF_XB_GPIO_10

Bitmask for XB-100 header J3, pin 4

Definition at line 809 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J4_3

#define BLADERF_XB100_PIN_J4_3   BLADERF_XB_GPIO_11

Bitmask for XB-100 header J4, pin 3

Definition at line 812 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J4_4

#define BLADERF_XB100_PIN_J4_4   BLADERF_XB_GPIO_12

Bitmask for XB-100 header J4, pin 4

Definition at line 815 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J5_3

#define BLADERF_XB100_PIN_J5_3   BLADERF_XB_GPIO_13

Bitmask for XB-100 header J5, pin 3

Definition at line 818 of file bladeRF1.h.

◆ BLADERF_XB100_PIN_J5_4

#define BLADERF_XB100_PIN_J5_4   BLADERF_XB_GPIO_14

Bitmask for XB-100 header J5, pin 4

Definition at line 821 of file bladeRF1.h.

◆ BLADERF_XB100_TLED_BLUE

#define BLADERF_XB100_TLED_BLUE   BLADERF_XB_GPIO_20

Bitmask for XB-100 tricolor LED, blue cathode

Definition at line 874 of file bladeRF1.h.

◆ BLADERF_XB100_TLED_GREEN

#define BLADERF_XB100_TLED_GREEN   BLADERF_XB_GPIO_21

Bitmask for XB-100 tricolor LED, green cathode

Definition at line 871 of file bladeRF1.h.

◆ BLADERF_XB100_TLED_RED

#define BLADERF_XB100_TLED_RED   BLADERF_XB_GPIO_22

Bitmask for XB-100 tricolor LED, red cathode

Definition at line 868 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J13_1

#define BLADERF_XB200_PIN_J13_1   BLADERF_XB_GPIO_17

Bitmask for XB-200 header J13, pin 1

Definition at line 774 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J13_2

#define BLADERF_XB200_PIN_J13_2   BLADERF_XB_GPIO_18

Bitmask for XB-200 header J13, pin 2

Definition at line 777 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_1

#define BLADERF_XB200_PIN_J16_1   BLADERF_XB_GPIO_31

Bitmask for XB-200 header J16, pin 1

Definition at line 782 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_2

#define BLADERF_XB200_PIN_J16_2   BLADERF_XB_GPIO_32

Bitmask for XB-200 header J16, pin 2

Definition at line 785 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_3

#define BLADERF_XB200_PIN_J16_3   BLADERF_XB_GPIO_19

Bitmask for XB-200 header J16, pin 3

Definition at line 788 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_4

#define BLADERF_XB200_PIN_J16_4   BLADERF_XB_GPIO_20

Bitmask for XB-200 header J16, pin 4

Definition at line 791 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_5

#define BLADERF_XB200_PIN_J16_5   BLADERF_XB_GPIO_21

Bitmask for XB-200 header J16, pin 5

Definition at line 794 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J16_6

#define BLADERF_XB200_PIN_J16_6   BLADERF_XB_GPIO_24

Bitmask for XB-200 header J16, pin 6

Definition at line 797 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J7_1

#define BLADERF_XB200_PIN_J7_1   BLADERF_XB_GPIO_10

Bitmask for XB-200 header J7, pin 1

Definition at line 762 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J7_2

#define BLADERF_XB200_PIN_J7_2   BLADERF_XB_GPIO_11

Bitmask for XB-200 header J7, pin 2

Definition at line 765 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J7_5

#define BLADERF_XB200_PIN_J7_5   BLADERF_XB_GPIO_08

Bitmask for XB-200 header J7, pin 5

Definition at line 768 of file bladeRF1.h.

◆ BLADERF_XB200_PIN_J7_6

#define BLADERF_XB200_PIN_J7_6   BLADERF_XB_GPIO_09

Bitmask for XB-200 header J7, pin 6

Definition at line 771 of file bladeRF1.h.

◆ BLADERF_XB_DIR_INPUT

#define BLADERF_XB_DIR_INPUT (   pin)    (0)

Specifies a pin to be an input

Definition at line 662 of file bladeRF1.h.

◆ BLADERF_XB_DIR_OUTPUT

#define BLADERF_XB_DIR_OUTPUT (   pin)    (pin)

Specifies a pin to be an output

Definition at line 659 of file bladeRF1.h.

◆ BLADERF_XB_GPIO

#define BLADERF_XB_GPIO (   n)    (1 << (n - 1))

Expansion pin GPIO number to bitmask

Definition at line 656 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_01

#define BLADERF_XB_GPIO_01   BLADERF_XB_GPIO(1)

Pin bitmask for Expansion GPIO 1 (U74 pin 11)

Definition at line 665 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_02

#define BLADERF_XB_GPIO_02   BLADERF_XB_GPIO(2)

Pin bitmask for Expansion GPIO 2 (U74 pin 13)

Definition at line 668 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_03

#define BLADERF_XB_GPIO_03   BLADERF_XB_GPIO(3)

Pin bitmask for Expansion GPIO 3 (U74 pin 17)

Definition at line 671 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_04

#define BLADERF_XB_GPIO_04   BLADERF_XB_GPIO(4)

Pin bitmask for Expansion GPIO 4 (U74 pin 19)

Definition at line 674 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_05

#define BLADERF_XB_GPIO_05   BLADERF_XB_GPIO(5)

Pin bitmask for Expansion GPIO 5 (U74 pin 23)

Definition at line 677 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_06

#define BLADERF_XB_GPIO_06   BLADERF_XB_GPIO(6)

Pin bitmask for Expansion GPIO 6 (U74 pin 25)

Definition at line 680 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_07

#define BLADERF_XB_GPIO_07   BLADERF_XB_GPIO(7)

Pin bitmask for Expansion GPIO 7 (U74 pin 29)

Definition at line 683 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_08

#define BLADERF_XB_GPIO_08   BLADERF_XB_GPIO(8)

Pin bitmask for Expansion GPIO 8 (U74 pin 31)

Definition at line 686 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_09

#define BLADERF_XB_GPIO_09   BLADERF_XB_GPIO(9)

Pin bitmask for Expansion GPIO 9 (U74 pin 35)

Definition at line 689 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_10

#define BLADERF_XB_GPIO_10   BLADERF_XB_GPIO(10)

Pin bitmask for Expansion GPIO 10 (U74 pin 37)

Definition at line 692 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_11

#define BLADERF_XB_GPIO_11   BLADERF_XB_GPIO(11)

Pin bitmask for Expansion GPIO 11 (U74 pin 41)

Definition at line 695 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_12

#define BLADERF_XB_GPIO_12   BLADERF_XB_GPIO(12)

Pin bitmask for Expansion GPIO 12 (U74 pin 43)

Definition at line 698 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_13

#define BLADERF_XB_GPIO_13   BLADERF_XB_GPIO(13)

Pin bitmask for Expansion GPIO 13 (U74 pin 47)

Definition at line 701 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_14

#define BLADERF_XB_GPIO_14   BLADERF_XB_GPIO(14)

Pin bitmask for Expansion GPIO 14 (U74 pin 49)

Definition at line 704 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_15

#define BLADERF_XB_GPIO_15   BLADERF_XB_GPIO(15)

Pin bitmask for Expansion GPIO 15 (U74 pin 53)

Definition at line 707 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_16

#define BLADERF_XB_GPIO_16   BLADERF_XB_GPIO(16)

Pin bitmask for Expansion GPIO 16 (U74 pin 55)

Definition at line 710 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_17

#define BLADERF_XB_GPIO_17   BLADERF_XB_GPIO(17)

Pin bitmask for Expansion GPIO 17 (U74 pin 12)

Definition at line 713 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_18

#define BLADERF_XB_GPIO_18   BLADERF_XB_GPIO(18)

Pin bitmask for Expansion GPIO 18 (U74 pin 14)

Definition at line 716 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_19

#define BLADERF_XB_GPIO_19   BLADERF_XB_GPIO(19)

Pin bitmask for Expansion GPIO 19 (U74 pin 18)

Definition at line 719 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_20

#define BLADERF_XB_GPIO_20   BLADERF_XB_GPIO(20)

Pin bitmask for Expansion GPIO 20 (U74 pin 20)

Definition at line 722 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_21

#define BLADERF_XB_GPIO_21   BLADERF_XB_GPIO(21)

Pin bitmask for Expansion GPIO 21 (U74 pin 24)

Definition at line 725 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_22

#define BLADERF_XB_GPIO_22   BLADERF_XB_GPIO(22)

Pin bitmask for Expansion GPIO 22 (U74 pin 26)

Definition at line 728 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_23

#define BLADERF_XB_GPIO_23   BLADERF_XB_GPIO(23)

Pin bitmask for Expansion GPIO 23 (U74 pin 30)

Definition at line 731 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_24

#define BLADERF_XB_GPIO_24   BLADERF_XB_GPIO(24)

Pin bitmask for Expansion GPIO 24 (U74 pin 32)

Definition at line 734 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_25

#define BLADERF_XB_GPIO_25   BLADERF_XB_GPIO(25)

Pin bitmask for Expansion GPIO 25 (U74 pin 36)

Definition at line 737 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_26

#define BLADERF_XB_GPIO_26   BLADERF_XB_GPIO(26)

Pin bitmask for Expansion GPIO 26 (U74 pin 38)

Definition at line 740 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_27

#define BLADERF_XB_GPIO_27   BLADERF_XB_GPIO(27)

Pin bitmask for Expansion GPIO 27 (U74 pin 42)

Definition at line 743 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_28

#define BLADERF_XB_GPIO_28   BLADERF_XB_GPIO(28)

Pin bitmask for Expansion GPIO 28 (U74 pin 44)

Definition at line 746 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_29

#define BLADERF_XB_GPIO_29   BLADERF_XB_GPIO(29)

Pin bitmask for Expansion GPIO 29 (U74 pin 48)

Definition at line 749 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_30

#define BLADERF_XB_GPIO_30   BLADERF_XB_GPIO(30)

Pin bitmask for Expansion GPIO 30 (U74 pin 50)

Definition at line 752 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_31

#define BLADERF_XB_GPIO_31   BLADERF_XB_GPIO(31)

Pin bitmask for Expansion GPIO 31 (U74 pin 54)

Definition at line 755 of file bladeRF1.h.

◆ BLADERF_XB_GPIO_32

#define BLADERF_XB_GPIO_32   BLADERF_XB_GPIO(32)

Pin bitmask for Expansion GPIO 32 (U74 pin 56)

Definition at line 758 of file bladeRF1.h.

Function Documentation

◆ bladerf_expansion_gpio_dir_masked_write()

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.

Parameters
devDevice handle
[in]maskBitmask of pins to configure
[in]outputsPins 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:

const uint32_t pins_to_config =
const uint32_t output_pins =
pins_to_config,
output_pins);
Returns
0 on success, value from Error codes list on failure

◆ bladerf_expansion_gpio_dir_read()

API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_read ( struct bladerf *  dev,
uint32_t *  outputs 
)

Read the expansion GPIO direction register

Parameters
devDevice handle
[out]outputsPins configured as outputs will be set to '1'. Pins configured as inputs will be set to '0'.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_expansion_gpio_dir_write()

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.

Parameters
devDevice handle
[in]outputsPins set to '1' will be configured as outputs. Pins set to '0' will be configured as inputs.
Returns
0 on success, value from Error codes list on failure

◆ bladerf_expansion_gpio_masked_write()

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.

Parameters
devDevice handle
[in]maskMask of pins to write
[in]valueValue to write.

For example, to set XB200 pins J16-1 and J16-2, and clear J16-4 and J16-5:

const uint32_t pins_to_write =
const uint32_t values_to_write =
pins_to_write,
values_to_write);
Returns
0 on success, value from Error codes list on failure

◆ bladerf_expansion_gpio_read()

API_EXPORT int CALL_CONV bladerf_expansion_gpio_read ( struct bladerf *  dev,
uint32_t *  val 
)

Read the state of expansion GPIO values

Parameters
devDevice handle
[out]valValue of GPIO pins
Returns
0 on success, value from Error codes list on failure

◆ bladerf_expansion_gpio_write()

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.

Parameters
devDevice handle
[in]valData to write to GPIO pins
Returns
0 on success, value from Error codes list on failure