Use shorter "instant" when updating Bluetooth LE connection parameters (LL_CONNECTION_UPDATE_REQ)
| Originator: | martijn | ||
| Number: | rdar://21400457 | Date Originated: | 16-Jun-2015 01:51 PM |
| Status: | Open | Resolved: | No |
| Product: | Hardware | Product Version: | |
| Classification: | Enhancement | Reproducible: | N/A |
Summary: It seems that currently the Bluetooth controller in the iOS devices uses an "instant" of +13 connection events in the LL_CONNECTION_UPDATE_REQ link layer command. Our accessory uses relatively long (let's say ~600ms) connection intervals to conserve energy. When the user interacts with the accessory, it requests a shorter interval to improve the responsiveness during user interactions. However, this takes 600ms * 13 = 7.8 seconds for such a change to take effect. This is unacceptably long. The Bluetooth 4.0 specification prescribes a minimum of +6 connection events. This would decreases the delay to 3.6 seconds. We started using the Slave Latency feature to overcome part of the delay. Using 4 as Slave Latency and 150ms as connection interval, a similar power profile is met. The cost of switching now is 150ms * 13 = 1950ms, which is still a noticeable delay for the user. If the minimum "instant" distance of +6 connection events would be used, the delay would be cut down to 150ms * 6 = 900ms. Steps to Reproduce: N/A Expected Results: N/A Actual Results: N/A Version: Tested on iPhone 5, iOS 9 beta 1 Notes: Configuration: Tested on iPhone 5, iOS 9 beta 1 Attachments:
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!