PPIB HAL

group nrf_ppib_hal

Hardware access layer for managing the PPI Bridge (PPIB) peripheral.

Defines

NRF_PPIB_TASKS_SEND_COUNT

Number of send tasks.

NRF_PPIB_EVENTS_RECEIVE_COUNT

Number of receive events.

Enums

enum nrf_ppib_task_t

PPIB tasks.

Values:

enumerator NRF_PPIB_TASK_SEND_0

Send 0 task.

enumerator NRF_PPIB_TASK_SEND_1

Send 1 task.

enumerator NRF_PPIB_TASK_SEND_2

Send 2 task.

enumerator NRF_PPIB_TASK_SEND_3

Send 3 task.

enumerator NRF_PPIB_TASK_SEND_4

Send 4 task.

enumerator NRF_PPIB_TASK_SEND_5

Send 5 task.

enumerator NRF_PPIB_TASK_SEND_6

Send 6 task.

enumerator NRF_PPIB_TASK_SEND_7

Send 7 task.

enumerator NRF_PPIB_TASK_SEND_8

Send 8 task.

enumerator NRF_PPIB_TASK_SEND_9

Send 9 task.

enumerator NRF_PPIB_TASK_SEND_10

Send 10 task.

enumerator NRF_PPIB_TASK_SEND_11

Send 11 task.

enumerator NRF_PPIB_TASK_SEND_12

Send 12 task.

enumerator NRF_PPIB_TASK_SEND_13

Send 13 task.

enumerator NRF_PPIB_TASK_SEND_14

Send 14 task.

enumerator NRF_PPIB_TASK_SEND_15

Send 15 task.

enumerator NRF_PPIB_TASK_SEND_16

Send 16 task.

enumerator NRF_PPIB_TASK_SEND_17

Send 17 task.

enumerator NRF_PPIB_TASK_SEND_18

Send 18 task.

enumerator NRF_PPIB_TASK_SEND_19

Send 19 task.

enumerator NRF_PPIB_TASK_SEND_20

Send 20 task.

enumerator NRF_PPIB_TASK_SEND_21

Send 21 task.

enumerator NRF_PPIB_TASK_SEND_22

Send 22 task.

enumerator NRF_PPIB_TASK_SEND_23

Send 23 task.

enumerator NRF_PPIB_TASK_SEND_24

Send 24 task.

enumerator NRF_PPIB_TASK_SEND_25

Send 25 task.

enumerator NRF_PPIB_TASK_SEND_26

Send 26 task.

enumerator NRF_PPIB_TASK_SEND_27

Send 27 task.

enumerator NRF_PPIB_TASK_SEND_28

Send 28 task.

enumerator NRF_PPIB_TASK_SEND_29

Send 29 task.

enumerator NRF_PPIB_TASK_SEND_30

Send 30 task.

enumerator NRF_PPIB_TASK_SEND_31

Send 31 task.

enum nrf_ppib_event_t

PPIB events.

Values:

enumerator NRF_PPIB_EVENT_RECEIVE_0

Receive 0 event.

enumerator NRF_PPIB_EVENT_RECEIVE_1

Receive 1 event.

enumerator NRF_PPIB_EVENT_RECEIVE_2

Receive 2 event.

enumerator NRF_PPIB_EVENT_RECEIVE_3

Receive 3 event.

enumerator NRF_PPIB_EVENT_RECEIVE_4

Receive 4 event.

enumerator NRF_PPIB_EVENT_RECEIVE_5

Receive 5 event.

enumerator NRF_PPIB_EVENT_RECEIVE_6

Receive 6 event.

enumerator NRF_PPIB_EVENT_RECEIVE_7

Receive 7 event.

enumerator NRF_PPIB_EVENT_RECEIVE_8

Receive 8 event.

enumerator NRF_PPIB_EVENT_RECEIVE_9

Receive 9 event.

enumerator NRF_PPIB_EVENT_RECEIVE_10

Receive 10 event.

enumerator NRF_PPIB_EVENT_RECEIVE_11

Receive 11 event.

enumerator NRF_PPIB_EVENT_RECEIVE_12

Receive 12 event.

enumerator NRF_PPIB_EVENT_RECEIVE_13

Receive 13 event.

enumerator NRF_PPIB_EVENT_RECEIVE_14

Receive 14 event.

enumerator NRF_PPIB_EVENT_RECEIVE_15

Receive 15 event.

enumerator NRF_PPIB_EVENT_RECEIVE_16

Receive 16 event.

enumerator NRF_PPIB_EVENT_RECEIVE_17

Receive 17 event.

enumerator NRF_PPIB_EVENT_RECEIVE_18

Receive 18 event.

enumerator NRF_PPIB_EVENT_RECEIVE_19

Receive 19 event.

enumerator NRF_PPIB_EVENT_RECEIVE_20

Receive 20 event.

enumerator NRF_PPIB_EVENT_RECEIVE_21

Receive 21 event.

enumerator NRF_PPIB_EVENT_RECEIVE_22

