Hi, we have a project that we're currently working on, and we're looking for some information on BLE behaviour that would be very helpful. We are currently using SDK 15.3 and softdevice s132 v6.1.1.
We are looking to implement a setup where we would have our nRF52832 in a peripheral role connected to multiple mobile devices (iOS and Android) with central roles. The main goal of the wireless communication is to have the nRF chip send one notification (containing a single 8-bit value) to each connected device once per connection interval. We would also like to be able to send as many notifies as possible to each connected device (ideally ~20/sec each), i.e. have as small a connection interval as possible. Before trying to work out the timing / BLE scheduling, there are a few questions that I'm unsure about:
- Since it is the peripheral doing all of the communication (via notifications), will the softdevice be able to set up the most efficient scheduling to get the notifies out as quickly as possible?
- With the peripheral be able to dictate the connection intervals, or will that be determined by the individual centrals?
- I read in the s132 documentation that a notify takes 2.5ms to transmit. Is that correct? If so, does that mean that if the connection interval is 10 ms for 4 connected devices, the peripheral would be able to send out one notify to each device?
- In order to minimize the connection interval (to send as many notifies as possible), is it possible to adjust the connection interval depending on many devices are connected to the peripheral (i.e. adjust the value each time a new device is connected)? Or is it better to have a set value to be able to accommodate the max number of connected devices?
- In a situation where there are connected devices receiving notifies from the peripheral and then a new central initiates a new connection, will the notifies stop being sent until that new connection is established?
- Along the same line, if we would like the centrals to be able to send messages (writes) to the peripheral, will that interfere with the notifies that the peripheral is trying to send? i.e. Will the writes collide with the notifies and take priority?
I apologize for all of the questions, but any answers to them would be much appreciated! Thanks!