nRF5 SDK v17.1.0
Enumerations | Functions
AAR HAL

Hardware access layer for managing the Accelerated Address Resolver (AAR) peripheral. More...

Enumerations

enum  nrf_aar_event_t {
  NRF_AAR_EVENT_END = offsetof(NRF_AAR_Type, EVENTS_END),
  NRF_AAR_EVENT_RESOLVED = offsetof(NRF_AAR_Type, EVENTS_RESOLVED),
  NRF_AAR_EVENT_NOTRESOLVED = offsetof(NRF_AAR_Type, EVENTS_NOTRESOLVED)
}
 AAR events. More...
 
enum  nrf_aar_int_mask_t {
  NRF_AAR_INT_END_MASK = AAR_INTENSET_END_Msk,
  NRF_AAR_INT_RESOLVED_MASK = AAR_INTENSET_RESOLVED_Msk,
  NRF_AAR_INT_NOTRESOLVED_MASK = AAR_INTENSET_NOTRESOLVED_Msk
}
 AAR interrupts. More...
 
enum  nrf_aar_task_t {
  NRF_AAR_TASK_START = offsetof(NRF_AAR_Type, TASKS_START),
  NRF_AAR_TASK_STOP = offsetof(NRF_AAR_Type, TASKS_STOP)
}
 AAR tasks. More...
 

Functions

__STATIC_INLINE bool nrf_aar_event_check (NRF_AAR_Type const *p_reg, nrf_aar_event_t event)
 Function for retrieving the state of the AAR event. More...
 
__STATIC_INLINE void nrf_aar_event_clear (NRF_AAR_Type *p_reg, nrf_aar_event_t event)
 Function for clearing the specified AAR event. More...
 
__STATIC_INLINE uint32_t nrf_aar_event_address_get (NRF_AAR_Type const *p_reg, nrf_aar_event_t event)
 Function for getting the address of the specified AAR event register. More...
 
__STATIC_INLINE void nrf_aar_int_enable (NRF_AAR_Type *p_reg, uint32_t mask)
 Function for enabling the specified interrupts. More...
 
__STATIC_INLINE bool nrf_aar_int_enable_check (NRF_AAR_Type const *p_reg, nrf_aar_int_mask_t mask)
 Function for retrieving the state of the specified interrupt. More...
 
__STATIC_INLINE void nrf_aar_int_disable (NRF_AAR_Type *p_reg, uint32_t mask)
 Function for disabling the specified interrupts. More...
 
__STATIC_INLINE void nrf_aar_task_trigger (NRF_AAR_Type *p_reg, nrf_aar_task_t task)
 Function for starting an AAR task. More...
 
__STATIC_INLINE uint32_t nrf_aar_task_address_get (NRF_AAR_Type const *p_reg, nrf_aar_task_t task)
 Function for getting the address of a specific AAR task register. More...
 
__STATIC_INLINE void nrf_aar_enable (NRF_AAR_Type *p_reg)
 Function for enabling AAR. More...
 
__STATIC_INLINE void nrf_aar_disable (NRF_AAR_Type *p_reg)
 Function for disabling AAR. More...
 
__STATIC_INLINE void nrf_aar_irk_pointer_set (NRF_AAR_Type *p_reg, uint8_t const *irk_ptr)
 Function for setting the pointer to the Identity Resolving Keys (IRK) data structure. More...
 
__STATIC_INLINE uint8_t const * nrf_aar_irk_pointer_get (NRF_AAR_Type const *p_reg)
 Function for getting the pointer to the Identity Resolving Keys data structure. More...
 
__STATIC_INLINE void nrf_aar_irk_number_set (NRF_AAR_Type *p_reg, uint8_t irk_num)
 Function for setting the number of keys available in the Identity Resolving Keys data structure. More...
 
__STATIC_INLINE uint8_t nrf_aar_irk_number_get (NRF_AAR_Type const *p_reg)
 Function for getting the number of keys available in the Identity Resolving Keys data structure. More...
 
