noble / noble

A Node.js BLE (Bluetooth Low Energy) central module
MIT License
3.42k stars 863 forks source link

Minimum connection interval for OSX? #581

Open daterdots opened 7 years ago

daterdots commented 7 years ago

We have an application where we are subscribing to notifications from a peripheral. If we set the peripheral's update rate to anything less than ~100ms, our Noble app running on OSX will miss some fraction of the notifications (interestingly, we seem to get 2 in a row, then skip some, then two more in a row, then skip some, so this could be due to a negotiation for 2 packets per connection interval?). It seems like what's going on is that the central (Noble + OSX) can't negotiate a connection interval less that 100ms, and that we are getting 2 packets per connection. Does this seem right? Is there any way to reduce the connection interval? My issue seems similar to this issue.

sandeepmistry commented 7 years ago

Does this seem right? Is there any way to reduce the connection interval?

@daterdots noble doesn't really have control of this. It's probably a limitation of the CoreBluetooth framework and blued.

Xcode hardware IO tools includes a Packet Logger app that can be used to trace whats going. Could you try that out and report back?