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.

SDK 1.2.1 with iPhone 4S

Hi there,

I just updated my sdk from 1.1a to 1.2.1, the problem is now, iPhone 4S cannot connect the keyfob demo. Is there any solution for this issue?

Regards,

YC

  • I traced the problem on iPhone side, it seems that it cannot discover any services.

    Using 1.2.1 firmware:

    didDiscoverPeripheral

    Stopped Scanning

    Known peripherals : 1

    List of currently known peripherals : 

    0  |  00000000-0000-0000-826E-35448A150116

    ------------------------------------

    Peripheral Info :

    UUID : 00000000-0000-0000-826E-35448A150116

    RSSI : 0

    Name : CC2540DK-mini Keyfo

    isConnected : 0

    -------------------------------------

    Connecting to peripheral with UUID : 00000000-0000-0000-826E-35448A150116

    Connection to peripheral with UUID : 00000000-0000-0000-826E-35448A150116 successfull

    2012-05-19 20:39:51.672 BLE Demo[290:707] Disconnected!!!

    Using 1.1a firmware:

    didDiscoverPeripheral

    Stopped Scanning

    Known peripherals : 1

    List of currently known peripherals : 

    0  |  00000000-0000-0000-826E-35448A150116

    ------------------------------------

    Peripheral Info :

    UUID : 00000000-0000-0000-826E-35448A150116

    RSSI : 0

    Name : CC2540DK-mini Keyfo

    isConnected : 0

    -------------------------------------

    Connecting to peripheral with UUID : 00000000-0000-0000-826E-35448A150116

    Connection to peripheral with UUID : 00000000-0000-0000-826E-35448A150116 successfull

    Services of peripheral with UUID : 00000000-0000-0000-826E-35448A150116 found

    Fetching characteristics for service with UUID : <1800>

    Fetching characteristics for service with UUID : <1801>

    Fetching characteristics for service with UUID : <180a>

    Fetching characteristics for service with UUID : <1803>

    Fetching characteristics for service with UUID : <1802>

    Fetching characteristics for service with UUID : <1804>

    Fetching characteristics for service with UUID : <ffb0>

    Fetching characteristics for service with UUID : <ffa0>

    Fetching characteristics for service with UUID : <ffe0>

    Characteristics of service with UUID : <1800> found

    Found characteristic <2a00>

    Found characteristic <2a01>

    Found characteristic <2a02>

    Found characteristic <2a03>

    Found characteristic <2a04>

    Characteristics of service with UUID : <1801> found

    Found characteristic <2a05>

    Characteristics of service with UUID : <180a> found

    Found characteristic <2a23>

    Found characteristic <2a24>

    Found characteristic <2a25>

    Found characteristic <2a26>

    Found characteristic <2a27>

    Found characteristic <2a28>

    Found characteristic <2a29>

    Found characteristic <2a2a>

    Characteristics of service with UUID : <1803> found

    Found characteristic <2a06>

    Characteristics of service with UUID : <1802> found

    Found characteristic <2a06>

    Characteristics of service with UUID : <1804> found

    Found characteristic <2a07>

    Characteristics of service with UUID : <ffb0> found

    Found characteristic <ffb1>

    Found characteristic <ffb2>

    Characteristics of service with UUID : <ffa0> found

    Found characteristic <ffa1>

    Found characteristic <ffa2>

    Found characteristic <ffa3>

    Found characteristic <ffa4>

    Found characteristic <ffa5>

    Characteristics of service with UUID : <ffe0> found

    Found characteristic <ffe1>

    Finished discovering characteristicsEnabling accelerometer

    Updated notification state for characteristic with UUID <ffa3> on service with  UUID <ffa0> on peripheral with UUID 00000000-0000-0000-826E-35448A150116

    Updated notification state for characteristic with UUID <ffa4> on service with  UUID <ffa0> on peripheral with UUID 00000000-0000-0000-826E-35448A150116

    Updated notification state for characteristic with UUID <ffa5> on service with  UUID <ffa0> on peripheral with UUID 00000000-0000-0000-826E-35448A150116

    Updated notification state for characteristic with UUID <ffe1> on service with  UUID <ffe0> on peripheral with UUID 00000000-0000-0000-826E-35448A150116

    Updated notification state for characteristic with UUID <2a07> on service with  UUID <1804> on peripheral with UUID 00000000-0000-0000-826E-35448A150116

  • You've discovered the fun "changing UUID" problem. The UUIDs used in the keyfob changed as of 1.2 but unfortunately the documentation and the iPhone project weren't updated. I was able to use my iPhone to connect with a 1.2.1 keyfob and could read acceleration, but not battery level. You have to go into the iPhone code and update the UUIDs.

    --Derek

  • What are the new UUIDs? Or, better still, where can they be found?

  • have a look at the ".h"-files in the ble\profiles folder.

    there you should find the UUIDs for the servcies and characteristics...

  • Perhaps the UUIDs should not be set as #defines, or all the UUIDs should be in one header file.  This is a reoccurring issue that should be seriously addressed by TI.  If you create a useful App, your update schedule may not match that of the BLE device.

    There should be a separate header file that has all the UUID changes per BLE Stack revision.  They should not be define statements so that the App can scan through to see what version of BLE the device is using and call the appropriate UUID configuration or vis versa.  

    Let us build for backward compatibility. Unless of course the UUID config cannot be changed during runtime on the device.

    Thanks