__STATIC_INLINE void nrf_aar_addr_pointer_set (NRF_AAR_Type *p_reg, uint8_t const *addr_ptr)
 Function for setting the pointer to the resolvable address. More...
 
__STATIC_INLINE uint8_t const * nrf_aar_addr_pointer_get (NRF_AAR_Type const *p_reg)
 Function for getting the pointer to the resolvable address. More...
 
__STATIC_INLINE void nrf_aar_scratch_pointer_set (NRF_AAR_Type *p_reg, uint8_t *scratch_ptr)
 Function for setting the pointer to the scratch data area. More...
 
__STATIC_INLINE uint8_t * nrf_aar_scratch_pointer_get (NRF_AAR_Type const *p_reg)
 Function for getting the pointer to the scratch data area. More...
 
__STATIC_INLINE uint8_t nrf_aar_resolution_status_get (NRF_AAR_Type const *p_reg)
 Function for getting the index of the Identity Resolving Key that was used the last time an address was resolved. More...
 

Detailed Description

Hardware access layer for managing the Accelerated Address Resolver (AAR) peripheral.

Enumeration Type Documentation

AAR events.

Enumerator
NRF_AAR_EVENT_END 

Address resolution procedure complete.

NRF_AAR_EVENT_RESOLVED 

Address resolved.

NRF_AAR_EVENT_NOTRESOLVED 

Address not resolved.

AAR interrupts.

Enumerator
NRF_AAR_INT_END_MASK 

Interrupt on END event.

NRF_AAR_INT_RESOLVED_MASK 

Interrupt on RESOLVED event.

NRF_AAR_INT_NOTRESOLVED_MASK 

Interrupt on NOTRESOLVED event.

AAR tasks.

Enumerator
NRF_AAR_TASK_START 

Start address resolution procedure.

NRF_AAR_TASK_STOP 

Stop address resolution procedure.

Function Documentation

__STATIC_INLINE uint8_t const* nrf_aar_addr_pointer_get ( NRF_AAR_Type const *  p_reg)

Function for getting the pointer to the resolvable address.

Parameters
p_regPointer to the structure of registers of the peripheral.
Returns
Pointer to the address to resolve.
__STATIC_INLINE void nrf_aar_addr_pointer_set ( NRF_AAR_Type *  p_reg,
uint8_t const *  addr_ptr 
)

Function for setting the pointer to the resolvable address.

The resolvable address must consist of 6 bytes.

Parameters
p_regPointer to the structure of registers of the peripheral.
addr_ptrPointer to the address to resolve using the available IRK keys. Must point to the Data RAM region.
__STATIC_INLINE void nrf_aar_disable ( NRF_AAR_Type *  p_reg)

Function for disabling AAR.

Parameters
p_regPointer to the structure of registers of the peripheral.
__STATIC_INLINE void nrf_aar_enable ( NRF_AAR_Type *  p_reg)

Function for enabling AAR.

Parameters
p_regPointer to the structure of registers of the peripheral.
__STATIC_INLINE uint32_t nrf_aar_event_address_get ( NRF_AAR_Type const *  p_reg,
nrf_aar_event_t  event 
)

Function for getting the address of the specified AAR event register.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to get the address of.
Returns
Address of the specified event register.
__STATIC_INLINE bool nrf_aar_event_check ( NRF_AAR_Type const *  p_reg,
nrf_aar_event_t  event 
)

Function for retrieving the state of the AAR event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to be checked.
Return values
trueEvent is set.
falseEvent is not set.
__STATIC_INLINE void nrf_aar_event_clear ( NRF_AAR_Type *  p_reg,
nrf_aar_event_t  event 
)

Function for clearing the specified AAR event.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]eventEvent to be cleared.
__STATIC_INLINE void nrf_aar_int_disable ( NRF_AAR_Type *  p_reg,
uint32_t  mask 
)

Function for disabling the specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be disabled.
__STATIC_INLINE void nrf_aar_int_enable ( NRF_AAR_Type *  p_reg,
uint32_t  mask 
)

