It seems that I can send 2 packets per connection interval but not more on the Nexus 4. When I try to send 4 packets per connection interval, it seems that I run out of TX buffers. But according to the following discussion, it seems that Ole Morten is able to send 4 packets per connection interval: devzone.nordicsemi.com/.../how-do-i-calculate-throughput-for-a-ble-link
Some of my parameters are as follows:
- Connection interval: 7.5ms - 10.0ms
- Slave latency: 6
- Connection supervisory timeout: 300
My questions are the following:
- What parameters should I consider using to get 4 (or more) packets per connection interval?
- It has been suggested that we send 20 bytes per packet to get maximum throughput. What are the reasons for 20 bytes? Can we send more than 20 bytes per packet? How?
- It seems that a BLE data packet may have up to 37 bytes for the payload. Are we limited to 20 bytes because some of the bytes are used for link layer control info? Are there trade-offs to minimize that so that we can send more data per packet?
- When there are multiple nRF51822 peripherals connecting to a central (Nexus 4), are the connection intervals on the individual peripherals occurring simultaneously or sequentially? For example, during a 10ms connection interval, is the throughput on the central X or 2*X, where X is the throughput on each peripheral?
Regards, Vinh