DPPI Controller HAL

nRF5 SDK v15.3.0

Hardware access layer for managing the Distributed Programmable Peripheral Interconnect Controller (DPPIC). More...

Enumerations

enum nrf_dppi_channel_group_t {
NRF_DPPI_CHANNEL_GROUP0 = 0,
NRF_DPPI_CHANNEL_GROUP1 = 1,
NRF_DPPI_CHANNEL_GROUP2 = 2,
NRF_DPPI_CHANNEL_GROUP3 = 3,
NRF_DPPI_CHANNEL_GROUP4 = 4,
NRF_DPPI_CHANNEL_GROUP5 = 5
}
DPPI channel groups. More...
enum nrf_dppi_task_t {
NRF_DPPI_TASK_CHG0_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[0].EN),
NRF_DPPI_TASK_CHG0_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[0].DIS),
NRF_DPPI_TASK_CHG1_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[1].EN),
NRF_DPPI_TASK_CHG1_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[1].DIS),
NRF_DPPI_TASK_CHG2_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[2].EN),
NRF_DPPI_TASK_CHG2_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[2].DIS),
NRF_DPPI_TASK_CHG3_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[3].EN),
NRF_DPPI_TASK_CHG3_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[3].DIS),
NRF_DPPI_TASK_CHG4_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[4].EN),
NRF_DPPI_TASK_CHG4_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[4].DIS),
NRF_DPPI_TASK_CHG5_EN = offsetof(NRF_DPPIC_Type, TASKS_CHG[5].EN),
NRF_DPPI_TASK_CHG5_DIS = offsetof(NRF_DPPIC_Type, TASKS_CHG[5].DIS)
}
DPPI tasks. More...

Functions

__STATIC_INLINE void nrf_dppi_task_trigger (NRF_DPPIC_Type *p_reg, nrf_dppi_task_t dppi_task)
Function for activating a DPPI task. More...
__STATIC_INLINE bool nrf_dppi_channel_check (NRF_DPPIC_Type const *p_reg, uint8_t channel)
Function for checking the state of a specific DPPI channel. More...
__STATIC_INLINE void nrf_dppi_channels_enable (NRF_DPPIC_Type *p_reg, uint32_t mask)
Function for enabling multiple DPPI channels. More...
__STATIC_INLINE void nrf_dppi_channels_disable (NRF_DPPIC_Type *p_reg, uint32_t mask)
Function for disabling multiple DPPI channels. More...
__STATIC_INLINE void nrf_dppi_channels_disable_all (NRF_DPPIC_Type *p_reg)
Function for disabling all DPPI channels. More...
__STATIC_INLINE void nrf_dppi_subscribe_set (NRF_DPPIC_Type *p_reg, nrf_dppi_task_t task, uint8_t channel)
Function for setting the subscribe configuration for a given DPPI task. More...
__STATIC_INLINE void nrf_dppi_subscribe_clear (NRF_DPPIC_Type *p_reg, nrf_dppi_task_t task)
Function for clearing the subscribe configuration for a given DPPI task. More...
__STATIC_INLINE void nrf_dppi_channels_include_in_group (NRF_DPPIC_Type *p_reg, uint32_t channel_mask, nrf_dppi_channel_group_t channel_group)
Function for including multiple DPPI channels in a channel group. More...
__STATIC_INLINE void nrf_dppi_channels_remove_from_group (NRF_DPPIC_Type *p_reg, uint32_t channel_mask, nrf_dppi_channel_group_t channel_group)
Function for removing multiple DPPI channels from a channel group. More...
__STATIC_INLINE void nrf_dppi_group_clear (NRF_DPPIC_Type *p_reg, nrf_dppi_channel_group_t group)
Function for removing all DPPI channels from a channel group. More...
__STATIC_INLINE void nrf_dppi_group_enable (NRF_DPPIC_Type *p_reg, nrf_dppi_channel_group_t group)
Function for enabling a channel group. More...
__STATIC_INLINE void nrf_dppi_group_disable (NRF_DPPIC_Type *p_reg, nrf_dppi_channel_group_t group)
Function for disabling a channel group. More...

Detailed Description

Hardware access layer for managing the Distributed Programmable Peripheral Interconnect Controller (DPPIC).

Enumeration Type Documentation

DPPI channel groups.

Enumerator
NRF_DPPI_CHANNEL_GROUP0

Channel group 0.

NRF_DPPI_CHANNEL_GROUP1

Channel group 1.

NRF_DPPI_CHANNEL_GROUP2

Channel group 2.

