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:
- I have experimented and saw that I could provide the same value for
ble_gap_conn_params_t.min_conn_interval
andble_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? - I have learned that it is possible that a central device could not support the connection interval I restricted with
min_conn_interval
andmax_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.