Hardware access layer for managing the Distributed Programmable Peripheral Interconnect Controller (DPPIC). More...
Macros | |
#define | NRF_DPPI_ENDPOINT_SETUP(task_or_event, dppi_chan) |
Macro for setting publish/subscribe register corresponding to specified event/task. | |
#define | NRF_DPPI_ENDPOINT_CLEAR(task_or_event) (*((volatile uint32_t *)(task_or_event + NRF_SUBSCRIBE_PUBLISH_OFFSET(task_or_event))) = 0) |
Macro for clearing publish/subscribe register corresponding to specified event/task. | |
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 | |
NRF_STATIC_INLINE uint8_t | nrf_dppi_channel_number_get (NRF_DPPIC_Type const *p_reg) |
Function for getting the total number of available channels for the given DPPIC instance. | |
NRF_STATIC_INLINE uint8_t | nrf_dppi_group_number_get (NRF_DPPIC_Type const *p_reg) |
Function for getting the total number of available groups for the given DPPIC instance. | |
NRF_STATIC_INLINE void | nrf_dppi_task_trigger (NRF_DPPIC_Type *p_reg, nrf_dppi_task_t dppi_task) |
Function for activating a DPPI task. | |
NRF_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. | |
NRF_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. | |
NRF_STATIC_INLINE void | nrf_dppi_channels_enable (NRF_DPPIC_Type *p_reg, uint32_t mask) |
Function for enabling multiple DPPI channels. | |
NRF_STATIC_INLINE void | nrf_dppi_channels_disable (NRF_DPPIC_Type *p_reg, uint32_t mask) |
Function for disabling multiple DPPI channels. | |
NRF_STATIC_INLINE void | nrf_dppi_channels_disable_all (NRF_DPPIC_Type *p_reg) |
Function for disabling all DPPI channels. | |
NRF_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. | |
NRF_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. | |
NRF_STATIC_INLINE void | nrf_dppi_channels_group_set (NRF_DPPIC_Type *p_reg, uint32_t channel_mask, nrf_dppi_channel_group_t channel_group) |
Function for setting multiple DPPI channels in a channel group. | |
NRF_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. | |
NRF_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. | |
NRF_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. | |
NRF_STATIC_INLINE void | nrf_dppi_group_enable (NRF_DPPIC_Type *p_reg, nrf_dppi_channel_group_t group) |
Function for enabling a channel group. | |
NRF_STATIC_INLINE void | nrf_dppi_group_disable (NRF_DPPIC_Type *p_reg, nrf_dppi_channel_group_t group) |
Function for disabling a channel group. | |
NRF_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. | |
NRF_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. | |
Hardware access layer for managing the Distributed Programmable Peripheral Interconnect Controller (DPPIC).
#define NRF_DPPI_ENDPOINT_CLEAR | ( | task_or_event | ) | (*((volatile uint32_t *)(task_or_event + NRF_SUBSCRIBE_PUBLISH_OFFSET(task_or_event))) = 0) |
Macro for clearing publish/subscribe register corresponding to specified event/task.
[in] | task_or_event | Address of the event or task for which publish/subscribe register is to be cleared. |
#define NRF_DPPI_ENDPOINT_SETUP | ( | task_or_event, | |
dppi_chan | |||
) |
Macro for setting publish/subscribe register corresponding to specified event/task.
[in] | task_or_event | Address of the event or task for which publish/subscribe register is to be set. |
[in] | dppi_chan | DPPIC channel number. |
enum nrf_dppi_task_t |
DPPI tasks.
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel | Channel to be checked. |
true | The channel is enabled. |
false | The channel is not enabled. |
NRF_STATIC_INLINE uint8_t nrf_dppi_channel_number_get | ( | NRF_DPPIC_Type const * | p_reg | ) |
Function for getting the total number of available channels for the given DPPIC instance.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Channel mask. |
NRF_STATIC_INLINE void nrf_dppi_channels_disable_all | ( | NRF_DPPIC_Type * | p_reg | ) |
Function for disabling all DPPI channels.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Channel mask. |
NRF_STATIC_INLINE void nrf_dppi_channels_group_set | ( | NRF_DPPIC_Type * | p_reg, |
uint32_t | channel_mask, | ||
nrf_dppi_channel_group_t | channel_group | ||
) |
Function for setting multiple DPPI channels in a channel group.
This function assigns 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, and so on.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | channel_mask | Channels to be assigned in the group. |
[in] | channel_group | Channel group. |
NRF_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.
[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. |
NRF_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.
[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. |
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | group | Channel group. |
NRF_STATIC_INLINE void nrf_dppi_group_disable | ( | NRF_DPPIC_Type * | p_reg, |
nrf_dppi_channel_group_t | group | ||
) |
Function for disabling a channel group.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | group | Channel group. |
NRF_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.
[in] | index | Channel group index. |
NRF_STATIC_INLINE void nrf_dppi_group_enable | ( | NRF_DPPIC_Type * | p_reg, |
nrf_dppi_channel_group_t | group | ||
) |
Function for enabling a channel group.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | group | Channel group. |
NRF_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.
[in] | index | Channel group index. |
NRF_STATIC_INLINE uint8_t nrf_dppi_group_number_get | ( | NRF_DPPIC_Type const * | p_reg | ) |
Function for getting the total number of available groups for the given DPPIC instance.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to clear the configuration. |
NRF_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.
[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. |
NRF_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.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Requested task. |
NRF_STATIC_INLINE void nrf_dppi_task_trigger | ( | NRF_DPPIC_Type * | p_reg, |
nrf_dppi_task_t | dppi_task | ||
) |
Function for activating a DPPI task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | dppi_task | Task to be activated. |