DPPI Controller HAL

nRF5 SDK v17.1.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 uint32_t nrf_dppi_task_address_get (NRF_DPPIC_Type const *p_reg, nrf_dppi_task_t task)
Function for getting the address of the specified DPPI task register. 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...
__STATIC_INLINE nrf_dppi_task_t nrf_dppi_group_enable_task_get (uint8_t index)
Function for getting the ENABLE task associated with the specified channel group. More...
__STATIC_INLINE nrf_dppi_task_t nrf_dppi_group_disable_task_get (uint8_t index)
Function for getting the DISABLE task associated with the specified 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 be checked.
Return values
true The channel is enabled.
false 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 nrf_dppi_task_t nrf_dppi_group_disable_task_get ( uint8_t index )

Function for getting the DISABLE task associated with the specified channel group.

Parameters
[in] index Channel group index.
Returns
Requested DISABLE task.
__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 nrf_dppi_task_t nrf_dppi_group_enable_task_get ( uint8_t index )

Function for getting the ENABLE task associated with the specified channel group.

Parameters
[in] index Channel group index.
Returns
Requested ENABLE task.
__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 uint32_t nrf_dppi_task_address_get ( NRF_DPPIC_Type const * p_reg ,
nrf_dppi_task_t task
)

Function for getting the address of the specified DPPI task register.

Parameters
[in] p_reg Pointer to the structure of registers of the peripheral.
[in] task Requested task.
Returns
Address of the specified task register.
__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 be activated.