Hello,
We are trying to establish a BLE communication between the CC2640 and a mobile device that may support voice data transfer (at least at 8KBytes/s live voice data). We checked this forum and many other sites and we listed the items that we had done or tried so far:
- As stated at the other websites (https://punchthrough.com/blog/posts/maximizing-ble-throughput-on-ios-and-android
- We tried to establish communication with Android platform so far, and tried to enhance this part too.
- It is mentioned that, sending data from mobile to CC2640 by using "write commands" instead of "write requests" will increase throughput of communication. So, we used writeCharacteristic function directly rather than using addRequestToQueue(req) which sends write request to a queue for processing it later. However this does not help at all; because for consecutive calls of writeCharacteristic function(without any delay between them) are failed,so transfer is failed. After adding 100 ms delay between them, transfer is completed however communication time become indifferent with previous version, which is sending data by request.
- Then, we tried to make communication without acknowledgements by modifying both platform and mobile software, however result is not changed significantly(Adding GATT_PROP_WRITE_NO_RSP option to platform side and calling the android method BluetoothGattCharacteristic::setWriteType with WRITE_TYPE_NO_RESPONSE parameter).
- We tried all of these procedures with different mobile phones(Nexus 5, General Mobile 5+,Vestel Venus V5570 and V5070), but the communication speed again is not sufficient and significantly different.