Search code examples
androidandroid-sourcebluetooth-lowenergy

BLE: transmitWindowSize: can it be controlled?


In Connect indication, Master sends to Slave some parameters, of which, I am interested in controlling transmitWindowSize and transmitWindowOffset

Is there any way I could control these parameters in Bluedroid/AOSP 5.x?

Example connect indication: Connect indication


Solution

  • TransmitWindowSize and TransmitWindowOffset define a time frame for the first connection event of a connection. They allow Master phy to schedule the connection event in a time slot where it will not conflict with other connections. There is nothing you can - and should - do about it from an application standpoint.

    If you are trying to get more packets transmitted during one Connection Event, Window is not what you are looking for. In the spec, a connection event can last for at most (ConnectionInterval - 150µs) (See 6.B.4.5.1).

    Bad thing is most (if not all) BLE radio chips found in USB dongles, computers and phones enforce a limitation ways lower, usually 8-10 packets per connection event (4-5 each way). This is usually a chip's firmware limitation (memory constraints, or other).