nRF51 SDK - S120 SoftDevice
|
Functions | |
uint32_t | sd_ble_gap_address_set (ble_gap_addr_t const *p_addr) |
Set local Bluetooth address. More... | |
uint32_t | sd_ble_gap_address_get (ble_gap_addr_t *p_addr) |
Get local Bluetooth address. More... | |
uint32_t | sd_ble_gap_adv_data_set (uint8_t const *p_data, uint8_t dlen, uint8_t const *p_sr_data, uint8_t srdlen) |
Set, clear or update advertising and scan response data. More... | |
uint32_t | sd_ble_gap_adv_start (ble_gap_adv_params_t const *p_adv_params) |
Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure). More... | |
uint32_t | sd_ble_gap_adv_stop (void) |
Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure). More... | |
uint32_t | sd_ble_gap_conn_param_update (uint16_t conn_handle, ble_gap_conn_params_t const *p_conn_params) |
Update connection parameters. More... | |
uint32_t | sd_ble_gap_disconnect (uint16_t conn_handle, uint8_t hci_status_code) |
Disconnect (GAP Link Termination). More... | |
uint32_t | sd_ble_gap_tx_power_set (int8_t tx_power) |
Set the radio's transmit power. More... | |
uint32_t | sd_ble_gap_appearance_set (uint16_t appearance) |
Set GAP Appearance value. More... | |
uint32_t | sd_ble_gap_appearance_get (uint16_t *p_appearance) |
Get GAP Appearance value. More... | |
uint32_t | sd_ble_gap_ppcp_set (ble_gap_conn_params_t const *p_conn_params) |
Set GAP Peripheral Preferred Connection Parameters. More... | |
uint32_t | sd_ble_gap_ppcp_get (ble_gap_conn_params_t *p_conn_params) |
Get GAP Peripheral Preferred Connection Parameters. More... | |
uint32_t | sd_ble_gap_device_name_set (ble_gap_conn_sec_mode_t const *p_write_perm, uint8_t const *p_dev_name, uint16_t len) |
Set GAP device name. More... | |
uint32_t | sd_ble_gap_device_name_get (uint8_t *p_dev_name, uint16_t *p_len) |
Get GAP device name. More... | |
uint32_t | sd_ble_gap_authenticate (uint16_t conn_handle, ble_gap_sec_params_t const *p_sec_params) |
Initiate GAP Authentication procedure. More... | |
uint32_t | sd_ble_gap_sec_params_reply (uint16_t conn_handle, uint8_t sec_status, ble_gap_sec_params_t const *p_sec_params, ble_gap_sec_keyset_t const *p_sec_keyset) |
Reply with GAP security parameters. More... | |
uint32_t | sd_ble_gap_auth_key_reply (uint16_t conn_handle, uint8_t key_type, uint8_t const *p_key) |
Reply with an authentication key. More... | |
uint32_t | sd_ble_gap_encrypt (uint16_t conn_handle, ble_gap_master_id_t const *p_master_id, ble_gap_enc_info_t const *p_enc_info) |
Initiate GAP Encryption procedure. More... | |
uint32_t | sd_ble_gap_sec_info_reply (uint16_t conn_handle, ble_gap_enc_info_t const *p_enc_info, ble_gap_irk_t const *p_id_info, ble_gap_sign_info_t const *p_sign_info) |
Reply with GAP security information. More... | |
uint32_t | sd_ble_gap_conn_sec_get (uint16_t conn_handle, ble_gap_conn_sec_t *p_conn_sec) |
Get the current connection security. More... | |
uint32_t | sd_ble_gap_rssi_start (uint16_t conn_handle) |
Start reporting the received signal strength to the application. More... | |
uint32_t | sd_ble_gap_rssi_stop (uint16_t conn_handle) |
Stop reporting the received singnal strength. More... | |
uint32_t | sd_ble_gap_scan_start (ble_gap_scan_params_t const *p_scan_params) |
Start scanning (GAP Discovery procedure, Observer Procedure). More... | |
uint32_t | sd_ble_gap_scan_stop (void) |
Stop scanning (GAP Discovery procedure, Observer Procedure). More... | |
uint32_t | sd_ble_gap_connect (ble_gap_addr_t const *p_peer_addr, ble_gap_scan_params_t const *p_scan_params, ble_gap_conn_params_t const *p_conn_params) |
Create a connection (GAP Link Establishment). More... | |
uint32_t | sd_ble_gap_connect_cancel (void) |
Cancel a connection establishment. More... | |
uint32_t sd_ble_gap_address_get | ( | ble_gap_addr_t * | p_addr | ) |
Get local Bluetooth address.
[out] | p_addr | Pointer to address structure to be filled in. |
NRF_SUCCESS | Address successfully retrieved. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
uint32_t sd_ble_gap_address_set | ( | ble_gap_addr_t const * | p_addr | ) |
Set local Bluetooth address.
[in] | p_addr | Pointer to address structure. |
NRF_SUCCESS | Address successfully set. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
BLE_ERROR_GAP_INVALID_BLE_ADDR | Invalid address. |
uint32_t sd_ble_gap_adv_data_set | ( | uint8_t const * | p_data, |
uint8_t | dlen, | ||
uint8_t const * | p_sr_data, | ||
uint8_t | srdlen | ||
) |
Set, clear or update advertising and scan response data.
[in] | p_data | Raw data to be placed in advertising packet. If NULL, no changes are made to the current advertising packet data. |
[in] | dlen | Data length for p_data. Max size: BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_data is NULL, can be 0 if p_data is not NULL. |
[in] | p_sr_data | Raw data to be placed in scan response packet. If NULL, no changes are made to the current scan response packet data. |
[in] | srdlen | Data length for p_sr_data. Max size: BLE_GAP_ADV_MAX_SIZE octets. Should be 0 if p_sr_data is NULL, can be 0 if p_data is not NULL. |
NRF_SUCCESS | Advertising data successfully updated or cleared. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_FLAGS | Invalid combination of advertising flags supplied. |
NRF_ERROR_INVALID_DATA | Invalid data type(s) supplied, check the advertising data format specification. |
NRF_ERROR_INVALID_LENGTH | Invalid data length(s) supplied. |
BLE_ERROR_GAP_UUID_LIST_MISMATCH | Invalid UUID list supplied. |
uint32_t sd_ble_gap_adv_start | ( | ble_gap_adv_params_t const * | p_adv_params | ) |
Start advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
[in] | p_adv_params | Pointer to advertising parameters structure. |
NRF_SUCCESS | The BLE stack has started advertising. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied, check the accepted ranges and limits. |
BLE_ERROR_GAP_INVALID_BLE_ADDR | Invalid Bluetooth address supplied. |
BLE_ERROR_GAP_DISCOVERABLE_WITH_WHITELIST | Discoverable mode and whitelist incompatible. |
NRF_ERROR_BUSY | The stack is busy, process pending events and retry. |
uint32_t sd_ble_gap_adv_stop | ( | void | ) |
Stop advertising (GAP Discoverable, Connectable modes, Broadcast Procedure).
NRF_SUCCESS | The BLE stack has stopped advertising. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation (most probably not in advertising state). |
uint32_t sd_ble_gap_appearance_get | ( | uint16_t * | p_appearance | ) |
Get GAP Appearance value.
[out] | p_appearance | Pointer to appearance (16-bit) to be filled in, see BLE_APPEARANCES. |
NRF_SUCCESS | Appearance value retrieved successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
uint32_t sd_ble_gap_appearance_set | ( | uint16_t | appearance | ) |
Set GAP Appearance value.
[in] | appearance | Appearance (16-bit), see BLE_APPEARANCES. |
NRF_SUCCESS | Appearance value set successfully. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
uint32_t sd_ble_gap_auth_key_reply | ( | uint16_t | conn_handle, |
uint8_t | key_type, | ||
uint8_t const * | p_key | ||
) |
Reply with an authentication key.
[in] | conn_handle | Connection handle. |
[in] | key_type | See BLE_GAP_AUTH_KEY_TYPES. |
[in] | p_key | If key type is BLE_GAP_AUTH_KEY_TYPE_NONE, then NULL. If key type is BLE_GAP_AUTH_KEY_TYPE_PASSKEY, then a 6-byte ASCII string (digit 0..9 only, no NULL termination). If key type is BLE_GAP_AUTH_KEY_TYPE_OOB, then a 16-byte OOB key value in Little Endian format. |
This function is only used to reply to a BLE_GAP_EVT_AUTH_KEY_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
NRF_SUCCESS | Authentication key successfully set. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_authenticate | ( | uint16_t | conn_handle, |
ble_gap_sec_params_t const * | p_sec_params | ||
) |
Initiate GAP Authentication procedure.
[in] | conn_handle | Connection handle. |
[in] | p_sec_params | Pointer to the ble_gap_sec_params_t structure with the security parameters to be used during the pairing procedure. In the peripheral role, only the timeout, bond and mitm fields of this structure are used. |
In the central role, this function will send an SMP Pairing Request, otherwise in the peripheral role, an SMP Security Request will be sent.
NRF_SUCCESS | Successfully initiated authentication procedure. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
NRF_ERROR_BUSY | The stack is busy, process pending events and retry. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_conn_param_update | ( | uint16_t | conn_handle, |
ble_gap_conn_params_t const * | p_conn_params | ||
) |
Update connection parameters.
In the central role this will initiate a Link Layer connection parameter update procedure, otherwise in the peripheral role, this will send the corresponding L2CAP request and wait for the central to perform the procedure. In both cases, and regardless of success or failure, the application will be informed of the result with a BLE_GAP_EVT_CONN_PARAM_UPDATE event.
This function can be used both to reply to a BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST or to start the procedure unrequested.
[in] | conn_handle | Connection handle. |
[in] | p_conn_params | Pointer to desired connection parameters. If NULL is provided on a peripheral role, the parameters in the PPCP characteristic of the GAP service will be used instead. If NULL is provided on a central role and in response to a BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST, the peripheral request will be rejected |
NRF_SUCCESS | The Connection Update procedure has been started successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied, check parameter limits and constraints. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
NRF_ERROR_BUSY | Procedure already in progress or not allowed at this time, process pending events and wait for pending procedures to complete and retry. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
NRF_ERROR_NO_MEM | Not enough memory to complete operation. |
uint32_t sd_ble_gap_conn_sec_get | ( | uint16_t | conn_handle, |
ble_gap_conn_sec_t * | p_conn_sec | ||
) |
Get the current connection security.
[in] | conn_handle | Connection handle. |
[out] | p_conn_sec | Pointer to a ble_gap_conn_sec_t structure to be filled in. |
NRF_SUCCESS | Current connection security successfully retrieved. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_connect | ( | ble_gap_addr_t const * | p_peer_addr, |
ble_gap_scan_params_t const * | p_scan_params, | ||
ble_gap_conn_params_t const * | p_conn_params | ||
) |
Create a connection (GAP Link Establishment).
[in] | p_peer_addr | Pointer to peer address. If the selective bit is set in ble_gap_scan_params_t, then this must be NULL. |
[in] | p_scan_params | Pointer to scan parameters structure. |
[in] | p_conn_params | Pointer to desired connection parameters. |
NRF_SUCCESS | Successfully initiated connection procedure. |
NRF_ERROR_INVALID_ADDR | Invalid parameter(s) pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_GAP_INVALID_BLE_ADDR | Invalid Peer address. |
NRF_ERROR_NO_MEM | limit of available connections reached. |
NRF_ERROR_BUSY | The stack is busy, process pending events and retry. |
uint32_t sd_ble_gap_connect_cancel | ( | void | ) |
Cancel a connection establishment.
NRF_SUCCESS | Successfully cancelled an inprogress connection procedure. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
uint32_t sd_ble_gap_device_name_get | ( | uint8_t * | p_dev_name, |
uint16_t * | p_len | ||
) |
Get GAP device name.
[out] | p_dev_name | Pointer to an empty buffer where the UTF-8 non NULL-terminated string will be placed. Set to NULL to obtain the complete device name length. |
[in,out] | p_len | Length of the buffer pointed by p_dev_name, complete device name length on output. |
NRF_SUCCESS | GAP device name retrieved successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_DATA_SIZE | Invalid data size(s) supplied. |
uint32_t sd_ble_gap_device_name_set | ( | ble_gap_conn_sec_mode_t const * | p_write_perm, |
uint8_t const * | p_dev_name, | ||
uint16_t | len | ||
) |
Set GAP device name.
[in] | p_write_perm | Write permissions for the Device Name characteristic see ble_gap_conn_sec_mode_t. |
[in] | p_dev_name | Pointer to a UTF-8 encoded, non NULL-terminated string. |
[in] | len | Length of the UTF-8, non NULL-terminated string pointed to by p_dev_name in octets (must be smaller or equal than BLE_GAP_DEVNAME_MAX_LEN). |
NRF_SUCCESS | GAP device name and permissions set successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_DATA_SIZE | Invalid data size(s) supplied. |
uint32_t sd_ble_gap_disconnect | ( | uint16_t | conn_handle, |
uint8_t | hci_status_code | ||
) |
Disconnect (GAP Link Termination).
This call initiates the disconnection procedure, and its completion will be communicated to the application with a BLE_GAP_EVT_DISCONNECTED event.
[in] | conn_handle | Connection handle. |
[in] | hci_status_code | HCI status code, see BLE_HCI_STATUS_CODES (accepted values are BTLE_REMOTE_USER_TERMINATED_CONNECTION and BTLE_CONN_INTERVAL_UNACCEPTABLE). |
NRF_SUCCESS | The disconnection procedure has been started successfully. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation (disconnection is already in progress). |
uint32_t sd_ble_gap_encrypt | ( | uint16_t | conn_handle, |
ble_gap_master_id_t const * | p_master_id, | ||
ble_gap_enc_info_t const * | p_enc_info | ||
) |
Initiate GAP Encryption procedure.
[in] | conn_handle | Connection handle. |
[in] | p_master_id | Pointer to a ble_gap_master_id_t master identification structure. |
[in] | p_enc_info | Pointer to a ble_gap_enc_info_t encryption information structure. |
In the central role, this function will initiate the encryption procedure using the encryption information provided.
NRF_SUCCESS | Successfully initiated authentication procedure. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
BLE_ERROR_INVALID_ROLE | Operation is not supported in the Peripheral role. |
NRF_ERROR_BUSY | Procedure already in progress or not allowed at this time, wait for pending procedures to complete and retry. |
uint32_t sd_ble_gap_ppcp_get | ( | ble_gap_conn_params_t * | p_conn_params | ) |
Get GAP Peripheral Preferred Connection Parameters.
[out] | p_conn_params | Pointer to a ble_gap_conn_params_t structure where the parameters will be stored. |
NRF_SUCCESS | Peripheral Preferred Connection Parameters retrieved successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
uint32_t sd_ble_gap_ppcp_set | ( | ble_gap_conn_params_t const * | p_conn_params | ) |
Set GAP Peripheral Preferred Connection Parameters.
[in] | p_conn_params | Pointer to a ble_gap_conn_params_t structure with the desired parameters. |
NRF_SUCCESS | Peripheral Preferred Connection Parameters set successfully. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
uint32_t sd_ble_gap_rssi_start | ( | uint16_t | conn_handle | ) |
Start reporting the received signal strength to the application.
A new event is reported whenever the RSSI value changes, until sd_ble_gap_rssi_stop is called.
[in] | conn_handle | Connection handle. |
NRF_SUCCESS | Successfully activated RSSI reporting. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_rssi_stop | ( | uint16_t | conn_handle | ) |
Stop reporting the received singnal strength.
An RSSI change detected before the call but not yet received by the application may be reported after sd_ble_gap_rssi_stop has been called.
[in] | conn_handle | Connection handle. |
NRF_SUCCESS | Successfully deactivated RSSI reporting. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_scan_start | ( | ble_gap_scan_params_t const * | p_scan_params | ) |
Start scanning (GAP Discovery procedure, Observer Procedure).
[in] | p_scan_params | Pointer to scan parameters structure. |
NRF_SUCCESS | Successfully initiated scanning procedure. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_BUSY | The stack is busy, process pending events and retry. |
NRF_ERROR_NOT_SUPPORTED | A selected feature is not supported (selective scanning). |
uint32_t sd_ble_gap_scan_stop | ( | void | ) |
Stop scanning (GAP Discovery procedure, Observer Procedure).
NRF_SUCCESS | Successfully stopped scanning procedure. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation (most probably not in scanning state). |
uint32_t sd_ble_gap_sec_info_reply | ( | uint16_t | conn_handle, |
ble_gap_enc_info_t const * | p_enc_info, | ||
ble_gap_irk_t const * | p_id_info, | ||
ble_gap_sign_info_t const * | p_sign_info | ||
) |
Reply with GAP security information.
[in] | conn_handle | Connection handle. |
[in] | p_enc_info | Pointer to a ble_gap_enc_info_t encryption information structure. May be NULL to signal none is available. |
[in] | p_id_info | Pointer to a ble_gap_irk_t identity information structure. May be NULL to signal none is available. |
[in] | p_sign_info | Pointer to a ble_gap_sign_info_t signing information structure. May be NULL to signal none is available. |
This function is only used to reply to a BLE_GAP_EVT_SEC_INFO_REQUEST, calling it at other times will result in NRF_ERROR_INVALID_STATE.
NRF_SUCCESS | Successfully accepted security information. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_sec_params_reply | ( | uint16_t | conn_handle, |
uint8_t | sec_status, | ||
ble_gap_sec_params_t const * | p_sec_params, | ||
ble_gap_sec_keyset_t const * | p_sec_keyset | ||
) |
Reply with GAP security parameters.
[in] | conn_handle | Connection handle. |
[in] | sec_status | Security status, see BLE_GAP_SEC_STATUS. |
[in] | p_sec_params | Pointer to a ble_gap_sec_params_t security parameters structure. As a central this must be set to NULL, as the parameters have already been provided during a previous call to sd_ble_gap_authenticate. |
[in,out] | p_sec_keyset | Pointer to a ble_gap_sec_keyset_t security keyset structure. Any keys distributed as a result of the ongoing security procedure will be stored into the memory referenced inside this structure. Bluetooth addresses distributed by the local device constitute an exception, since those will have to be filled in by the user before calling this function. A NULL pointer will result in the keys not being stored at all. |
This function is only used to reply to a BLE_GAP_EVT_SEC_PARAMS_REQUEST, calling it at other times will result in an NRF_ERROR_INVALID_STATE.
NRF_SUCCESS | Successfully accepted security parameter from the application. |
NRF_ERROR_INVALID_ADDR | Invalid pointer supplied. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |
NRF_ERROR_INVALID_STATE | Invalid state to perform operation. |
BLE_ERROR_INVALID_CONN_HANDLE | Invalid connection handle supplied. |
uint32_t sd_ble_gap_tx_power_set | ( | int8_t | tx_power | ) |
Set the radio's transmit power.
[in] | tx_power | Radio transmit power in dBm (accepted values are -40, -30, -20, -16, -12, -8, -4, 0, and 4 dBm). |
NRF_SUCCESS | Successfully changed the transmit power. |
NRF_ERROR_INVALID_PARAM | Invalid parameter(s) supplied. |