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

High BLE activity for 15 seconds after connection

I am developing a BLE peripheral application on nRF52832 and SDK 14.3.

I have been power profiling my application and quite happy with the results, except for when the peripheral first connects. Power usage goes crazy for about 15 seconds before calming down again - see below screenshot of the output from the power profiler:

image description

image description

What is the device doing when this happens? The peripheral is connecting to an iPhone and is bonded.

This is clearly BLE activity but I'm pretty sure it has nothing to do with my application!

Parents
  • I think you may be on the right track there - here are my connection parameters:

    #define MIN_CONN_INTERVAL (SECOND_1_25_MS_UNITS / 100) * 30 /*300ms*/
    #define MAX_CONN_INTERVAL (SECOND_1_25_MS_UNITS / 100) * 39 /*390ms*/
    #define SLAVE_LATENCY 4
    #define CONN_SUP_TIMEOUT (6 * SECOND_10_MS_UNITS) /*6s*/
    

    These connection intervals are set to be the maximum allowable for iOS - our application is not time sensitive but is range sensitive, so we have upped the connection interval and added the PA to our design to try to maximise the range while keeping a handle on power consumption.

    I'm away from the lab at the moment so can't check but my guess is the spikes will line up with the connection interval.

    Given the services and characteristics in our application never change is there some way I can instruct the central not to re-scan every time it connects?

Reply
  • I think you may be on the right track there - here are my connection parameters:

    #define MIN_CONN_INTERVAL (SECOND_1_25_MS_UNITS / 100) * 30 /*300ms*/
    #define MAX_CONN_INTERVAL (SECOND_1_25_MS_UNITS / 100) * 39 /*390ms*/
    #define SLAVE_LATENCY 4
    #define CONN_SUP_TIMEOUT (6 * SECOND_10_MS_UNITS) /*6s*/
    

    These connection intervals are set to be the maximum allowable for iOS - our application is not time sensitive but is range sensitive, so we have upped the connection interval and added the PA to our design to try to maximise the range while keeping a handle on power consumption.

    I'm away from the lab at the moment so can't check but my guess is the spikes will line up with the connection interval.

    Given the services and characteristics in our application never change is there some way I can instruct the central not to re-scan every time it connects?

Children
No Data
Related