Dear Nordic Team Support
We face an issue where on different computers, using the same setup, different throughput can be achieved.
Setup:
- Custom Device using the nrf52840 dongle as BLE Peripheral (Softdevice s140), sdk version 6
- PC Application using nrf-ble-driver-4.1.2-win_x86_32 as BLE Central, sdk version 6
- Dongle PCA10059 2.0.0 2021.9 (but also with older versions)
On some computers 30kB/s can be achieve transfering data from the BLE Central to the BLE Peripheral, when just changing the computer (same BLE Central, same dongle, same PC Application Release) the throughput drops down significantly to approx. 3kB/s.
The PC Application is sending a package, waits for the "BLE_GATTC_EVT_HVX" and sends the next package. When measuring the timestamps on a "good" computer, the following durations can be achieved:
1. Hvx received (triggers sending the next package using sd_ble_gattc_write) : + 0ms
2. sd_ble_gattc_write returns NRF_SUCCESS: + 4ms to 1.
3. BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE callback: + 0ms to 2.
4. Next Hxc received: + 2ms to 3.
However measuring this durations on a "bad" computer the following durations are seen:
1. Hvx received (triggers sending the next package using sd_ble_gattc_write) : + 0ms
2. sd_ble_gattc_write returns NRF_SUCCESS: + 60ms to 1.
3. BLE_GATTC_EVT_WRITE_CMD_TX_COMPLETE callback: + 4ms to 2.
4. Next Hxc received: + 25ms to 3.
Do you have an explanation why on some computers the sending of a frame (or the call to the sd_ble_gattc_write takes 4ms and on others up to 60ms)?
It looks like the PCA10059 is not as responsive and performant as on other computers? Are there any driver requirements?
Installed Software:
NRF Connect
Best regards and thanks for a quick answer