nrf52 observer scanning intervals erratic in nrf connect 2.7 when connected as peripheral

I have a device that acts as a peripheral with a connecting interval of 100-150mS and  also as an observer listening for beacons.  When I get a beacon I update the scan interval from an interval of 100mS with a window of 20mS to an interval of 500mS with a window of 250mS.  Up until 2.7 this worked correctly and I had no issue sending indicate events during this window. 

In a effort to keep on the latest code base we have updated to 2.7 and this no longer works and it hangs on indicate events seemingly locking up the devices Bluetooth as I do not get an indicate failed for 30s.  Even if I am only connected without indicates enabled i see the same erratic scanning and do not get anywhere near either interval and the scan seems to be random.  When I disconnect i see the expected scanning.

Please let me know if something has changed in 2.7 as this is a show stopper.  Any help would be appreciated.

Observer low and high speed scan
static struct bt_le_scan_param scan_param_slow = {
    .type     = BT_LE_SCAN_TYPE_ACTIVE,
    .interval = 160,        //n*.625 = 100ms  
    .window   = 32,         //n*.625 = 20ms
    .options  = BT_LE_SCAN_OPT_CODED | BT_LE_SCAN_OPT_NO_1M
};

static struct bt_le_scan_param scan_param_fast = {
    .type     = BT_LE_SCAN_TYPE_ACTIVE,
    .interval = 800,            //n*.625 = 500ms  
    .window   = 400,            //n*.625 = 250ms
    .options  = BT_LE_SCAN_OPT_CODED | BT_LE_SCAN_OPT_NO_1M
};
 
peripheral interval
#define BT_LE_CONN_PARAM_HFR BT_LE_CONN_PARAM(  \
                          80, \    
                          120, \
                          0, 600)

2.6.2

2.7 peripheral connected

2.7 peripheral not connected

Parents Reply
  • Hi again, 
    I'm not 100% sure about switching to notification can solve the issue. Because I'm not 100% sure if error -12 was caused by an ongoing indication or something else. Please try to test with the notification to see if you get the same error. 
    If you can reproduce the issue with indication on a sample, it would be great. 

    Please try to test with scan window = scan period to see if it improves. 

Children
Related