SWRA772 august   2023 CC2564C

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Running the Bluetooth Code
  6. Demo Application
    1. 3.1 Device 1 (Server) Setup on the Demo Application
    2. 3.2 Device 2 (Client) Setup on the Demo Application
    3. 3.3 Initiating Connection from Device 2
    4. 3.4 Identify Supported Services
    5. 3.5 Data Transfer Between Client and Server
    6. 3.6 Multiple SPPLE Connections Guide
  7. Demonstrating SPP LE on an iOS Device with the LightBlue App
    1. 4.1 LightBlue Overview
    2. 4.2 SPP LE Service Overview
      1. 4.2.1 Characteristics
  8. LightBlue as the Client/SPPLEDemo as the Server
    1. 5.1 Connecting the Devices
    2. 5.2 Enabling Notifications
    3. 5.3 Sending Data from LightBlue/Receiving Data in SPPLEDemo
    4. 5.4 Sending Data from SPPLEDemo/Receiving Data in LightBlue
  9. LightBlue as the Server/SPPLEDemo as the Client
    1. 6.1 Connecting the Devices
    2. 6.2 Sending Data from LightBlue/Receiving Data in SPPLEDemo
    3. 6.3 Sending Data from SPPLEDemo/Receiving Data in LightBlue
  10. Application Commands
  11. General Commands
    1. 8.1 Help (DisplayHelp)
    2. 8.2 Get Local Address
    3. 8.3 Set Baud Rate
    4. 8.4 Quit
  12. BR/EDR Commands
  13. 10GAPLE Commands
    1. 10.1  Set Discoverability Mode
    2. 10.2  Set Connectability Mode
    3. 10.3  Set Pairability Mode
    4. 10.4  Change Pairing Parameters
    5. 10.5  Advertise LE
    6. 10.6  Start Scanning
    7. 10.7  Stop Scanning
    8. 10.8  Connect LE
    9. 10.9  Disconnect LE
    10. 10.10 Pair LE
    11. 10.11 LE Pass Key Response
    12. 10.12 LE Query Encryption
    13. 10.13 Set Passkey
    14. 10.14 Discover GAPS
    15. 10.15 Get Local Name
    16. 10.16 Set Local Name
    17. 10.17 Get Remote Name
    18. 10.18 LE User Confirmation Response
    19. 10.19 Enable SC Only
    20. 10.20 Regenerate P256 Local Keys
    21. 10.21 SC Generate OOB Local Params
    22. 10.22 Set Local Appearance
    23. 10.23 Get Local Appearance
  14. 11SPPLE Commands
    1. 11.1 Discover SPPLE
    2. 11.2 Register SPPLE
    3. 11.3 LE Send
    4. 11.4 Configure SPPLE
    5. 11.5 LE Read
    6. 11.6 Loopback
    7. 11.7 Display Raw Mode Data
    8. 11.8 Automatic Read Mode
  15. 12References
  16. 13Revision History

Pair LE

Description

The PairLE command is provided to allow a mechanism of Pairing (or requesting security if a slave) to the connected device. This command calls the SendPairingRequest (BD_ADDR_tBD_ADDR, Boolean_t ConnectionMaster) function using SendPairingRequest (ConnectionBD_ADDR, LocalDeviceIsMaster).

Parameters

Including parameters is not necessary when using this command. A parameter has no effect on the outcome of the command.

Possible Return Values

  • (0) Successfully Set Pairability Mode
  • (-4) FUNCTION_ERROR
  • (-6) INVALID_PARAMETERS_ERROR
  • (-2) BTPS_ERROR_INVALID_BLUETOOTH_STACK_ID
  • (-1) BTPS_ERROR_INVALID_PARAMETER
  • (-56) BTPS_ERROR_GAP_NOT_INITIALIZED
  • (-104) BTPS_ERROR_LOCAL_CONTROLLER_DOES_NOT_SUPPORT_LE
  • (-66) BTPS_ERROR_INSUFFICIENT_RESOURCES
  • (-107) BTPS_ERROR_INVALID_DEVICE_ROLE_MODE

API Calls

  • GAP_LE_Pair_Remote_Device(BluetoothStackID, BD_ADDR, &Capabilities, GAP_LE_Event_Callback, 0)
  • GAP_LE_Request_Security(BluetoothStackID, BD_ADDR, Capabilities.Bonding_Type, Capabilities.MITM, GAP_LE_Event_Callback, 0)

API Prototypes

  • int BTPSAPI GAP_LE_Pair_Remote_Device(unsigned int BluetoothStackID, BD_ADDR_t BD_ADDR, GAP_LE_Pairing_Capabilities_t *Capabilities, GAP_LE_Event_Callback_tGAP_LE_Event_Callback, unsigned long CallbackParameter)
  • int BTPSAPI GAP_LE_Request_Security(unsigned int BluetoothStackID, BD_ADDR_t BD_ADDR, GAP_LE_Bonding_Type_t Bonding_Type, Boolean_t MITM,GAP_LE_Event_Callback_t GAP_LE_Event_Callback, unsigned long CallbackParameter)

Description of API

The GAP_LE_Pair_Remote_Device function is provided to allow a means to pair with a remote, connected, device. This function accepts the device address of the currently connected device to pair with, followed by the pairing capabilities of the local device. This function also accepts as input the GAP LE event callback information to use during the pairing process. This function returns zero if successful or a negative error code if there is an error. This function can only be issued by the master of the connection (the initiator of the connection). The reason is that a slave can only request a security procedure, it cannot initiate a security procedure. The GAP_LE_Request_Security function is provided to allow a means for a slave device to request that the master (of the connection) perform a pairing operation or re-establishing prior security. This function can only be called by a slave device. The reason for this is that the slave can only request for security to be initiated, it cannot initiate the security process itself. This function returns zero if successful or a negative error code if there is an error.