Programmable Peripheral Interconnect (PPI) driver.
More...
Programmable Peripheral Interconnect (PPI) driver.
#define NRF_PPI_ALL_APP_CHANNELS_MASK ((uint32_t)0xFFF0FFFFuL) |
All PPI channels available to the application.
#define NRF_PPI_ALL_APP_GROUPS_MASK ((uint32_t)0x0000000FuL) |
All PPI groups available to the application.
#define NRF_PPI_PROG_APP_CHANNELS_MASK ((uint32_t)0x0000FFFFuL) |
Programmable PPI channels available to the application.
#define NRF_PPI_RESTRICTED 0 |
1 if PPI peripheral is restricted, 0 otherwise.
Function for allocating a PPI channel.
This function allocates the first unused PPI channel.
- Parameters
-
[out] | p_channel | Pointer to the PPI channel that has been allocated. |
- Return values
-
NRF_SUCCESS | If the channel was successfully allocated. |
NRF_ERROR_NO_MEM | If there is no available channel to be used. |
uint32_t nrf_drv_ppi_channel_assign |
( |
nrf_ppi_channel_t |
channel, |
|
|
uint32_t |
eep, |
|
|
uint32_t |
tep |
|
) |
| |
Function for assigning task and event endpoints to the PPI channel.
- Parameters
-
[in] | channel | PPI channel to be assigned endpoints. |
[in] | eep | Event endpoint address. |
[in] | tep | Task endpoint address. |
- Return values
-
NRF_SUCCESS | If the channel was successfully assigned. |
NRF_ERROR_INVALID_STATE | If the channel is not allocated for the user. |
NRF_ERROR_INVALID_PARAM | If the channel is not user-configurable. |
Function for disabling a PPI channel.
- Parameters
-
[in] | channel | PPI channel to be disabled. |
- Return values
-
NRF_SUCCESS | If the channel was successfully disabled. |
NRF_ERROR_INVALID_STATE | If the user-configurable channel is not allocated. |
NRF_ERROR_INVALID_PARAM | If the channel cannot be disabled by the user. |
Function for enabling a PPI channel.
- Parameters
-
[in] | channel | PPI channel to be enabled. |
- Return values
-
NRF_SUCCESS | If the channel was successfully enabled. |
NRF_ERROR_INVALID_STATE | If the user-configurable channel is not allocated. |
NRF_ERROR_INVALID_PARAM | If the channel cannot be enabled by the user. |
Function for freeing a PPI channel.
This function also disables the chosen channel.
- Parameters
-
[in] | channel | PPI channel to be freed. |
- Return values
-
NRF_SUCCESS | If the channel was successfully freed. |
NRF_ERROR_INVALID_PARAM | If the channel is not user-configurable. |
Function for including a PPI channel in a channel group.
- Parameters
-
[in] | channel | PPI channel to be added. |
[in] | group | Channel group in which to include the channel. |
- Return values
-
NRF_SUCCESS | If the channel was successfully included. |
Function for removing a PPI channel from a channel group.
- Parameters
-
[in] | channel | PPI channel to be removed. |
[in] | group | Channel group from which to remove the channel. |
- Return values
-
NRF_SUCCESS | If the channel was successfully removed. |
Function for allocating a PPI channel group.
This function allocates the first unused PPI group.
- Parameters
-
[out] | p_group | Pointer to the PPI channel group that has been allocated. |
- Return values
-
NRF_SUCCESS | If the channel group was successfully allocated. |
NRF_ERROR_NO_MEM | If there is no available channel group to be used. |
Function for disabling a PPI channel group.
- Parameters
-
[in] | group | Channel group to be disabled. |
- Return values
-
NRF_SUCCESS | If the group was successfully disabled. |
Function for enabling a PPI channel group.
- Parameters
-
[in] | group | Channel group to be enabled. |
- Return values
-
NRF_SUCCESS | If the group was successfully enabled. |
Function for freeing a PPI channel group.
This function also disables the chosen group.
- Parameters
-
[in] | group | PPI channel group to be freed. |
- Return values
-
NRF_SUCCESS | If the channel group was successfully freed. |
NRF_ERROR_INVALID_PARAM | If the channel group is not user-configurable. |
uint32_t nrf_drv_ppi_init |
( |
void |
| ) |
|
Function for initializing PPI module.
- Return values
-
NRF_SUCCESS | If the module was successfully initialized. |
NRF_ERROR_INVALID_STATE | If the module has already been initialized. |
uint32_t nrf_drv_ppi_task_addr_get |
( |
nrf_ppi_tasks_t |
task, |
|
|
uint32_t * |
p_task |
|
) |
| |
Function for getting the address of a PPI task.
- Parameters
-
[in] | task | Task. |
[out] | p_task | Pointer to the task address. |
- Return values
-
NRF_SUCCESS | If the address was successfully copied. |
uint32_t nrf_drv_ppi_uninit |
( |
void |
| ) |
|
Function for uninitializing the PPI module.
This function also disables all channels and clears the channel groups.
- Return values
-
NRF_SUCCESS | If the module was successfully uninitialized. |
NRF_ERROR_INVALID_STATE | If the module has not been initialized yet. |
NRF_ERROR_INTERNAL | If the channels or groups could not be disabled. |