Hello,
I am currently trying to achieve a high data rate between a CC2541 keyfob and an iPhone 4S. Originally, I was using the HCI with an external MCU, but am now trying to accomplish the task using just the CC2541. I have tried using the Data Throughput wiki (http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput) with some minor changes to the project, but to no avail.
The issue, and it seems so even from the numbers given on the wiki page, is that 4 notifications are not sent in each event. In fact ,it's somewhat rare to see 4 notifications in a single event when constantly sending data (using the CC2540USB as a Packet Sniffer). With what's reported on the wiki page, 1000 notifications in 3.35s and a 7.5ms connection interval results in about 2 notifications per event on average.
Some other calculations from my own testing:
1000 notifications in 3.35s @ 7.5ms intervals ~ 2.24 notifs/event
1000 notifications in 7.22s @ 18.75ms intervals ~ 2.60 notifs/event
1000 notifications in 11.16s @ 30.0ms intervals ~ 2.69 notifs/event
Obviously increasing the connection interval increases the average number of notifications going through on each connection event, but I would like to be able to send 4 notifications per event if possible. At this point, I am assuming this is just a limitation of BLE. This, plus the connection interval restrictions Apple has implemented makes me doubtful that I can achieve anything above roughly 2.7KB/s with an iOS device. Has anyone been able to get a higher datarate? Is it possible to consistently send 4 notifications per event? Is this a known limitation or an issue being worked on?
Best Regards