nRF5 SDK v17.1.0
Modules | Enumerations | Functions
NFC BLE Pairing Library

High-level library for BLE Connection Handover pairing using NFC. More...

Modules

 Library parameters configuration
 

Enumerations

enum  nfc_pairing_mode_t {
  NFC_PAIRING_MODE_JUST_WORKS,
  NFC_PAIRING_MODE_OOB,
  NFC_PAIRING_MODE_LESC_JUST_WORKS,
  NFC_PAIRING_MODE_LESC_OOB,
  NFC_PAIRING_MODE_GENERIC_OOB,
  NFC_PAIRING_MODE_CNT
}
 NFC pairing types. More...
 

Functions

ret_code_t nfc_ble_pair_init (ble_advertising_t *const p_advertising, nfc_pairing_mode_t mode)
 Funtion for initializing NFC tag data and turning on tag emulation. More...
 
ret_code_t nfc_ble_pair_mode_set (nfc_pairing_mode_t mode)
 Function for setting pairing data and BLE security mode. More...
 
nfc_pairing_mode_t nfc_ble_pair_mode_get (void)
 Function for obtaining the current pairing mode. More...
 
ret_code_t nfc_ble_pair_on_pm_params_req (pm_evt_t const *p_evt)
 Function for replying to PM_EVT_CONN_SEC_PARAMS_REQ. More...
 

Detailed Description

High-level library for BLE Connection Handover pairing using NFC.

Enumeration Type Documentation

NFC pairing types.

Enumerator
NFC_PAIRING_MODE_JUST_WORKS 

Legacy Just Works pairing without a security key.

NFC_PAIRING_MODE_OOB 

Legacy OOB pairing with a Temporary Key shared through NFC tag data.

NFC_PAIRING_MODE_LESC_JUST_WORKS 

LESC pairing without authentication data.

NFC_PAIRING_MODE_LESC_OOB 

LESC pairing with OOB authentication data.

NFC_PAIRING_MODE_GENERIC_OOB 

OOB pairing with fallback from LESC to Legacy mode.

NFC_PAIRING_MODE_CNT 

Number of available pairing modes.

Function Documentation

ret_code_t nfc_ble_pair_init ( ble_advertising_t *const  p_advertising,
nfc_pairing_mode_t  mode 
)

Funtion for initializing NFC tag data and turning on tag emulation.

Warning
It is assumed that Peer Manager has already been initialized before calling this function. It is also assumed that BLE advertising has already been initialized and it is configured to run in the BLE_ADV_MODE_FAST mode.
Parameters
[in]modePairing mode, this is the value of the nfc_pairing_mode_t enum.
[in]p_advertisingPointer to the advertising module instance.
Return values
NRF_SUCCESSIf NFC has been initialized properly.
NRF_ERROR_INVALID_PARAMIf pairing mode is invalid.
NRF_ERROR_NULLIf pointer to the advertising module instance is NULL.
OtherOther error codes might be returned depending on used modules.
nfc_pairing_mode_t nfc_ble_pair_mode_get ( void  )

Function for obtaining the current pairing mode.

Returns
Current pairing mode.
ret_code_t nfc_ble_pair_mode_set ( nfc_pairing_mode_t  mode)

Function for setting pairing data and BLE security mode.

Parameters
[in]modeNew pairing mode, this is the value of the nfc_pairing_mode_t enum.
Return values
NRF_SUCCESSIf new pairing mode has been set correctly.
NRF_ERROR_INVALID_PARAMIf pairing mode is invalid.
OtherOther error codes might be returned depending on used modules.
ret_code_t nfc_ble_pair_on_pm_params_req ( pm_evt_t const *  p_evt)

Function for replying to PM_EVT_CONN_SEC_PARAMS_REQ.

This function is used to allow dynamic changes in the Peer Manager security parameters depending on security parameters obtained from the peer. This is essential for dynamic switching between Legacy OOB and LESC OOB pairing modes when pairing library works in NFC_PAIRING_MODE_GENERIC_OOB mode.

Note
This function invokes the pm_conn_sec_params_reply function.
Parameters
[in]p_evtPointer to the Peer Manager event struct with information about peer security parameters.
Return values
NRF_SUCCESSIf proper reply has been sent or library does not need to reply.
NRF_ERROR_NULLIf pointer to the Peer Manager event is NULL.
OtherOther error codes might be returned by the pm_conn_sec_params_reply function.

Documentation feedback | Developer Zone | Subscribe | Updated