nrfx 2.5
Data Structures | Typedefs | Functions
IPC driver

Interprocessor Communication (IPC) peripheral driver. More...

Data Structures

struct  nrfx_ipc_config_t
 IPC configuration structure. More...
 

Typedefs

typedef void(* nrfx_ipc_handler_t) (uint32_t event_mask, void *p_context)
 IPC driver handler type. More...
 

Functions

nrfx_err_t nrfx_ipc_init (uint8_t irq_priority, nrfx_ipc_handler_t handler, void *p_context)
 Function for initializing the IPC driver. More...
 
void nrfx_ipc_config_load (nrfx_ipc_config_t const *p_config)
 Function for loading configuration directly into IPC peripheral. More...
 
NRFX_STATIC_INLINE void nrfx_ipc_signal (uint8_t send_index)
 Function for convey signal on configured channels. More...
 
NRFX_STATIC_INLINE void nrfx_ipc_gpmem_set (uint8_t mem_index, uint32_t data)
 Function for storing data in GPMEM register in the IPC peripheral. More...
 
NRFX_STATIC_INLINE uint32_t nrfx_ipc_mem_get (uint8_t mem_index)
 Function for getting data from the GPMEM register in the IPC peripheral. More...
 
void nrfx_ipc_uninit (void)
 Function for uninitializing the IPC module.
 
void nrfx_ipc_receive_event_enable (uint8_t event_index)
 Function for enabling events to generate interrupt. More...
 
void nrfx_ipc_receive_event_disable (uint8_t event_index)
 Function for disabling events from generate interrupt. More...
 
void nrfx_ipc_receive_event_group_enable (uint32_t event_bitmask)
 Function for enabling set of events to generate interrupt. More...
 
void nrfx_ipc_receive_event_group_disable (uint32_t event_bitmask)
 Function for disabling set of events from generate interrupt. More...
 
void nrfx_ipc_receive_event_channel_assign (uint8_t event_index, uint8_t channel_index)
 Function for assigning event to the IPC channel. More...
 
void nrfx_ipc_send_task_channel_assign (uint8_t send_index, uint8_t channel_index)
 Function for assigning signal to the IPC channel. More...
 
NRFX_STATIC_INLINE void nrfx_ipc_receive_config_set (uint8_t event_index, uint32_t channel_bitmask)
 Function for assigning event to the IPC channels. More...
 
NRFX_STATIC_INLINE void nrfx_ipc_send_config_set (uint8_t send_index, uint32_t channel_bitmask)
 Function for assigning signal to the IPC channels. More...
 

Detailed Description

Interprocessor Communication (IPC) peripheral driver.

Typedef Documentation

◆ nrfx_ipc_handler_t

typedef void(* nrfx_ipc_handler_t) (uint32_t event_mask, void *p_context)

IPC driver handler type.

Parameters
[in]event_maskBitmask with events that triggered the interrupt.
[in]p_contextContext passed to the interrupt handler, set on initialization.

Function Documentation

◆ nrfx_ipc_config_load()

void nrfx_ipc_config_load ( nrfx_ipc_config_t const *  p_config)

Function for loading configuration directly into IPC peripheral.

Parameters
p_configPointer to the structure with the initial configuration.

◆ nrfx_ipc_gpmem_set()

NRFX_STATIC_INLINE void nrfx_ipc_gpmem_set ( uint8_t  mem_index,
uint32_t  data 
)

Function for storing data in GPMEM register in the IPC peripheral.

Parameters
mem_indexIndex of the memory cell.
dataData to be saved.

◆ nrfx_ipc_init()

nrfx_err_t nrfx_ipc_init ( uint8_t  irq_priority,
nrfx_ipc_handler_t  handler,
void *  p_context 
)

Function for initializing the IPC driver.

Parameters
irq_priorityInterrupt priority.
handlerEvent handler provided by the user. Cannot be NULL.
p_contextContext passed to event handler.
Return values
NRFX_SUCCESSInitialization was successful.
NRFX_ERROR_INVALID_STATEDriver is already initialized.

◆ nrfx_ipc_mem_get()

NRFX_STATIC_INLINE uint32_t nrfx_ipc_mem_get ( uint8_t  mem_index)

Function for getting data from the GPMEM register in the IPC peripheral.

Parameters
mem_indexIndex of the memory cell.
Returns
Saved data.

◆ nrfx_ipc_receive_config_set()

NRFX_STATIC_INLINE void nrfx_ipc_receive_config_set ( uint8_t  event_index,
uint32_t  channel_bitmask 
)

Function for assigning event to the IPC channels.

Parameters
event_indexIndex of the event to be configured.
channel_bitmaskBitmask with channels to which event will be connected.

◆ nrfx_ipc_receive_event_channel_assign()

void nrfx_ipc_receive_event_channel_assign ( uint8_t  event_index,
uint8_t  channel_index 
)

Function for assigning event to the IPC channel.

Parameters
event_indexIndex of the event to be configured.
channel_indexIndex of the channel to which event will be connected.

◆ nrfx_ipc_receive_event_disable()

void nrfx_ipc_receive_event_disable ( uint8_t  event_index)

Function for disabling events from generate interrupt.

Parameters
event_indexIndex of event to be disabled.

◆ nrfx_ipc_receive_event_enable()

void nrfx_ipc_receive_event_enable ( uint8_t  event_index)

Function for enabling events to generate interrupt.

Parameters
event_indexIndex of event to be enabled.

◆ nrfx_ipc_receive_event_group_disable()

void nrfx_ipc_receive_event_group_disable ( uint32_t  event_bitmask)

Function for disabling set of events from generate interrupt.

Parameters
event_bitmaskBitmask with events to be disabled.

◆ nrfx_ipc_receive_event_group_enable()

void nrfx_ipc_receive_event_group_enable ( uint32_t  event_bitmask)

Function for enabling set of events to generate interrupt.

Parameters
event_bitmaskBitmask with events to be enabled.

◆ nrfx_ipc_send_config_set()

NRFX_STATIC_INLINE void nrfx_ipc_send_config_set ( uint8_t  send_index,
uint32_t  channel_bitmask 
)

Function for assigning signal to the IPC channels.

Parameters
send_indexIndex of the signal to be configured.
channel_bitmaskBitmask with channels to which signal will be connected.

◆ nrfx_ipc_send_task_channel_assign()

void nrfx_ipc_send_task_channel_assign ( uint8_t  send_index,
uint8_t  channel_index 
)

Function for assigning signal to the IPC channel.

Parameters
send_indexIndex of the signal to be configured.
channel_indexIndex of the instance of channel.

◆ nrfx_ipc_signal()

NRFX_STATIC_INLINE void nrfx_ipc_signal ( uint8_t  send_index)

Function for convey signal on configured channels.

Events connected to the IPC channels configured within this signal will be set and can generate interrupts when configured.

Parameters
send_indexIndex of the SEND task to trigger.

Documentation feedback | Developer Zone | Subscribe | Updated