Hi,
We are facing some issues with the DLE update.
The given table shows that the softdevice set data length and time.
Event Length (ms) | ATT MTU (bytes) | Data Length (bytes) | Tx and Rx Time (us) |
2.5 | 60 | 64 | 737 |
2.5 | 70 | 74 | 737 |
2.5 | 80 | 78 | 737 |
2.5 | 90 | 78 | 737 |
3.75 | 100 | 104 | 1362 |
3.75 | 120 | 124 | 1362 |
3.75 | 140 | 144 | 1362 |
3.75 | 160 | 156 | 1362 |
3.75 | 170 | 156 | 1362 |
Parameters being set are,
Connection interval = 15ms.
Scan window = 6.25ms.
Advertising interval = 152.5ms
Peripheral Role Count = 1
Central Role Count = 2
1. Why is the softdevice is set constant time for event length (737us for 2.5 event length and 1362us for 3.75ms)?
If the MTU is 170 bytes then the Tx time = 170+18 (LL header) = 188 *8 =1504us.
and then we can add IFS as well so the total time is 1504+150= 1654us.
Total ttime for both Tx and Rx = 1654 * 2 =3308us.
We have getting the NRF_ERROR_RESOURCES when trying to set the DLE (174/1654) manually by calling the function sd_ble_gap_data_length_update(connHandle, &ble_gap_data_length_params, nullptr).
2. The DLE requested time is less than the event length (3.75ms) then why it's giving the error?