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.

CC2640R2F: More Services and Characteristics + IPAD behaves odd compared to Android

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640

Hello,

I'm using the project zero. I added there 10 services(to the existing ones) with 10 characteristics. I used the heap manager.

My problem is when I try to connect with an IPAD I can only use 8 off my additional services. But on android I am able to use 9 services. Why is there a difference I know both systems should be able to work with more services and characteristics and how can I increase the number of characteristics?

In detail:

Android:

  • The Logs says that there where no error from the Initialisation of the services and characteristics. The android device is finding the CC2640R2F (10 services with 10 characteristics). When I press connect the smartphone is thelling me it's connecting and after ~30 seconds it stopped. The Log output didn't changed while I tryed to connect. The last message in the log is still "Advertising" but when I scan again the CC2640R2F is gone and can be found again after a reset.  I think the connection is timeouting.

IPAD:

  • With 10 services and 10 characteristics IPAD behaves like the android device.
  • When there are 9 serrvices with 10 characteristics the IPAD is trying to connect to the CC2640R2F but not able to. The Log of the CC2640 says the IPAD is connected right after this the MTU is changed to 65 bytes. Then the state changes to 4 and after this to 2. But after the Disconnect I can reconnect to the CC2640 again without resetting it.

I would like to know how to fix my problem that I can use 10 services or more. I think there is a problem with the heap but shouldn't the heap manager solve this?

Additionaly it would be interesting my the Android and IOS behaves differently. I mean they both should be able to handle this many services and characteristics.

Thanks in advance

  • Hello,

    Newer iOS versions support DLE, so that could be part of why you see differences between iOS and Android.

    I agree with your assessment, this could be an issue with the HEAP, therefore please take a look at this section of the Stack User's Guide. dev.ti.com/.../ble-index.html

    This should give us more information if it's a HEAP issue or not. Now if this is a HEAP issue, you could enable Cache As RAM to free some HEAP. Please also take a look at this section of the Stack User's Guide dev.ti.com/.../cache-as-ram.html

    Hopefully this helps.

    David