Hi
I am using the provided example ble_app_queued_writes to send 256 bytes in each call.
It is taking around 13 seconds to transfer 3136 bytes:
12 calls of 256 and one for 64. Around 1 second per transfer. This seems very slow to me.
I checked many posts on this site and refered the throughput and long range demo to make the data transfer faster.
I got slight improvement of a second overall when i made following changes:
1) Updated BLE_GAP_DATA_LENGTH_DEFAULT to 128 from 27 (Successful)
2) Updated
MIN_CONN_INTERVAL to MSEC_TO_UNITS(10, UNIT_1_25_MS) (Successful)
MAX_CONN_INTERVAL to MSEC_TO_UNITS(20, UNIT_1_25_MS) (Successful)
Other useful changes sugested gives error once the hex is uploaded:
1) ATT MTU : NRF_SDH_BLE_GATT_MAX_MTU_SIZE more than 23 results in error:
<warning> app: System reset
<info> app_timer: RTC: initialized.
<warning> nrf_sdh_ble: Insufficient RAM allocated for the SoftDevice.
<warning> nrf_sdh_ble: Change the RAM start location from 0x20002300 to 0x20002C80.
<warning> nrf_sdh_ble: Maximum RAM size for application is 0x3D380.
<error> nrf_sdh_ble: sd_ble_enable() returned NRF_ERROR_NO_MEM.
<error> app: Fatal error
2) When updating to BLE_GAP_PHY_2MBPS getting again System reset
I am using Iphone 8 Plus to transfer data: on printing character maximumWriteValueLength i get value as 512
SDK: nRF5_SDK_16.0.0_98a08e2
Kit: nRF52840-DK
Am i correct thinking using queued write will be the fasted way to transfer data in volume? Is updating MTU, DLE not possible with it?
Please advice how i can make the data transfer faster?