DPPI HAL
- group nrf_dppi_hal
Hardware access layer for managing the Distributed Programmable Peripheral Interconnect Controller (DPPIC).
Defines
-
NRF_DPPI_ENDPOINT_SETUP(task_or_event, dppi_chan)
Macro for setting publish/subscribe register corresponding to specified event/task.
- Parameters:
task_or_event – [in] Address of the event or task for which publish/subscribe register is to be set.
dppi_chan – [in] DPPIC channel number.
-
NRF_DPPI_ENDPOINT_CLEAR(task_or_event)
Macro for clearing publish/subscribe register corresponding to specified event/task.
- Parameters:
task_or_event – [in] Address of the event or task for which publish/subscribe register is to be cleared.
Enums
-
enum nrf_dppi_channel_group_t
DPPI channel groups.
Values:
-
enumerator NRF_DPPI_CHANNEL_GROUP0
Channel group 0.
-
enumerator NRF_DPPI_CHANNEL_GROUP1
Channel group 1.
-
enumerator NRF_DPPI_CHANNEL_GROUP2
Channel group 2.
-
enumerator NRF_DPPI_CHANNEL_GROUP3
Channel group 3.
-
enumerator NRF_DPPI_CHANNEL_GROUP4
Channel group 4.
-
enumerator NRF_DPPI_CHANNEL_GROUP5
Channel group 5.
-
enumerator NRF_DPPI_CHANNEL_GROUP0
-
enum nrf_dppi_task_t
DPPI tasks.
Values:
-
enumerator NRF_DPPI_TASK_CHG0_EN
Enable channel group 0.
-
enumerator NRF_DPPI_TASK_CHG0_DIS
Disable channel group 0.
-
enumerator NRF_DPPI_TASK_CHG1_EN
Enable channel group 1.
-
enumerator NRF_DPPI_TASK_CHG1_DIS
Disable channel group 1.
-
enumerator NRF_DPPI_TASK_CHG2_EN
Enable channel group 2.
-
enumerator NRF_DPPI_TASK_CHG2_DIS
Disable channel group 2.
-
enumerator NRF_DPPI_TASK_CHG3_EN
Enable channel group 3.
-
enumerator NRF_DPPI_TASK_CHG3_DIS
Disable channel group 3.
-
enumerator NRF_DPPI_TASK_CHG4_EN
Enable channel group 4.
-
enumerator NRF_DPPI_TASK_CHG4_DIS
Disable channel group 4.
-
enumerator NRF_DPPI_TASK_CHG5_EN
Enable channel group 5.
-
enumerator NRF_DPPI_TASK_CHG5_DIS
Disable channel group 5.
-
enumerator NRF_DPPI_TASK_CHG0_EN
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Number of available channels.
-
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
- Returns:
Number of available groups.
-
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
dppi_task – [in] Task to be activated.
-
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Requested task.
- Returns:
Address of the specified 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
channel – [in] Channel to be checked.
- Return values:
true – The channel is enabled.
false – The channel is not enabled.
-
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.- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Channel mask.
-
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.- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Channel mask.
-
NRF_STATIC_INLINE void nrf_dppi_channels_disable_all(NRF_DPPIC_Type *p_reg)
Function for disabling all DPPI channels.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
-
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.
Warning
After setting the subscription for a given task, channel group configuration associated with this task cannot be modified until nrf_dppi_subscribe_clear is used.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to set the configuration.
channel – [in] Channel through which to subscribe events.
-
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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to clear the configuration.
-
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.Warning
Channel group configuration can be modified only if subscriptions for tasks associated with this group are disabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
channel_mask – [in] Channels to be included in the group.
channel_group – [in] 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.Warning
Channel group configuration can be modified only if subscriptions for tasks associated with this group are disabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
channel_mask – [in] Channels to be removed from the group.
channel_group – [in] 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.
Warning
Channel group configuration can be modified only if subscriptions for tasks associated with this group are disabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group – [in] 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group – [in] 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.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group – [in] 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.
- Parameters:
index – [in] Channel group index.
- Returns:
Requested ENABLE task.
-
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.
- Parameters:
index – [in] Channel group index.
- Returns:
Requested DISABLE task.
-
NRF_DPPI_ENDPOINT_SETUP(task_or_event, dppi_chan)