nrfx 3.3
Macros | Enumerations | Functions
PPIB HAL

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

Macros

#define NRF_PPIB_TASKS_SEND_COUNT   PPIB_TASKS_SEND_MaxCount
 Number of send tasks.
 
#define NRF_PPIB_EVENTS_RECEIVE_COUNT   PPIB_EVENTS_RECEIVE_MaxCount
 Number of receive events.
 

Enumerations

enum  nrf_ppib_task_t {
  NRF_PPIB_TASK_SEND_0 = offsetof(NRF_PPIB_Type, TASKS_SEND[0]) ,
  NRF_PPIB_TASK_SEND_1 = offsetof(NRF_PPIB_Type, TASKS_SEND[1]) ,
  NRF_PPIB_TASK_SEND_2 = offsetof(NRF_PPIB_Type, TASKS_SEND[2]) ,
  NRF_PPIB_TASK_SEND_3 = offsetof(NRF_PPIB_Type, TASKS_SEND[3]) ,
  NRF_PPIB_TASK_SEND_4 = offsetof(NRF_PPIB_Type, TASKS_SEND[4]) ,
  NRF_PPIB_TASK_SEND_5 = offsetof(NRF_PPIB_Type, TASKS_SEND[5]) ,
  NRF_PPIB_TASK_SEND_6 = offsetof(NRF_PPIB_Type, TASKS_SEND[6]) ,
  NRF_PPIB_TASK_SEND_7 = offsetof(NRF_PPIB_Type, TASKS_SEND[7]) ,
  NRF_PPIB_TASK_SEND_8 = offsetof(NRF_PPIB_Type, TASKS_SEND[8]) ,
  NRF_PPIB_TASK_SEND_9 = offsetof(NRF_PPIB_Type, TASKS_SEND[9]) ,
  NRF_PPIB_TASK_SEND_10 = offsetof(NRF_PPIB_Type, TASKS_SEND[10]) ,
  NRF_PPIB_TASK_SEND_11 = offsetof(NRF_PPIB_Type, TASKS_SEND[11]) ,
  NRF_PPIB_TASK_SEND_12 = offsetof(NRF_PPIB_Type, TASKS_SEND[12]) ,
  NRF_PPIB_TASK_SEND_13 = offsetof(NRF_PPIB_Type, TASKS_SEND[13]) ,
  NRF_PPIB_TASK_SEND_14 = offsetof(NRF_PPIB_Type, TASKS_SEND[14]) ,
  NRF_PPIB_TASK_SEND_15 = offsetof(NRF_PPIB_Type, TASKS_SEND[15]) ,
  NRF_PPIB_TASK_SEND_16 = offsetof(NRF_PPIB_Type, TASKS_SEND[16]) ,
  NRF_PPIB_TASK_SEND_17 = offsetof(NRF_PPIB_Type, TASKS_SEND[17]) ,
  NRF_PPIB_TASK_SEND_18 = offsetof(NRF_PPIB_Type, TASKS_SEND[18]) ,
  NRF_PPIB_TASK_SEND_19 = offsetof(NRF_PPIB_Type, TASKS_SEND[19]) ,
  NRF_PPIB_TASK_SEND_20 = offsetof(NRF_PPIB_Type, TASKS_SEND[20]) ,
  NRF_PPIB_TASK_SEND_21 = offsetof(NRF_PPIB_Type, TASKS_SEND[21]) ,
  NRF_PPIB_TASK_SEND_22 = offsetof(NRF_PPIB_Type, TASKS_SEND[22]) ,
  NRF_PPIB_TASK_SEND_23 = offsetof(NRF_PPIB_Type, TASKS_SEND[23]) ,
  NRF_PPIB_TASK_SEND_24 = offsetof(NRF_PPIB_Type, TASKS_SEND[24]) ,
  NRF_PPIB_TASK_SEND_25 = offsetof(NRF_PPIB_Type, TASKS_SEND[25]) ,
  NRF_PPIB_TASK_SEND_26 = offsetof(NRF_PPIB_Type, TASKS_SEND[26]) ,
  NRF_PPIB_TASK_SEND_27 = offsetof(NRF_PPIB_Type, TASKS_SEND[27]) ,
  NRF_PPIB_TASK_SEND_28 = offsetof(NRF_PPIB_Type, TASKS_SEND[28]) ,
  NRF_PPIB_TASK_SEND_29 = offsetof(NRF_PPIB_Type, TASKS_SEND[29]) ,
  NRF_PPIB_TASK_SEND_30 = offsetof(NRF_PPIB_Type, TASKS_SEND[30]) ,
  NRF_PPIB_TASK_SEND_31 = offsetof(NRF_PPIB_Type, TASKS_SEND[31])
}
 PPIB tasks. More...
 
