libbladeRF  1.7.2
Nuand bladeRF library
Macros | Functions
Expansion IO control

Description

These definitions and functions provide high-level functionality for manipulating pins on the bladeRF 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

#define BLADERF_XB100_BTN_J6   BLADERF_XB_GPIO_19

Bitmask for XB-100 button J6

Definition at line 2502 of file libbladeRF.h.

#define BLADERF_XB100_BTN_J7   BLADERF_XB_GPIO_18

Bitmask for XB-100 button J7

Definition at line 2505 of file libbladeRF.h.

#define BLADERF_XB100_BTN_J8   BLADERF_XB_GPIO_17

Bitmask for XB-100 button J8

Definition at line 2508 of file libbladeRF.h.

#define BLADERF_XB100_DIP_SW1   BLADERF_XB_GPIO_27

Bitmask for XB-100 DIP switch 1

Definition at line 2490 of file libbladeRF.h.

#define BLADERF_XB100_DIP_SW2   BLADERF_XB_GPIO_26

Bitmask for XB-100 DIP switch 2

Definition at line 2493 of file libbladeRF.h.

#define BLADERF_XB100_DIP_SW3   BLADERF_XB_GPIO_16

Bitmask for XB-100 DIP switch 3

Definition at line 2496 of file libbladeRF.h.

#define BLADERF_XB100_DIP_SW4   BLADERF_XB_GPIO_15

Bitmask for XB-100 DIP switch 4

Definition at line 2499 of file libbladeRF.h.

#define BLADERF_XB100_LED_D1   BLADERF_XB_GPIO_24

Bitmask for XB-100 LED_D1 (blue)

Definition at line 2457 of file libbladeRF.h.

#define BLADERF_XB100_LED_D2   BLADERF_XB_GPIO_32

Bitmask for XB-100 LED_D2 (blue)

Definition at line 2460 of file libbladeRF.h.

#define BLADERF_XB100_LED_D3   BLADERF_XB_GPIO_30

Bitmask for XB-100 LED_D3 (blue)

Definition at line 2463 of file libbladeRF.h.

#define BLADERF_XB100_LED_D4   BLADERF_XB_GPIO_28

Bitmask for XB-100 LED_D4 (red)

Definition at line 2466 of file libbladeRF.h.

#define BLADERF_XB100_LED_D5   BLADERF_XB_GPIO_23

Bitmask for XB-100 LED_D5 (red)

Definition at line 2469 of file libbladeRF.h.

#define BLADERF_XB100_LED_D6   BLADERF_XB_GPIO_25

Bitmask for XB-100 LED_D6 (red)

Definition at line 2472 of file libbladeRF.h.

#define BLADERF_XB100_LED_D7   BLADERF_XB_GPIO_31

Bitmask for XB-100 LED_D7 (green)

Definition at line 2475 of file libbladeRF.h.

#define BLADERF_XB100_LED_D8   BLADERF_XB_GPIO_29

Bitmask for XB-100 LED_D8 (green)

Definition at line 2478 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J11_2   BLADERF_XB_GPIO_05

Bitmask for XB-100 header J11, pin 2

Definition at line 2437 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J11_3   BLADERF_XB_GPIO_04

Bitmask for XB-100 header J11, pin 3

Definition at line 2440 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J11_4   BLADERF_XB_GPIO_03

Bitmask for XB-100 header J11, pin 4

Definition at line 2443 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J11_5   BLADERF_XB_GPIO_06

Bitmask for XB-100 header J11, pin 5

Definition at line 2446 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J12_2   BLADERF_XB_GPIO_01

Bitmask for XB-100 header J12, pin 2

Definition at line 2449 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J12_5   BLADERF_XB_GPIO_02

Bitmask for XB-100 header J12, pin 5

Definition at line 2454 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J2_3   BLADERF_XB_GPIO_07

Bitmask for XB-100 header J2, pin 3

Definition at line 2413 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J2_4   BLADERF_XB_GPIO_08

Bitmask for XB-100 header J2, pin 4

Definition at line 2416 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J3_3   BLADERF_XB_GPIO_09

Bitmask for XB-100 header J3, pin 3

Definition at line 2419 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J3_4   BLADERF_XB_GPIO_10

Bitmask for XB-100 header J3, pin 4

Definition at line 2422 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J4_3   BLADERF_XB_GPIO_11

Bitmask for XB-100 header J4, pin 3

Definition at line 2425 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J4_4   BLADERF_XB_GPIO_12

Bitmask for XB-100 header J4, pin 4

Definition at line 2428 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J5_3   BLADERF_XB_GPIO_13

Bitmask for XB-100 header J5, pin 3

Definition at line 2431 of file libbladeRF.h.

#define BLADERF_XB100_PIN_J5_4   BLADERF_XB_GPIO_14

Bitmask for XB-100 header J5, pin 4

Definition at line 2434 of file libbladeRF.h.

#define BLADERF_XB100_TLED_BLUE   BLADERF_XB_GPIO_20

Bitmask for XB-100 tricolor LED, blue cathode

