This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Questions about connection interval negotiation

I would like to learn a little more about the process of negotiating a connection interval between an iOS and Android central and a nRF51 peripheral.

So, here are my questions:

  1. I have experimented and saw that I could provide the same value for ble_gap_conn_params_t.min_conn_interval and ble_gap_conn_params_t.max_conn_interval to attempt to force the connection interval to that value. So far, I have not encountered any problems. But are there any potential problems with this?
  2. I have learned that it is possible that a central device could not support the connection interval I restricted with min_conn_interval and max_conn_interval, and in such case it would decided its own connection interval. In this case:
  • How likely does this happen?
  • Is there a particular preferred connection interval value to minimize this chance?
  • Would the central device attempt to use a connection interval as low as it could get to, or would it just chose a certain default value?

A little overview of my situation, in case someone are curious or see a better approach than what I am heading towards:

In my application, at certain events I will have a stream of data needed to be forwarded via a GATT characteristics. Experiments show that processing the stream of data takes much shorter than the connection interval, so I concluded that a delay between each call to the notifying function is necessary.

Related