Function for enabling the specified interrupts.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of interrupts to be enabled.
__STATIC_INLINE bool nrf_aar_int_enable_check ( NRF_AAR_Type const *  p_reg,
nrf_aar_int_mask_t  mask 
)

Function for retrieving the state of the specified interrupt.

Parameters
[in]p_regPointer to the structure of registers of the peripheral.
[in]maskMask of the interrupt to be checked.
Return values
trueInterrupt is enabled.
falseInterrupt is not enabled.
__STATIC_INLINE uint8_t nrf_aar_irk_number_get ( NRF_AAR_Type const *  p_reg)

Function for getting the number of keys available in the Identity Resolving Keys data structure.

Parameters
p_regPointer to the structure of registers of the peripheral.
Returns
Number of keys in the IRK data structure.
__STATIC_INLINE void nrf_aar_irk_number_set ( NRF_AAR_Type *  p_reg,
uint8_t  irk_num 
)

Function for setting the number of keys available in the Identity Resolving Keys data structure.

Parameters
p_regPointer to the structure of registers of the peripheral.
irk_numNumber of keys available in the IRK data structure. Maximum is 16. Must correspond to the size of the provided IRK data structure.
See Also
nrf_aar_irk_pointer_set
__STATIC_INLINE uint8_t const* nrf_aar_irk_pointer_get ( NRF_AAR_Type const *  p_reg)

Function for getting the pointer to the Identity Resolving Keys data structure.

Parameters
p_regPointer to the structure of registers of the peripheral.
Returns
Pointer to the IRK data structure.
__STATIC_INLINE void nrf_aar_irk_pointer_set ( NRF_AAR_Type *  p_reg,
uint8_t const *  irk_ptr 
)

Function for setting the pointer to the Identity Resolving Keys (IRK) data structure.

The size of the provided data structure must correspond to the number of keys available. Each key occupies 16 bytes.

Parameters
p_regPointer to the structure of registers of the peripheral.
irk_ptrPointer to the IRK data structure. Must point to the Data RAM region.
See Also
nrf_aar_irk_number_set
__STATIC_INLINE uint8_t nrf_aar_resolution_status_get ( NRF_AAR_Type const *  p_reg)

Function for getting the index of the Identity Resolving Key that was used the last time an address was resolved.

This function can be used to get the IRK index that matched the resolvable address, provided that NRF_AAR_EVENT_RESOLVED occured. Otherwise, it will return the index of the last IRK stored in the IRK data structure.

Parameters
p_regPointer to the structure of registers of the peripheral.
Returns
The index of the IRK that was used the last time an address was resolved.
__STATIC_INLINE uint8_t* nrf_aar_scratch_pointer_get ( NRF_AAR_Type const *  p_reg)

Function for getting the pointer to the scratch data area.

Parameters
p_regPointer to the structure of registers of the peripheral.
Returns
Pointer to the scratch data area.
__STATIC_INLINE void nrf_aar_scratch_pointer_set ( NRF_AAR_Type *  p_reg,
uint8_t *  scratch_ptr 
)

Function for setting the pointer to the scratch data area.

The scratch data area is used for temporary storage during the address resolution procedure. A space of minimum 3 bytes must be reserved for the scratch data area.

Parameters
p_regPointer to the structure of registers of the peripheral.
scratch_ptrPointer to the scratch data area. Must point to the Data RAM region.
__STATIC_INLINE uint32_t nrf_aar_task_address_get ( NRF_AAR_Type const *  p_reg,
nrf_aar_task_t  task 
)

Function for getting the address of a specific AAR task register.

Parameters
p_regPointer to the structure of registers of the peripheral.
taskRequested AAR task.
Returns
Address of the specified task register.
__STATIC_INLINE void nrf_aar_task_trigger ( NRF_AAR_Type *  p_reg,
nrf_aar_task_t  task 
)

Function for starting an AAR task.

Parameters
p_regPointer to the structure of registers of the peripheral.
taskTask to be activated.

Documentation feedback | Developer Zone | Subscribe | Updated