Definition at line 2487 of file libbladeRF.h.

#define BLADERF_XB100_TLED_GREEN   BLADERF_XB_GPIO_21

Bitmask for XB-100 tricolor LED, green cathode

Definition at line 2484 of file libbladeRF.h.

#define BLADERF_XB100_TLED_RED   BLADERF_XB_GPIO_22

Bitmask for XB-100 tricolor LED, red cathode

Definition at line 2481 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J13_1   BLADERF_XB_GPIO_17

Bitmask for XB-200 header J13, pin 1

Definition at line 2387 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J13_2   BLADERF_XB_GPIO_18

Bitmask for XB-200 header J13, pin 2

Definition at line 2390 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_1   BLADERF_XB_GPIO_31

Bitmask for XB-200 header J16, pin 1

Definition at line 2395 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_2   BLADERF_XB_GPIO_32

Bitmask for XB-200 header J16, pin 2

Definition at line 2398 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_3   BLADERF_XB_GPIO_19

Bitmask for XB-200 header J16, pin 3

Definition at line 2401 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_4   BLADERF_XB_GPIO_20

Bitmask for XB-200 header J16, pin 4

Definition at line 2404 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_5   BLADERF_XB_GPIO_21

Bitmask for XB-200 header J16, pin 5

Definition at line 2407 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J16_6   BLADERF_XB_GPIO_24

Bitmask for XB-200 header J16, pin 6

Definition at line 2410 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J7_1   BLADERF_XB_GPIO_10

Bitmask for XB-200 header J7, pin 1

Definition at line 2375 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J7_2   BLADERF_XB_GPIO_11

Bitmask for XB-200 header J7, pin 2

Definition at line 2378 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J7_5   BLADERF_XB_GPIO_08

Bitmask for XB-200 header J7, pin 5

Definition at line 2381 of file libbladeRF.h.

#define BLADERF_XB200_PIN_J7_6   BLADERF_XB_GPIO_09

Bitmask for XB-200 header J7, pin 6

Definition at line 2384 of file libbladeRF.h.

#define BLADERF_XB_DIR_INPUT (   pin)    (0)

Specifies a pin to be an input

Definition at line 2275 of file libbladeRF.h.

#define BLADERF_XB_DIR_OUTPUT (   pin)    (pin)

Specifies a pin to be an output

Definition at line 2272 of file libbladeRF.h.

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

Expansion pin GPIO number to bitmask

Definition at line 2269 of file libbladeRF.h.

#define BLADERF_XB_GPIO_01   BLADERF_XB_GPIO(1)

Pin bitmask for Expansion GPIO 1 (U74 pin 11)

Definition at line 2278 of file libbladeRF.h.

#define BLADERF_XB_GPIO_02   BLADERF_XB_GPIO(2)

Pin bitmask for Expansion GPIO 2 (U74 pin 13)

Definition at line 2281 of file libbladeRF.h.

#define BLADERF_XB_GPIO_03   BLADERF_XB_GPIO(3)

Pin bitmask for Expansion GPIO 3 (U74 pin 17)

Definition at line 2284 of file libbladeRF.h.

#define BLADERF_XB_GPIO_04   BLADERF_XB_GPIO(4)

Pin bitmask for Expansion GPIO 4 (U74 pin 19)

Definition at line 2287 of file libbladeRF.h.

#define BLADERF_XB_GPIO_05   BLADERF_XB_GPIO(5)

Pin bitmask for Expansion GPIO 5 (U74 pin 23)

Definition at line 2290 of file libbladeRF.h.

#define BLADERF_XB_GPIO_06   BLADERF_XB_GPIO(6)

Pin bitmask for Expansion GPIO 6 (U74 pin 25)

Definition at line 2293 of file libbladeRF.h.

#define BLADERF_XB_GPIO_07   BLADERF_XB_GPIO(7)

Pin bitmask for Expansion GPIO 7 (U74 pin 29)

Definition at line 2296 of file libbladeRF.h.

#define BLADERF_XB_GPIO_08   BLADERF_XB_GPIO(8)

Pin bitmask for Expansion GPIO 8 (U74 pin 31)

Definition at line 2299 of file libbladeRF.h.

#define BLADERF_XB_GPIO_09   BLADERF_XB_GPIO(9)

Pin bitmask for Expansion GPIO 9 (U74 pin 35)

Definition at line 2302 of file libbladeRF.h.

#define BLADERF_XB_GPIO_10   BLADERF_XB_GPIO(10)

Pin bitmask for Expansion GPIO 10 (U74 pin 37)

Definition at line 2305 of file libbladeRF.h.

#define BLADERF_XB_GPIO_11   BLADERF_XB_GPIO(11)

Pin bitmask for Expansion GPIO 11 (U74 pin 41)

Definition at line 2308 of file libbladeRF.h.

#define BLADERF_XB_GPIO_12   BLADERF_XB_GPIO(12)

Pin bitmask for Expansion GPIO 12 (U74 pin 43)