NRF_DPPI_CHANNEL_GROUP3

Channel group 3.

NRF_DPPI_CHANNEL_GROUP4

Channel group 4.

NRF_DPPI_CHANNEL_GROUP5

Channel group 5.

DPPI tasks.

Enumerator
NRF_DPPI_TASK_CHG0_EN

Enable channel group 0.

NRF_DPPI_TASK_CHG0_DIS

Disable channel group 0.

NRF_DPPI_TASK_CHG1_EN

Enable channel group 1.

NRF_DPPI_TASK_CHG1_DIS

Disable channel group 1.

NRF_DPPI_TASK_CHG2_EN

Enable channel group 2.

NRF_DPPI_TASK_CHG2_DIS

Disable channel group 2.

NRF_DPPI_TASK_CHG3_EN

Enable channel group 3.

NRF_DPPI_TASK_CHG3_DIS

Disable channel group 3.

NRF_DPPI_TASK_CHG4_EN

Enable channel group 4.

NRF_DPPI_TASK_CHG4_DIS

Disable channel group 4.

NRF_DPPI_TASK_CHG5_EN

Enable channel group 5.

NRF_DPPI_TASK_CHG5_DIS

Disable channel group 5.

Function Documentation

__STATIC_INLINE bool nrf_dppi_channel_check ( NRF_DPPIC_Type const * p_reg ,
uint8_t channel
)

Function for checking the state of a specific DPPI channel.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] channel Channel to check.
Return values
true If the channel is enabled.
false If the channel is not enabled.
__STATIC_INLINE void nrf_dppi_channels_disable ( NRF_DPPIC_Type * p_reg ,
uint32_t mask
)

Function for disabling multiple DPPI channels.

The bits in mask value correspond to particular channels. It means that writing 1 to bit 0 disables channel 0, writing 1 to bit 1 disables channel 1 etc.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] mask Channel mask.
__STATIC_INLINE void nrf_dppi_channels_disable_all ( NRF_DPPIC_Type * p_reg )

Function for disabling all DPPI channels.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
__STATIC_INLINE void nrf_dppi_channels_enable ( NRF_DPPIC_Type * p_reg ,
uint32_t mask
)

Function for enabling multiple DPPI channels.

The bits in mask value correspond to particular channels. It means that writing 1 to bit 0 enables channel 0, writing 1 to bit 1 enables channel 1 etc.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] mask Channel mask.
__STATIC_INLINE void nrf_dppi_channels_include_in_group ( NRF_DPPIC_Type * p_reg ,
uint32_t channel_mask ,
nrf_dppi_channel_group_t channel_group
)

Function for including multiple DPPI channels in a channel group.

This function adds all specified channels to the group. The bits in channel_mask value correspond to particular channels. It means that writing 1 to bit 0 includes channel 0, writing 1 to bit 1 includes channel 1 etc.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] channel_mask Channels to be included in the group.
[in] channel_group Channel group.
__STATIC_INLINE void nrf_dppi_channels_remove_from_group ( NRF_DPPIC_Type * p_reg ,
uint32_t channel_mask ,
nrf_dppi_channel_group_t channel_group
)

Function for removing multiple DPPI channels from a channel group.

This function removes all specified channels from the group. The bits in channel_mask value correspond to particular channels. It means that writing 1 to bit 0 removes channel 0, writing 1 to bit 1 removes channel 1 etc.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] channel_mask Channels to be removed from the group.
[in] channel_group Channel group.
__STATIC_INLINE void nrf_dppi_group_clear ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_channel_group_t group
)

Function for removing all DPPI channels from a channel group.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] group Channel group.
__STATIC_INLINE void nrf_dppi_group_disable ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_channel_group_t group
)

Function for disabling a channel group.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] group Channel group.
__STATIC_INLINE void nrf_dppi_group_enable ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_channel_group_t group
)

Function for enabling a channel group.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] group Channel group.
__STATIC_INLINE void nrf_dppi_subscribe_clear ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_task_t task
)

Function for clearing the subscribe configuration for a given DPPI task.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] task Task for which to clear the configuration.
__STATIC_INLINE void nrf_dppi_subscribe_set ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_task_t task ,
uint8_t channel
)

Function for setting the subscribe configuration for a given DPPI task.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] task Task for which to set the configuration.
[in] channel Channel through which to subscribe events.
__STATIC_INLINE void nrf_dppi_task_trigger ( NRF_DPPIC_Type * p_reg ,
nrf_dppi_task_t dppi_task
)

Function for activating a DPPI task.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] dppi_task Task to activate.