bt_gatt_client_unpair()

bt_gatt_client_unpair()

Description

Unpairs and deletes pairing information from previously paired device.

Syntax

bt_gatt_client_unpair(connection_id);

Parameters

Variable

Input

Variable

Input

connection_id

Connection id which was described in bt_gatt_client_connect function. Could be either 0 or 1.

Returns

Return value

Return explanation

SCRIPT_OPERATION_SUCCESS

Successfully unpaired.

SCRIPT_OPERATION_FAILED

Failed to unpair. This typically occurs when the connection has already been terminated or was never established.

SCRIPT_NO_ACCESS

Bluetooth GATT client is not initialized.

Function call example

#include <io> #include <read> #include <float> #include <string> #include <core> #include <write> #include <define> #include <socket> #include <bluetooth> #define FIRST_CONNECTION 0 #define SECOND_CONNECTION 1 #define PAIR_PASSKEY 123456 new peer_mac_address[] = [0xFF, 0x48, 0x80, 0x33, 0xE3, 0xA8]; main() { bt_init(); bt_gatt_client_init(); bt_gatt_client_passkey_set(SECOND_CONNECTION, PAIR_PASSKEY); while (bt_gatt_client_connect(SECOND_CONNECTION, BT_ADDR_RANDOM, peer_mac_address) != SCRIPT_OPERATION_SUCCESS) { Delay(100); } bt_gatt_client_pair(SECOND_CONNECTION, BT_SECURITY_L2); bt_gatt_client_unpair(SECOND_CONNECTION); for(;;) { Delay(100); } }

 

Debug example

This example initializes BLE, initializes GATT Client module, sets passkey for a connection, connects to peer device, performs pairing and then unpairs. Example uses debug_print function to print information log to Initialized peripheral.

#include <io> #include <read> #include <float> #include <string> #include <core> #include <write> #include <define> #include <socket> #include <bluetooth> #include <debug> #define RS232_SPEED 115200 #define WORD_LENGTH WORDLENGTH_8 #define STOP_BITS STOPBITS_1 #define PARITY PARITY_NONE #define FIRST_CONNECTION 0 #define SECOND_CONNECTION 1 #define PAIR_PASSKEY 123456 new peer_mac_address[] = [0xFF, 0x48, 0x80, 0x33, 0xE3, 0xA8]; main() { Init(RS232, RS232_SPEED, WORD_LENGTH, STOP_BITS, PARITY); debug_init(RS232); if (bt_init() != SCRIPT_OPERATION_SUCCESS) { // Handle failed bt_init here debug_print("bt_init failed\r\n"); } else { debug_print("bt_init succeeded\r\n"); } if (bt_gatt_client_init() != SCRIPT_OPERATION_SUCCESS) { // Handle failed bt_gatt_client_init here debug_print("bt_gatt_client_init failed\r\n"); } else { debug_print("bt_gatt_client_init succeeded\r\n"); } if (bt_gatt_client_passkey_set(FIRST_CONNECTION, PAIR_PASSKEY) != SCRIPT_OPERATION_SUCCESS) { // Handle failed bt_gatt_client_passkey_set here debug_print("bt_gatt_client_passkey_set failed\r\n"); } else { debug_print("bt_gatt_client_passkey_set succeeded\r\n"); } debug_print("Connecting to a device with this MAC address: %X:%X:%X:%X:%X:%X\r\n", peer_mac_address[0], peer_mac_address[1], peer_mac_address[2], peer_mac_address[3], peer_mac_address[4], peer_mac_address[5]); while (bt_gatt_client_connect(FIRST_CONNECTION, BT_ADDR_RANDOM, peer_mac_address) != SCRIPT_OPERATION_SUCCESS) { debug_print("bt_gatt_client_connect time-out\r\n"); Delay(100); } debug_print("Connected successfully\r\n"); if (bt_gatt_client_pair(FIRST_CONNECTION, BT_SECURITY_L2) != SCRIPT_OPERATION_SUCCESS) { // Handle failed bt_gatt_client_pair here debug_print("bt_gatt_client_pair failed\r\n"); } else { debug_print("bt_gatt_client_pair succeeded\r\n"); } if (bt_gatt_client_unpair(FIRST_CONNECTION) != SCRIPT_OPERATION_SUCCESS) { // Handle failed bt_gatt_client_unpair here debug_print("bt_gatt_client_unpair failed\r\n"); } else { debug_print("bt_gatt_client_unpair succeeded\r\n"); } for(;;) { Delay(1000); } }