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

nrf51: How to change the BLE connection parameters?

I am testing to develop an application that sleep (system-on mode) for most of the time, and it wake-up periodically to send out somethings.

As I would like to lower the power consumption as much as possible, I want to change the "connection interval" to the longest period - 4s. And also change the "connection supervision timeout" to longer period. How to do that?

I am using the DK51 and modifying the SDK12 ble_app_uart example for the testing. The softdevice is S130.

Thank you.

  • The connection parameters used are defined in main.c. For the ble_app_uart example in SDK 12.1, you can find the parameters on line 61 to 67:

    #define MIN_CONN_INTERVAL               MSEC_TO_UNITS(20, UNIT_1_25_MS)             /**< Minimum acceptable connection interval (20 ms), Connection interval uses 1.25 ms units. */
    #define MAX_CONN_INTERVAL               MSEC_TO_UNITS(75, UNIT_1_25_MS)             /**< Maximum acceptable connection interval (75 ms), Connection interval uses 1.25 ms units. */
    #define SLAVE_LATENCY                   0                                           /**< Slave latency. */
    #define CONN_SUP_TIMEOUT                MSEC_TO_UNITS(4000, UNIT_10_MS)             /**< Connection supervisory timeout (4 seconds), Supervision Timeout uses 10 ms units. */
    #define FIRST_CONN_PARAMS_UPDATE_DELAY  APP_TIMER_TICKS(5000, APP_TIMER_PRESCALER)  /**< Time from initiating event (connect or start of notification) to first time sd_ble_gap_conn_param_update is called (5 seconds). */
    #define NEXT_CONN_PARAMS_UPDATE_DELAY   APP_TIMER_TICKS(30000, APP_TIMER_PRESCALER) /**< Time between each call to sd_ble_gap_conn_param_update after the first call (30 seconds). */
    #define MAX_CONN_PARAMS_UPDATE_COUNT    3                                           /**< Number of attempts before giving up the connection parameter negotiation. */
    
Related