Receive 22 event.

enumerator NRF_PPIB_EVENT_RECEIVE_23

Receive 23 event.

enumerator NRF_PPIB_EVENT_RECEIVE_24

Receive 24 event.

enumerator NRF_PPIB_EVENT_RECEIVE_25

Receive 25 event.

enumerator NRF_PPIB_EVENT_RECEIVE_26

Receive 26 event.

enumerator NRF_PPIB_EVENT_RECEIVE_27

Receive 27 event.

enumerator NRF_PPIB_EVENT_RECEIVE_28

Receive 28 event.

enumerator NRF_PPIB_EVENT_RECEIVE_29

Receive 29 event.

enumerator NRF_PPIB_EVENT_RECEIVE_30

Receive 30 event.

enumerator NRF_PPIB_EVENT_RECEIVE_31

Receive 31 event.

enum nrf_ppib_send_mask_t

Send task mask.

Values:

enumerator NRF_PPIB_SEND_0_MASK
enumerator NRF_PPIB_SEND_1_MASK
enumerator NRF_PPIB_SEND_2_MASK
enumerator NRF_PPIB_SEND_3_MASK
enumerator NRF_PPIB_SEND_4_MASK
enumerator NRF_PPIB_SEND_5_MASK
enumerator NRF_PPIB_SEND_6_MASK
enumerator NRF_PPIB_SEND_7_MASK
enumerator NRF_PPIB_SEND_8_MASK
enumerator NRF_PPIB_SEND_9_MASK
enumerator NRF_PPIB_SEND_10_MASK
enumerator NRF_PPIB_SEND_11_MASK
enumerator NRF_PPIB_SEND_12_MASK
enumerator NRF_PPIB_SEND_13_MASK
enumerator NRF_PPIB_SEND_14_MASK
enumerator NRF_PPIB_SEND_15_MASK
enumerator NRF_PPIB_SEND_16_MASK
enumerator NRF_PPIB_SEND_17_MASK
enumerator NRF_PPIB_SEND_18_MASK
enumerator NRF_PPIB_SEND_19_MASK
enumerator NRF_PPIB_SEND_20_MASK
enumerator NRF_PPIB_SEND_21_MASK
enumerator NRF_PPIB_SEND_22_MASK
enumerator NRF_PPIB_SEND_23_MASK
enumerator NRF_PPIB_SEND_24_MASK
enumerator NRF_PPIB_SEND_25_MASK
enumerator NRF_PPIB_SEND_26_MASK
enumerator NRF_PPIB_SEND_27_MASK
enumerator NRF_PPIB_SEND_28_MASK
enumerator NRF_PPIB_SEND_29_MASK
enumerator NRF_PPIB_SEND_30_MASK
enumerator NRF_PPIB_SEND_31_MASK

Functions

NRF_STATIC_INLINE nrf_ppib_task_t nrf_ppib_send_task_get(uint8_t index)

Function for returning the specified PPIB SEND task.

Parameters:
  • index[in] Task index.

Returns:

The specified PPIB SEND task.

NRF_STATIC_INLINE nrf_ppib_event_t nrf_ppib_receive_event_get(uint8_t index)

Function for returning the specified PPIB RECEIVE event.

Parameters:
  • index[in] Event index.

Returns:

The specified PPIB RECEIVE event.

NRF_STATIC_INLINE void nrf_ppib_subscribe_set(NRF_PPIB_Type *p_reg, nrf_ppib_task_t task, uint8_t channel)

Function for setting the subscribe configuration for a given task.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task for which to set the configuration.

  • channel[in] DPPI channel through which to subscribe events.

NRF_STATIC_INLINE void nrf_ppib_subscribe_clear(NRF_PPIB_Type *p_reg, nrf_ppib_task_t task)

Function for clearing the subscribe configuration for a given task.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • task[in] Task for which to clear the configuration.

NRF_STATIC_INLINE void nrf_ppib_publish_set(NRF_PPIB_Type *p_reg, nrf_ppib_event_t event, uint8_t channel)

Function for setting the publish configuration for a given event.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event for which to set the configuration.

  • channel[in] DPPI channel through which to publish the event.

NRF_STATIC_INLINE void nrf_ppib_publish_clear(NRF_PPIB_Type *p_reg, nrf_ppib_event_t event)

Function for clearing the publish configuration for a given event.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • event[in] Event for which to clear the configuration.

NRF_STATIC_INLINE uint32_t nrf_ppib_overflow_get_and_clear(NRF_PPIB_Type *p_reg)

Function for getting the task oveflow register for SEND tasks. Task overflow mask is cleared after reading.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

Returns:

Mask of SEND tasks overflow, constructed with nrf_ppib_send_mask_t.

NRF_STATIC_INLINE bool nrf_ppib_overflow_check(NRF_PPIB_Type const *p_reg, uint8_t index)

Function for retrieving the state of overflow for a given SEND task.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • index[in] SEND task index to be checked for overflow.

Return values:
  • true – The overflow has happened.

  • false – The overflow has not happened.