Lots of BLE_GAP_EVT_TIMEOUT when trying connection with BLE Peripheral

Hi,

I've got a lot of BLE_GAP_EVT_TIMEOUT when my ble central trying to connect with BLE peripheral (sometimes more than six in a row).

The configuration of my system are one central near to 1000 peripheral with extended advertising (238 bytes of advertising). 

The advertising period of peripheral are 2 seconds or 4 seconds, and there are advertising on the three channel. 

When the central try to connect, advertising period are always 4 seconds.

Here is the configuration of scanning parameters of centrals.

#define SCAN_INTERVAL                   MSEC_TO_UNITS(20, UNIT_0_625_MS)  /**< Determines scan interval in units of 0.625 millisecond.                        */
#define SCAN_WINDOW                     MSEC_TO_UNITS(20, UNIT_0_625_MS)   /**< Determines scan window in units of 0.625 millisecond.                          */
#define SCAN_DURATION                   0x0000                              /**< Timout when scanning. 0x0000 disables timeout.                                 */
#define CONNECTION_TIMEOUT              MSEC_TO_UNITS(20000,UNIT_10_MS) 

There is a way to reduce considerably this timeout of connection ? 

Are my scanning parameters correctly set for my environment ?

The central configuration is NRF52840 with SDK 15.3 sd s140_nrf52_6.1.0

The peripheral configuration are NRF52832 with SDK 15.2 sd s132_nrf52_6.1.0_softdevice

Thanks for the help.

Best regards,

Parents Reply
  • Hi,

    I can see that you have set the scan window=interval, in which case the radio will actively be scanning continously, only to switch between the 3 advertising channels every scan interval. The only thing I can think of that may help here would be to either decrease the advertising interval, or that you add more radios in the central device (e.g. with 3 nRF devices in central role each could scan&connect their own channel). 

    Kenneth

Children
No Data
Related