This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2650: How to determine BLE Spec version?

Part Number: CC2650
Other Parts Discussed in Thread: BLE-STACK,

I have a CC2650 that will get connected to different iPhones - how do I determine programmatically which BLE version (or alternately, iOS version) is being used?

  • Hi,

    Can you elaborate on what you mean by BLE version? What Bluetooth Specification features you support is dependent on the BLE SW running on the CC2650.

    Cheers,
    Fredrik
  • The CC2650 has TI's BLE-Stack v2.1 right now, which I understand supports BLE 4.1. This will be updated to use BLE-Stack 2.2 (& consequently have BLE 4.2 support) in the future. When using my app on different iPhones, the CC2650 needs to know which version of iOS is being used, so that I can accordingly adjust the BLE Connection Interval in my code.
  • Bumping since I'm looking to update to BLE-Stack 2.2.1 shortly.
  • Since your iOS app presumably knows the version of iOS it is running against, you could define a custom characteristic on the server that you write the iOS version ID to from the phone (client). Your BLE app could then request the desired conn interval based on the value written to this custom char. As an example of a custom char used to control the conn interval request, see the Connection Control Service on the CC2650STK SensorTag in BLE-Stack v2.2.1.

    Beyond that, you could use the HCI_ReadRemoteVersionInfoCmd API to query the LL version of the peer device. I'm not sure if this is a good indicator of the iOS version though, since they presumably could have different iOS versions that support the same BT core spec version.

    Best wishes