Author Topic: BLE connection interval setting  (Read 1285 times)

0 Members and 1 Guest are viewing this topic.

Offline jmajaTopic starter

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: fi
BLE connection interval setting
« on: April 23, 2017, 02:15:49 pm »
I'm working on a BLE device, that would have low power consumption (~50 uA) and transfers sensor data to a mobile phone etc. handheld device. The data rate is very low, just a few byte/s and it is enough to send every 250 or 500 ms. In order to get the power consumption that low, I need to set the connection interval to 250 or 500 ms.

With little bit testing it seems my Android phone (Samsung S4 Mini, almost three years old) sets the connection interval to 48 ms. When I send a connection parameter update specifying min and max interval, my phone chooses one close to max and replys nicely with update done including the new parameters. So this is fine and seems to even work with setting min and max equal.

Then I tested my old iPAD (maybe 4-5 years old, IOS 8.3, upgraded to 9.35 without a change). It sets the connection interval to 30 ms. When I send a connection parameter update, it just replys with update done with all parameter zeros and doesn't change the connection interval leading to 500 uA power consumption. Shouldn't it reply a refuse, if it's not willing to accept the changes. Or are the zeros a way of refusing? Why it isn't accepting?

I have tried to modify the parameters and read Apple BLE documents, but nothing seems to help.

How common will it be to find handhelds that will not accept changing the connection interval? How can I deal with those? Just disconnect and let the user wonder why it is't working? I can't afford the 500 uA.

What is the meaning of CE length and how should I set the min and max?
 

Offline jmajaTopic starter

  • Frequent Contributor
  • **
  • Posts: 296
  • Country: fi
Re: BLE connection interval setting
« Reply #1 on: April 23, 2017, 02:36:32 pm »
I wasn't trying hard enough. Just after writing I realised iPAD chose a short timeout setting (720 ms vs. Androids 7 s). I was just using it as is and it was too short for a longer connection interval. Now I can set the interval to e.g. 500 ms.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf