Hi,
I am trying to transfer large amounts of data over BLE, to a large amount of devices so speed is critical.
So far, i am able to send the nRF51422 (S110 V8.0.0) a 48Kbyte chunk of data in 12.6 seconds which is roughly 32kBits a second if i am right, which is far from the value of 125kbits i have seen in another thread.
Writes in the app are queued, so whenever onCharacteristicWrite is called, another 20 byte packet is sent to the device. Also i use the BluetoothGatt#requestConnectionPriority to get a better connection interval prior to the transfer.
To my understanding, via this method of transferring, the nexus 5 should transfer 6 packets per interval, which should be around 10mS, resulting in much faster speed than i have now.
At the minute packets seem to be going to the device at a rate of around 5mS which would indicate that there are multiple packets being sent during the interval, as i think it cannot be lower than 7.5mS (if it was sending 6, then the interval would be 32mS).
The nRF51 is configured to accept a connection interval between 7.5 and 100mS.
Is there a different method i should be using in the app, or some missed config on the nRF51?