Definition at line 2311 of file libbladeRF.h.

#define BLADERF_XB_GPIO_13   BLADERF_XB_GPIO(13)

Pin bitmask for Expansion GPIO 13 (U74 pin 47)

Definition at line 2314 of file libbladeRF.h.

#define BLADERF_XB_GPIO_14   BLADERF_XB_GPIO(14)

Pin bitmask for Expansion GPIO 14 (U74 pin 49)

Definition at line 2317 of file libbladeRF.h.

#define BLADERF_XB_GPIO_15   BLADERF_XB_GPIO(15)

Pin bitmask for Expansion GPIO 15 (U74 pin 53)

Definition at line 2320 of file libbladeRF.h.

#define BLADERF_XB_GPIO_16   BLADERF_XB_GPIO(16)

Pin bitmask for Expansion GPIO 16 (U74 pin 55)

Definition at line 2323 of file libbladeRF.h.

#define BLADERF_XB_GPIO_17   BLADERF_XB_GPIO(17)

Pin bitmask for Expansion GPIO 17 (U74 pin 12)

Definition at line 2326 of file libbladeRF.h.

#define BLADERF_XB_GPIO_18   BLADERF_XB_GPIO(18)

Pin bitmask for Expansion GPIO 18 (U74 pin 14)

Definition at line 2329 of file libbladeRF.h.

#define BLADERF_XB_GPIO_19   BLADERF_XB_GPIO(19)

Pin bitmask for Expansion GPIO 19 (U74 pin 18)

Definition at line 2332 of file libbladeRF.h.

#define BLADERF_XB_GPIO_20   BLADERF_XB_GPIO(20)

Pin bitmask for Expansion GPIO 20 (U74 pin 20)

Definition at line 2335 of file libbladeRF.h.

#define BLADERF_XB_GPIO_21   BLADERF_XB_GPIO(21)

Pin bitmask for Expansion GPIO 21 (U74 pin 24)

Definition at line 2338 of file libbladeRF.h.

#define BLADERF_XB_GPIO_22   BLADERF_XB_GPIO(22)

Pin bitmask for Expansion GPIO 22 (U74 pin 26)

Definition at line 2341 of file libbladeRF.h.

#define BLADERF_XB_GPIO_23   BLADERF_XB_GPIO(23)

Pin bitmask for Expansion GPIO 23 (U74 pin 30)

Definition at line 2344 of file libbladeRF.h.

#define BLADERF_XB_GPIO_24   BLADERF_XB_GPIO(24)

Pin bitmask for Expansion GPIO 24 (U74 pin 32)

Definition at line 2347 of file libbladeRF.h.

#define BLADERF_XB_GPIO_25   BLADERF_XB_GPIO(25)

Pin bitmask for Expansion GPIO 25 (U74 pin 36)

Definition at line 2350 of file libbladeRF.h.

#define BLADERF_XB_GPIO_26   BLADERF_XB_GPIO(26)

Pin bitmask for Expansion GPIO 26 (U74 pin 38)

Definition at line 2353 of file libbladeRF.h.

#define BLADERF_XB_GPIO_27   BLADERF_XB_GPIO(27)

Pin bitmask for Expansion GPIO 27 (U74 pin 42)

Definition at line 2356 of file libbladeRF.h.

#define BLADERF_XB_GPIO_28   BLADERF_XB_GPIO(28)

Pin bitmask for Expansion GPIO 28 (U74 pin 44)

Definition at line 2359 of file libbladeRF.h.

#define BLADERF_XB_GPIO_29   BLADERF_XB_GPIO(29)

Pin bitmask for Expansion GPIO 29 (U74 pin 48)

Definition at line 2362 of file libbladeRF.h.

#define BLADERF_XB_GPIO_30   BLADERF_XB_GPIO(30)

Pin bitmask for Expansion GPIO 30 (U74 pin 50)

Definition at line 2365 of file libbladeRF.h.

#define BLADERF_XB_GPIO_31   BLADERF_XB_GPIO(31)

Pin bitmask for Expansion GPIO 31 (U74 pin 54)

Definition at line 2368 of file libbladeRF.h.

#define BLADERF_XB_GPIO_32   BLADERF_XB_GPIO(32)

Pin bitmask for Expansion GPIO 32 (U74 pin 56)

Definition at line 2371 of file libbladeRF.h.

Function Documentation

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
maskBitmask of pins to configure
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
API_EXPORT int CALL_CONV bladerf_expansion_gpio_dir_read ( struct bladerf *  dev,
uint32_t *  outputs 
)

Read the expansion GPIO direction register

Parameters
[in]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
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
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
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
maskMask of pins to write
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
API_EXPORT int CALL_CONV bladerf_expansion_gpio_read ( struct bladerf *  dev,
uint32_t *  val 
)

Read the state of expansion GPIO values

Parameters
[in]devDevice handle
[out]valValue of GPIO pins
Returns
0 on success, value from Error codes list on failure
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
valData to write to GPIO pins.
Returns
0 on success, value from Error codes list on failure