enum  nrf_ppib_event_t {
  NRF_PPIB_EVENT_RECEIVE_0 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[0]) ,
  NRF_PPIB_EVENT_RECEIVE_1 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[1]) ,
  NRF_PPIB_EVENT_RECEIVE_2 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[2]) ,
  NRF_PPIB_EVENT_RECEIVE_3 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[3]) ,
  NRF_PPIB_EVENT_RECEIVE_4 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[4]) ,
  NRF_PPIB_EVENT_RECEIVE_5 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[5]) ,
  NRF_PPIB_EVENT_RECEIVE_6 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[6]) ,
  NRF_PPIB_EVENT_RECEIVE_7 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[7]) ,
  NRF_PPIB_EVENT_RECEIVE_8 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[8]) ,
  NRF_PPIB_EVENT_RECEIVE_9 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[9]) ,
  NRF_PPIB_EVENT_RECEIVE_10 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[10]) ,
  NRF_PPIB_EVENT_RECEIVE_11 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[11]) ,
  NRF_PPIB_EVENT_RECEIVE_12 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[12]) ,
  NRF_PPIB_EVENT_RECEIVE_13 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[13]) ,
  NRF_PPIB_EVENT_RECEIVE_14 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[14]) ,
  NRF_PPIB_EVENT_RECEIVE_15 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[15]) ,
  NRF_PPIB_EVENT_RECEIVE_16 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[16]) ,
  NRF_PPIB_EVENT_RECEIVE_17 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[17]) ,
  NRF_PPIB_EVENT_RECEIVE_18 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[18]) ,
  NRF_PPIB_EVENT_RECEIVE_19 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[19]) ,
  NRF_PPIB_EVENT_RECEIVE_20 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[20]) ,
  NRF_PPIB_EVENT_RECEIVE_21 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[21]) ,
  NRF_PPIB_EVENT_RECEIVE_22 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[22]) ,
  NRF_PPIB_EVENT_RECEIVE_23 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[23]) ,
  NRF_PPIB_EVENT_RECEIVE_24 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[24]) ,
  NRF_PPIB_EVENT_RECEIVE_25 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[25]) ,
  NRF_PPIB_EVENT_RECEIVE_26 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[26]) ,
  NRF_PPIB_EVENT_RECEIVE_27 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[27]) ,
  NRF_PPIB_EVENT_RECEIVE_28 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[28]) ,
  NRF_PPIB_EVENT_RECEIVE_29 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[29]) ,
  NRF_PPIB_EVENT_RECEIVE_30 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[30]) ,
  NRF_PPIB_EVENT_RECEIVE_31 = offsetof(NRF_PPIB_Type, EVENTS_RECEIVE[31])
}
 PPIB events. More...
 
