Hi all,
I have a custom nRF52840 board that transmits 32-byte packets to mobile device and I want to achieve maximum transfer speed.
The code is based on the ble_app_uart project
The BLE settings in my project are as follow:
//sdk_config NRF_SDH_BLE_GAP_DATA_LENGTH 251 NRF_SDH_BLE_GATT_MAX_MTU_SIZE 247 NRF_SDH_BLE_GAP_EVENT_LENGTH 6 //main MIN_CONN_INTERVAL MSEC_TO_UNITS(8, UNIT_1_25_MS) MAX_CONN_INTERVAL MSEC_TO_UNITS(8, UNIT_1_25_MS) ble_stack_init(); gap_params_init(); gatt_init(); services_init(); advertising_init(); sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_ADV,m_advertising.adv_handle,8); // Max ADV Power = 8dB sd_ble_gap_tx_power_set(BLE_GAP_TX_POWER_ROLE_CONN,m_advertising.adv_handle,8); // Max CONN Power = 8dB
The transmission data rate from the custom device to the mobile is 8kB/sec +/- ~400B
I want to reach maximum transfer speed but I don't know what the upper limit is.
Based on table 2 of the following link, I see that the max transfer speed is ~165kB/sec. So I try to figure out what I am doing wrong and my device's transfer speed is so low.
From the debug session I get the following Information where the connection is established with DLE (247Byte / BLE_packet)

So I assume that something else keeps the transmission speed from my board to the mobile so low.
Also, I have a few questions :
1. How can I increase NRF_SDH_BLE_GATT_MAX_MTU_SIZE from 247 to 512? Because it is a 1-byte value and 512 needs 2-bytes will need to mess with the SD libraries
2. Is it possible to increase the NRF_SDH_BLE_GAP_EVENT_LENGTH higher than 6? Because when I set it to 7 or 8 the whole system stops.
If there is something else that I have not taken into account please correct me.
Thank you for your time
Regards
