IPCT HAL
- group nrf_ipct_hal
Hardware access layer for managing the Inter-Processor Communication Transceiver (IPCT) peripheral.
Defines
-
NRF_IPCT_HAS_ACK
Symbol indicating presence of ACK task and ACKED event.
-
NRF_IPCT_TASKS_SEND_COUNT
Number of send tasks.
Enums
-
enum nrf_ipct_task_t
IPCT tasks.
Values:
-
enumerator NRF_IPCT_TASK_SEND_0
Send [0] task.
-
enumerator NRF_IPCT_TASK_SEND_1
Send [1] task.
-
enumerator NRF_IPCT_TASK_SEND_2
Send [2] task.
-
enumerator NRF_IPCT_TASK_SEND_3
Send [3] task.
-
enumerator NRF_IPCT_TASK_SEND_4
Send [4] task.
-
enumerator NRF_IPCT_TASK_SEND_5
Send [5] task.
-
enumerator NRF_IPCT_TASK_SEND_6
Send [6] task.
-
enumerator NRF_IPCT_TASK_SEND_7
Send [7] task.
-
enumerator NRF_IPCT_TASK_SEND_8
Send [8] task.
-
enumerator NRF_IPCT_TASK_SEND_9
Send [9] task.
-
enumerator NRF_IPCT_TASK_SEND_10
Send [10] task.
-
enumerator NRF_IPCT_TASK_SEND_11
Send [11] task.
-
enumerator NRF_IPCT_TASK_SEND_12
Send [12] task.
-
enumerator NRF_IPCT_TASK_SEND_13
Send [13] task.
-
enumerator NRF_IPCT_TASK_SEND_14
Send [14] task.
-
enumerator NRF_IPCT_TASK_SEND_15
Send [15] task.
-
enumerator NRF_IPCT_TASK_ACK_0
Acknowledge the RECEIVE[0] task.
-
enumerator NRF_IPCT_TASK_ACK_1
Acknowledge the RECEIVE[1] task.
-
enumerator NRF_IPCT_TASK_ACK_2
Acknowledge the RECEIVE[2] task.
-
enumerator NRF_IPCT_TASK_ACK_3
Acknowledge the RECEIVE[3] task.
-
enumerator NRF_IPCT_TASK_ACK_4
Acknowledge the RECEIVE[4] task.
-
enumerator NRF_IPCT_TASK_ACK_5
Acknowledge the RECEIVE[5] task.
-
enumerator NRF_IPCT_TASK_ACK_6
Acknowledge the RECEIVE[6] task.
-
enumerator NRF_IPCT_TASK_ACK_7
Acknowledge the RECEIVE[7] task.
-
enumerator NRF_IPCT_TASK_ACK_8
Acknowledge the RECEIVE[8] task.
-
enumerator NRF_IPCT_TASK_ACK_9
Acknowledge the RECEIVE[9] task.
-
enumerator NRF_IPCT_TASK_ACK_10
Acknowledge the RECEIVE[10] task.
-
enumerator NRF_IPCT_TASK_ACK_11
Acknowledge the RECEIVE[11] task.
-
enumerator NRF_IPCT_TASK_ACK_12
Acknowledge the RECEIVE[12] task.
-
enumerator NRF_IPCT_TASK_ACK_13
Acknowledge the RECEIVE[13] task.
-
enumerator NRF_IPCT_TASK_ACK_14
Acknowledge the RECEIVE[14] task.
-
enumerator NRF_IPCT_TASK_ACK_15
Acknowledge the RECEIVE[15] task.
-
enumerator NRF_IPCT_TASK_SEND_0
-
enum nrf_ipct_event_t
IPCT events.
Values:
-
enumerator NRF_IPCT_EVENT_RECEIVE_0
Receive [0] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_1
Receive [1] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_2
Receive [2] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_3
Receive [3] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_4
Receive [4] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_5
Receive [5] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_6
Receive [6] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_7
Receive [7] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_8
Receive [8] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_9
Receive [9] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_10
Receive [10] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_11
Receive [11] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_12
Receive [12] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_13
Receive [13] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_14
Receive [14] event.
-
enumerator NRF_IPCT_EVENT_RECEIVE_15
Receive [15] event.
-
enumerator NRF_IPCT_EVENT_ACKED_0
Acknowledged event for the SEND[0] task.
-
enumerator NRF_IPCT_EVENT_ACKED_1
Acknowledged event for the SEND[1] task.
-
enumerator NRF_IPCT_EVENT_ACKED_2
Acknowledged event for the SEND[2] task.
-
enumerator NRF_IPCT_EVENT_ACKED_3
Acknowledged event for the SEND[3] task.
-
enumerator NRF_IPCT_EVENT_ACKED_4
Acknowledged event for the SEND[4] task.
-
enumerator NRF_IPCT_EVENT_ACKED_5
Acknowledged event for the SEND[5] task.
-
enumerator NRF_IPCT_EVENT_ACKED_6
Acknowledged event for the SEND[6] task.
-
enumerator NRF_IPCT_EVENT_ACKED_7
Acknowledged event for the SEND[7] task.
-
enumerator NRF_IPCT_EVENT_ACKED_8
Acknowledged event for the SEND[8] task.
-
enumerator NRF_IPCT_EVENT_ACKED_9
Acknowledged event for the SEND[9] task.
-
enumerator NRF_IPCT_EVENT_ACKED_10
Acknowledged event for the SEND[10] task.
-
enumerator NRF_IPCT_EVENT_ACKED_11
Acknowledged event for the SEND[11] task.
-
enumerator NRF_IPCT_EVENT_ACKED_12
Acknowledged event for the SEND[12] task.
-
enumerator NRF_IPCT_EVENT_ACKED_13
Acknowledged event for the SEND[13] task.
-
enumerator NRF_IPCT_EVENT_ACKED_14
Acknowledged event for the SEND[14] task.
-
enumerator NRF_IPCT_EVENT_ACKED_15
Acknowledged event for the SEND[15] task.
-
enumerator NRF_IPCT_EVENT_RECEIVE_0
-
enum nrf_ipct_short_mask_t
IPCT shortcuts.
Values:
-
enumerator NRF_IPCT_SHORT_RECEIVE0_ACK0_MASK
Shortcut between event RECEIVE[0] and task ACK[0].
-
enumerator NRF_IPCT_SHORT_RECEIVE1_ACK1_MASK
Shortcut between event RECEIVE[1] and task ACK[1].
-
enumerator NRF_IPCT_SHORT_RECEIVE2_ACK2_MASK
Shortcut between event RECEIVE[2] and task ACK[2].
-
enumerator NRF_IPCT_SHORT_RECEIVE3_ACK3_MASK
Shortcut between event RECEIVE[3] and task ACK[3].
-
enumerator NRF_IPCT_SHORT_RECEIVE4_ACK4_MASK
Shortcut between event RECEIVE[4] and task ACK[4].
-
enumerator NRF_IPCT_SHORT_RECEIVE5_ACK5_MASK
Shortcut between event RECEIVE[5] and task ACK[5].
-
enumerator NRF_IPCT_SHORT_RECEIVE6_ACK6_MASK
Shortcut between event RECEIVE[6] and task ACK[6].
-
enumerator NRF_IPCT_SHORT_RECEIVE7_ACK7_MASK
Shortcut between event RECEIVE[7] and task ACK[7].
-
enumerator NRF_IPCT_SHORT_RECEIVE8_ACK8_MASK
Shortcut between event RECEIVE[8] and task ACK[8].
-
enumerator NRF_IPCT_SHORT_RECEIVE9_ACK9_MASK
Shortcut between event RECEIVE[9] and task ACK[9].
-
enumerator NRF_IPCT_SHORT_RECEIVE10_ACK10_MASK
Shortcut between event RECEIVE[10] and task ACK[10].
-
enumerator NRF_IPCT_SHORT_RECEIVE11_ACK11_MASK
Shortcut between event RECEIVE[11] and task ACK[11].
-
enumerator NRF_IPCT_SHORT_RECEIVE12_ACK12_MASK
Shortcut between event RECEIVE[12] and task ACK[12].
-
enumerator NRF_IPCT_SHORT_RECEIVE13_ACK13_MASK
Shortcut between event RECEIVE[13] and task ACK[13].
-
enumerator NRF_IPCT_SHORT_RECEIVE14_ACK14_MASK
Shortcut between event RECEIVE[14] and task ACK[14].
-
enumerator NRF_IPCT_SHORT_RECEIVE15_ACK15_MASK
Shortcut between event RECEIVE[15] and task ACK[15].
-
enumerator NRF_IPCT_ALL_SHORTS_MASK
All IPCT shortcuts.
-
enumerator NRF_IPCT_SHORT_RECEIVE0_ACK0_MASK
-
enum nrf_ipct_int_mask_t
IPCT interrupts.
Values:
-
enumerator NRF_IPCT_INT_RECEIVE_0
Interrupt for event RECEIVE[0].
-
enumerator NRF_IPCT_INT_RECEIVE_1
Interrupt for event RECEIVE[1].
-
enumerator NRF_IPCT_INT_RECEIVE_2
Interrupt for event RECEIVE[2].
-
enumerator NRF_IPCT_INT_RECEIVE_3
Interrupt for event RECEIVE[3].
-
enumerator NRF_IPCT_INT_RECEIVE_4
Interrupt for event RECEIVE[4].
-
enumerator NRF_IPCT_INT_RECEIVE_5
Interrupt for event RECEIVE[5].
-
enumerator NRF_IPCT_INT_RECEIVE_6
Interrupt for event RECEIVE[6].
-
enumerator NRF_IPCT_INT_RECEIVE_7
Interrupt for event RECEIVE[7].
-
enumerator NRF_IPCT_INT_RECEIVE_8
Interrupt for event RECEIVE[8].
-
enumerator NRF_IPCT_INT_RECEIVE_9
Interrupt for event RECEIVE[9].
-
enumerator NRF_IPCT_INT_RECEIVE_10
Interrupt for event RECEIVE[10].
-
enumerator NRF_IPCT_INT_RECEIVE_11
Interrupt for event RECEIVE[11].
-
enumerator NRF_IPCT_INT_RECEIVE_12
Interrupt for event RECEIVE[12].
-
enumerator NRF_IPCT_INT_RECEIVE_13
Interrupt for event RECEIVE[13].
-
enumerator NRF_IPCT_INT_RECEIVE_14
Interrupt for event RECEIVE[14].
-
enumerator NRF_IPCT_INT_RECEIVE_15
Interrupt for event RECEIVE[15].
-
enumerator NRF_IPCT_INT_ACKED_0
Interrupt for event ACKED[0].
-
enumerator NRF_IPCT_INT_ACKED_1
Interrupt for event ACKED[1].
-
enumerator NRF_IPCT_INT_ACKED_2
Interrupt for event ACKED[2].
-
enumerator NRF_IPCT_INT_ACKED_3
Interrupt for event ACKED[3].
-
enumerator NRF_IPCT_INT_ACKED_4
Interrupt for event ACKED[4].
-
enumerator NRF_IPCT_INT_ACKED_5
Interrupt for event ACKED[5].
-
enumerator NRF_IPCT_INT_ACKED_6
Interrupt for event ACKED[6].
-
enumerator NRF_IPCT_INT_ACKED_7
Interrupt for event ACKED[7].
-
enumerator NRF_IPCT_INT_ACKED_8
Interrupt for event ACKED[8].
-
enumerator NRF_IPCT_INT_ACKED_9
Interrupt for event ACKED[9].
-
enumerator NRF_IPCT_INT_ACKED_10
Interrupt for event ACKED[10].
-
enumerator NRF_IPCT_INT_ACKED_11
Interrupt for event ACKED[11].
-
enumerator NRF_IPCT_INT_ACKED_12
Interrupt for event ACKED[12].
-
enumerator NRF_IPCT_INT_ACKED_13
Interrupt for event ACKED[13].
-
enumerator NRF_IPCT_INT_ACKED_14
Interrupt for event ACKED[14].
-
enumerator NRF_IPCT_INT_ACKED_15
Interrupt for event ACKED[15].
-
enumerator NRF_IPCT_INT_RECEIVE_0
Functions
-
NRF_STATIC_INLINE void nrf_ipct_task_trigger(NRF_IPCT_Type *p_reg, nrf_ipct_task_t task)
Function for triggering the specified IPCT task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task to be triggered.
-
NRF_STATIC_INLINE uint32_t nrf_ipct_task_address_get(NRF_IPCT_Type const *p_reg, nrf_ipct_task_t task)
Function for getting the address of the specified IPCT task register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Specified task.
- Returns:
Address of the specified task register.
-
NRF_STATIC_INLINE void nrf_ipct_event_clear(NRF_IPCT_Type *p_reg, nrf_ipct_event_t event)
Function for clearing the specified IPCT event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to clear.
-
NRF_STATIC_INLINE bool nrf_ipct_event_check(NRF_IPCT_Type const *p_reg, nrf_ipct_event_t event)
Function for retrieving the state of the IPCT event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event to be checked.
- Return values:
true – The event has been generated.
false – The event has not been generated.
-
NRF_STATIC_INLINE uint32_t nrf_ipct_event_address_get(NRF_IPCT_Type const *p_reg, nrf_ipct_event_t event)
Function for getting the address of the specified IPCT event register.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Specified event.
- Returns:
Address of the specified event register.
-
NRF_STATIC_INLINE void nrf_ipct_int_enable(NRF_IPCT_Type *p_reg, uint8_t group_idx, uint32_t mask)
Function for enabling specified interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group_idx – [in] Index of interrupt group to be enabled.
mask – [in] Mask of interrupts to be enabled. Use nrf_ipct_int_mask_t values for bit masking.
-
NRF_STATIC_INLINE void nrf_ipct_int_disable(NRF_IPCT_Type *p_reg, uint8_t group_idx, uint32_t mask)
Function for disabling specified interrupts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group_idx – [in] Index of interrupt group to be disabled.
mask – [in] Mask of interrupts to be disabled. Use nrf_ipct_int_mask_t values for bit masking.
-
NRF_STATIC_INLINE uint32_t nrf_ipct_int_enable_check(NRF_IPCT_Type const *p_reg, uint8_t group_idx, uint32_t mask)
Function for checking if the specified interrupts are enabled.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group_idx – [in] Index of interrupt group to be checked.
mask – [in] Mask of interrupts to be checked. Use nrf_ipct_int_mask_t values for bit masking.
- Returns:
Mask of enabled interrupts.
-
NRF_STATIC_INLINE uint32_t nrf_ipct_int_pending_get(NRF_IPCT_Type const *p_reg, uint8_t group_idx)
Function for retrieving the state of pending interrupts.
States of pending interrupt are saved as a bitmask. One set at particular position means that interrupt for event is pending.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
group_idx – [in] Index of interrupt group to be retrieved.
- Returns:
Bitmask with information about pending interrupts. Use nrf_ipct_int_mask_t values for bit masking.
-
NRF_STATIC_INLINE void nrf_ipct_subscribe_set(NRF_IPCT_Type *p_reg, nrf_ipct_task_t task, uint8_t channel)
Function for setting the DPPI subscribe configuration for a given IPCT task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
task – [in] Task for which to set the configuration.
channel – [in] DPPI channel through which to subscribe events.
-
NRF_STATIC_INLINE void nrf_ipct_subscribe_clear(NRF_IPCT_Type *p_reg, nrf_ipct_task_t task)
Function for clearing the DPPI subscribe configuration for a given IPCT 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_ipct_publish_set(NRF_IPCT_Type *p_reg, nrf_ipct_event_t event, uint8_t channel)
Function for setting the DPPI publish configuration for a given IPCT event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to set the configuration.
channel – [in] DPPI channel through which to publish the event.
-
NRF_STATIC_INLINE void nrf_ipct_publish_clear(NRF_IPCT_Type *p_reg, nrf_ipct_event_t event)
Function for clearing the DPPI publish configuration for a given IPCT event.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
event – [in] Event for which to clear the configuration.
-
NRF_STATIC_INLINE bool nrf_ipct_overflow_send_get(NRF_IPCT_Type const *p_reg, uint8_t index)
Function for getting value of the task overflow status for SEND task.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
index – [in] SEND task index to be checked.
- Return values:
true – Task overflow has happened.
false – Task overflow has not happened.
-
NRF_STATIC_INLINE nrf_ipct_task_t nrf_ipct_send_task_get(uint8_t index)
Function for getting SEND task by its index.
- Parameters:
index – [in] Index of the SEND task.
- Returns:
SEND task.
-
NRF_STATIC_INLINE nrf_ipct_task_t nrf_ipct_ack_task_get(uint8_t index)
Function for getting ACK task by its index.
- Parameters:
index – [in] Index of the ACK task.
- Returns:
ACK task.
-
NRF_STATIC_INLINE nrf_ipct_event_t nrf_ipct_receive_event_get(uint8_t index)
Function for getting RECEIVE event by its index.
- Parameters:
index – [in] Index of the RECEIVE event.
- Returns:
RECEIVE event.
-
NRF_STATIC_INLINE nrf_ipct_event_t nrf_ipct_acked_event_get(uint8_t index)
Function for getting ACKED event by its index.
- Parameters:
index – [in] Index of the ACKED event.
- Returns:
ACKED event.
-
NRF_STATIC_INLINE void nrf_ipct_shorts_enable(NRF_IPCT_Type *p_reg, uint32_t mask)
Function for enabling the specified shortcuts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Shortcuts to be enabled.
-
NRF_STATIC_INLINE void nrf_ipct_shorts_disable(NRF_IPCT_Type *p_reg, uint32_t mask)
Function for disabling the specified shortcuts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Shortcuts to be disabled.
-
NRF_STATIC_INLINE void nrf_ipct_shorts_set(NRF_IPCT_Type *p_reg, uint32_t mask)
Function for setting the configuration of IPCT shortcuts.
- Parameters:
p_reg – [in] Pointer to the structure of registers of the peripheral.
mask – [in] Shortcuts to be set.
-
NRF_IPCT_HAS_ACK