enum  nrf_ppib_send_mask_t {
  NRF_PPIB_SEND_0_MASK = PPIB_OVERFLOW_SEND_SEND0_Msk ,
  NRF_PPIB_SEND_1_MASK = PPIB_OVERFLOW_SEND_SEND1_Msk ,
  NRF_PPIB_SEND_2_MASK = PPIB_OVERFLOW_SEND_SEND2_Msk ,
  NRF_PPIB_SEND_3_MASK = PPIB_OVERFLOW_SEND_SEND3_Msk ,
  NRF_PPIB_SEND_4_MASK = PPIB_OVERFLOW_SEND_SEND4_Msk ,
  NRF_PPIB_SEND_5_MASK = PPIB_OVERFLOW_SEND_SEND5_Msk ,
  NRF_PPIB_SEND_6_MASK = PPIB_OVERFLOW_SEND_SEND6_Msk ,
  NRF_PPIB_SEND_7_MASK = PPIB_OVERFLOW_SEND_SEND7_Msk ,
  NRF_PPIB_SEND_8_MASK = PPIB_OVERFLOW_SEND_SEND8_Msk ,
  NRF_PPIB_SEND_9_MASK = PPIB_OVERFLOW_SEND_SEND9_Msk ,
  NRF_PPIB_SEND_10_MASK = PPIB_OVERFLOW_SEND_SEND10_Msk ,
  NRF_PPIB_SEND_11_MASK = PPIB_OVERFLOW_SEND_SEND11_Msk ,
  NRF_PPIB_SEND_12_MASK = PPIB_OVERFLOW_SEND_SEND12_Msk ,
  NRF_PPIB_SEND_13_MASK = PPIB_OVERFLOW_SEND_SEND13_Msk ,
  NRF_PPIB_SEND_14_MASK = PPIB_OVERFLOW_SEND_SEND14_Msk ,
  NRF_PPIB_SEND_15_MASK = PPIB_OVERFLOW_SEND_SEND15_Msk ,
  NRF_PPIB_SEND_16_MASK = PPIB_OVERFLOW_SEND_SEND16_Msk ,
  NRF_PPIB_SEND_17_MASK = PPIB_OVERFLOW_SEND_SEND17_Msk ,
  NRF_PPIB_SEND_18_MASK = PPIB_OVERFLOW_SEND_SEND18_Msk ,
  NRF_PPIB_SEND_19_MASK = PPIB_OVERFLOW_SEND_SEND19_Msk ,
  NRF_PPIB_SEND_20_MASK = PPIB_OVERFLOW_SEND_SEND20_Msk ,
  NRF_PPIB_SEND_21_MASK = PPIB_OVERFLOW_SEND_SEND21_Msk ,
  NRF_PPIB_SEND_22_MASK = PPIB_OVERFLOW_SEND_SEND22_Msk ,
  NRF_PPIB_SEND_23_MASK = PPIB_OVERFLOW_SEND_SEND23_Msk ,
  NRF_PPIB_SEND_24_MASK = PPIB_OVERFLOW_SEND_SEND24_Msk ,
  NRF_PPIB_SEND_25_MASK = PPIB_OVERFLOW_SEND_SEND25_Msk ,
  NRF_PPIB_SEND_26_MASK = PPIB_OVERFLOW_SEND_SEND26_Msk ,
  NRF_PPIB_SEND_27_MASK = PPIB_OVERFLOW_SEND_SEND27_Msk ,
  NRF_PPIB_SEND_28_MASK = PPIB_OVERFLOW_SEND_SEND28_Msk ,
  NRF_PPIB_SEND_29_MASK = PPIB_OVERFLOW_SEND_SEND29_Msk ,
  NRF_PPIB_SEND_30_MASK = PPIB_OVERFLOW_SEND_SEND30_Msk ,
  NRF_PPIB_SEND_31_MASK = PPIB_OVERFLOW_SEND_SEND31_Msk
}
 Send task 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.
 
NRF_STATIC_INLINE nrf_ppib_event_t nrf_ppib_receive_event_get (uint8_t index)
 Function for returning 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 

Detailed Description

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

Enumeration Type Documentation

◆ nrf_ppib_event_t

PPIB events.

Enumerator
NRF_PPIB_EVENT_RECEIVE_0 

Receive 0 event.

NRF_PPIB_EVENT_RECEIVE_1 

Receive 1 event.

NRF_PPIB_EVENT_RECEIVE_2 

Receive 2 event.

NRF_PPIB_EVENT_RECEIVE_3 

Receive 3 event.

NRF_PPIB_EVENT_RECEIVE_4 

Receive 4 event.

NRF_PPIB_EVENT_RECEIVE_5 

Receive 5 event.

NRF_PPIB_EVENT_RECEIVE_6 

Receive 6 event.

NRF_PPIB_EVENT_RECEIVE_7 

Receive 7 event.

NRF_PPIB_EVENT_RECEIVE_8 

Receive 8 event.

NRF_PPIB_EVENT_RECEIVE_9 

Receive 9 event.

NRF_PPIB_EVENT_RECEIVE_10 

Receive 10 event.

NRF_PPIB_EVENT_RECEIVE_11 

Receive 11 event.

NRF_PPIB_EVENT_RECEIVE_12 

Receive 12 event.

NRF_PPIB_EVENT_RECEIVE_13 

Receive 13 event.

NRF_PPIB_EVENT_RECEIVE_14 

Receive 14 event.

NRF_PPIB_EVENT_RECEIVE_15 

Receive 15 event.

NRF_PPIB_EVENT_RECEIVE_16 

Receive 16 event.

NRF_PPIB_EVENT_RECEIVE_17 

Receive 17 event.

NRF_PPIB_EVENT_RECEIVE_18 

Receive 18 event.

NRF_PPIB_EVENT_RECEIVE_19 

Receive 19 event.

NRF_PPIB_EVENT_RECEIVE_20 

Receive 20 event.

NRF_PPIB_EVENT_RECEIVE_21 

Receive 21 event.

