This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

MAX_CONN_INTERVAL parameter does not work normally

Hi,

I am working on increase data throughput between phone and nrf52832. I am using SDK 15.3.

I create a service and a notify characteristic. I am sending 20-byte packet to phone every EVT_TRANSMIT_RDY interrupt. (Also, i try to send packet every "BLE_GATTS_EVT_HVN_TX_COMPLETE" event instead of EVT_TRANSMIT_RDY.)

For example;

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(500, UNIT_1_25_MS) 
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(1000, UNIT_1_25_MS) 
#define SLAVE_LATENCY 0 
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) 

When my connection settings are like above, "EVT_TRANSMIT_RDY" or "BLE_GATTS_EVT_HVN_TX_COMPLETE" interrupts occurs every two second.

#define MIN_CONN_INTERVAL MSEC_TO_UNITS(50, UNIT_1_25_MS) 
#define MAX_CONN_INTERVAL MSEC_TO_UNITS(100, UNIT_1_25_MS) 
#define SLAVE_LATENCY 0 
#define CONN_SUP_TIMEOUT MSEC_TO_UNITS(4000, UNIT_10_MS) /**< Connection supervisory timeout (4 seconds). */

When my connection settings are like above, "EVT_TRANSMIT_RDY" or "BLE_GATTS_EVT_HVN_TX_COMPLETE" interrupts occurs every 200 milisecond.

I have two devices, Xiaomi Mi6 and Samsung T230 tablet. And both of them works same. What is the problem of my code? (The code is BLE_APP_TEMPLATE example.)

Aditionally, The nRF52832 on the other hand can send up to 6 packets per interval. However, "BLE_GATTS_EVT_HVN_TX_COMPLETE" event occurs every MAX_CONN_INTERVAL*2
and i can only send one packet per interval. How to send up to 6 packet per interval?

Thank you.

Parents Reply Children
No Data
Related