nrfx 4.5.0
Loading...
Searching...
No Matches
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])
}
 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])
}
 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
}
 Send task mask.
 

Functions

NRF_STATIC_INLINE uint8_t nrf_ppib_channel_number_get (NRF_PPIB_Type const *p_reg)
 Function for getting the total number of available channels for the given PPIB instance.
 
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 uint32_t nrf_ppib_task_address_get (NRF_PPIB_Type const *p_reg, nrf_ppib_task_t task)
 Function for getting the address of the specified PPIB 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 uint32_t nrf_ppib_event_address_get (NRF_PPIB_Type const *p_reg, nrf_ppib_event_t event)
 Function for getting the address of the specified PPIB 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 uint32_t nrf_ppib_subscribe_get (NRF_PPIB_Type const *p_reg, nrf_ppib_task_t task)
 Function for getting the subscribe configuration for a given PPIB 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_publish_get (NRF_PPIB_Type const *p_reg, nrf_ppib_event_t event)
 Function for getting the publish configuration for a given PPIB 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_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.

Function Documentation

◆ nrf_ppib_channel_number_get()

NRF_STATIC_INLINE uint8_t nrf_ppib_channel_number_get ( NRF_PPIB_Type const * p_reg)

Function for getting the total number of available channels for the given PPIB instance.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
Returns
Number of available channels.

◆ nrf_ppib_event_address_get()

NRF_STATIC_INLINE uint32_t nrf_ppib_event_address_get ( NRF_PPIB_Type const * p_reg,
nrf_ppib_event_t event )

Function for getting the address of the specified PPIB event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent.
Returns
Address of the specified event.

◆ 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_get()

NRF_STATIC_INLINE uint32_t nrf_ppib_publish_get ( NRF_PPIB_Type const * p_reg,
nrf_ppib_event_t event )

Function for getting the publish configuration for a given PPIB event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent for which to read the configuration.
Returns
PPIB publish 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]channelPPIB 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_get()

NRF_STATIC_INLINE uint32_t nrf_ppib_subscribe_get ( NRF_PPIB_Type const * p_reg,
nrf_ppib_task_t task )

Function for getting the subscribe configuration for a given PPIB task.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask for which to read the configuration.
Returns
PPIB subscribe 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]channelPPIB channel through which to subscribe events.

◆ nrf_ppib_task_address_get()

NRF_STATIC_INLINE uint32_t nrf_ppib_task_address_get ( NRF_PPIB_Type const * p_reg,
nrf_ppib_task_t task )

Function for getting the address of the specified PPIB task.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]taskTask.
Returns
Address of the specified task.