NRF_PPIB_EVENT_RECEIVE_22 

Receive 22 event.

NRF_PPIB_EVENT_RECEIVE_23 

Receive 23 event.

NRF_PPIB_EVENT_RECEIVE_24 

Receive 24 event.

NRF_PPIB_EVENT_RECEIVE_25 

Receive 25 event.

NRF_PPIB_EVENT_RECEIVE_26 

Receive 26 event.

NRF_PPIB_EVENT_RECEIVE_27 

Receive 27 event.

NRF_PPIB_EVENT_RECEIVE_28 

Receive 28 event.

NRF_PPIB_EVENT_RECEIVE_29 

Receive 29 event.

NRF_PPIB_EVENT_RECEIVE_30 

Receive 30 event.

NRF_PPIB_EVENT_RECEIVE_31 

Receive 31 event.

◆ nrf_ppib_task_t

PPIB tasks.

Enumerator
NRF_PPIB_TASK_SEND_0 

Send 0 task.

NRF_PPIB_TASK_SEND_1 

Send 1 task.

NRF_PPIB_TASK_SEND_2 

Send 2 task.

NRF_PPIB_TASK_SEND_3 

Send 3 task.

NRF_PPIB_TASK_SEND_4 

Send 4 task.

NRF_PPIB_TASK_SEND_5 

Send 5 task.

NRF_PPIB_TASK_SEND_6 

Send 6 task.

NRF_PPIB_TASK_SEND_7 

Send 7 task.

NRF_PPIB_TASK_SEND_8 

Send 8 task.

NRF_PPIB_TASK_SEND_9 

Send 9 task.

NRF_PPIB_TASK_SEND_10 

Send 10 task.

NRF_PPIB_TASK_SEND_11 

Send 11 task.

NRF_PPIB_TASK_SEND_12 

Send 12 task.

NRF_PPIB_TASK_SEND_13 

Send 13 task.

NRF_PPIB_TASK_SEND_14 

Send 14 task.

NRF_PPIB_TASK_SEND_15 

Send 15 task.

NRF_PPIB_TASK_SEND_16 

Send 16 task.

NRF_PPIB_TASK_SEND_17 

Send 17 task.

NRF_PPIB_TASK_SEND_18 

Send 18 task.

NRF_PPIB_TASK_SEND_19 

Send 19 task.

NRF_PPIB_TASK_SEND_20 

Send 20 task.

NRF_PPIB_TASK_SEND_21 

Send 21 task.

NRF_PPIB_TASK_SEND_22 

Send 22 task.

NRF_PPIB_TASK_SEND_23 

Send 23 task.

NRF_PPIB_TASK_SEND_24 

Send 24 task.

NRF_PPIB_TASK_SEND_25 

Send 25 task.

NRF_PPIB_TASK_SEND_26 

Send 26 task.

NRF_PPIB_TASK_SEND_27 

Send 27 task.

NRF_PPIB_TASK_SEND_28 

Send 28 task.

NRF_PPIB_TASK_SEND_29 

Send 29 task.

NRF_PPIB_TASK_SEND_30 

Send 30 task.

NRF_PPIB_TASK_SEND_31 

Send 31 task.

Function Documentation

◆ nrf_ppib_overflow_check()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]indexSEND task index to be checked for overflow.
Return values
trueThe overflow has happened.
falseThe overflow has not happened.

◆ nrf_ppib_overflow_get_and_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Mask of SEND tasks overflow, constructed with nrf_ppib_send_mask_t.

◆ nrf_ppib_publish_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to clear the configuration.

◆ nrf_ppib_publish_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to set the configuration.
[in]channelDPPI channel through which to publish the event.

◆ nrf_ppib_receive_event_get()

NRF_STATIC_INLINE nrf_ppib_event_t nrf_ppib_receive_event_get ( uint8_t  index)

Function for returning the specified PPIB RECEIVE event.

Parameters
[in]indexEvent index.
Returns
The specified PPIB RECEIVE event.

◆ nrf_ppib_send_task_get()

NRF_STATIC_INLINE nrf_ppib_task_t nrf_ppib_send_task_get ( uint8_t  index)

Function for returning the specified PPIB SEND task.

Parameters
[in]indexTask index.
Returns
The specified PPIB SEND task.

◆ nrf_ppib_subscribe_clear()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to clear the configuration.

◆ nrf_ppib_subscribe_set()

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
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to set the configuration.
[in]channelDPPI channel through which to subscribe events.

Documentation feedback | Developer Zone | Subscribe | Updated