ios – Unusual notification interval with Flutter Reactive BLE


I’m constructing an iOS app the place I have to show some “real-time” knowledge coming from a tool related over BLE. I’m utilizing the flutter_reactive_ble library which has been extensively advised on-line and I efficiently applied all of the mechanisms to handle connections and messages however I’m fighting the notifications charge.

The notification payload despatched by the gadget is a 30 byte array and ideally I would wish a notification charge of about 50 per second, so at most 20ms between every of them.

I do know that this notification charge is instantly associated to the connection intervals negotiated between the central (telephone) and the peripheral (sensor) and I additionally know that the minimal connection interval supported by iOS is 15ms. The gadget requests 15-30ms as min-max connection intervals (as per Apple tips) however since is just not straightforward to know which intervals have been truly negotiated I did some exams so as to perceive, just by printing within the console the time distance between consequent notifications.

At first, I compelled the gadget firmware to ship updates simply as soon as each 30ms (max connection interval) and I’ve acquired notifications each 28ms – 32ms on the app aspect, as anticipated I’d say, however too gradual for my necessities.

Then, I attempted to pressure updates each 15ms and within the app I’ve acquired an odd constant notification sample of 30ms (nonetheless +-2ms) adopted by 1ms within the app.

Undecided what’s occurring but when I contemplate 2 notifications obtained in round 31ms, it will exhibit a connection interval efficiently negotiated at 15ms. In any case it’s not what I need because the requirement is to refresh knowledge STRICTLY each 15ms.

Does somebody have skilled related points? It’s one thing I ought to anticipate from a 15ms interval?

Thanks upfront!


Leave a Reply