This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652R: Scanning during an ongoing connection

Part Number: CC2652R

We are trying to implement a logic in which while there is an ongoing connection to one device, we will scan the others to read ADV data from them and also connect when necessary.

Below is a waveform with radio debug pins where you can see that the receiver between connection intervals is turned off, so it does not scan.

 

 

In the application, I call GapScan_enable(0,0,0).

I tried it in different phases of connection and nothing helps.

Moreover, I don't explicitly disable scanning by GapScan_disable() anywhere.

Also tried with different scanning intervals and windows.

 

BLE Stack configuration seems to be OK.

Max Number of Connections is configured to 8.

Application is based mainly on simpleCentral example.

SDK simplelink_cc13xx_cc26xx_sdk_5_30_00_56

Is there any special procedure to run a scan while ongoing connection?

Or is some specific stack setting required to make this possible?

MB

  • Hi MB,

    How long are you attempting to scan for? It's possible that the scheduler in the RF core doesn't have enough time to allocate a scan operation, so it gets pre-empted by the advertising events.

    However, the configuration you're describing is much closer to our multi-role example, in which a device can scan and advertise at once. It would be much more efficient to start with this example than to try to add advertising capability to simple_central. I would recommend using that as your starting point.

    Best,

    Nate

  • Hi.

    Thanks for the resposne, I would like to add some details, and dispel doubts.

    I would like to have continuous scanning, even during an ongoing connection.

    Connection interval is configured to 7.5ms, to provide fastest request/response time.

    I tried both long (100ms) and short (5ms) scanning intervals, with 50% window (as You see on the attached waveforms).

    This is single role device - only central role (with scanning and connect initiating capability).

    It scans passively for advertise data from peripheral devices and connects to them.

    This device doesn't send any advertise data. So there is no need to use multirole capability.

    MB

  • Hi MB,

    Thank you for clarifying.

    If you have a 7.5 ms connection interval, then you will not be able to use a 100 ms scan window because that will interfere with the necessary connection events. You may be able to use a 5 ms interval, but that might become prohibitive if you have additional processing that needs to happen too. Can you try increasing the connection interval and decreasing the scan interval and see if your performance improves?

    Best,

    Nate

  • Thanks.

    It seems that the scan interval must be much smaller than connection interval (at least 10ms shorter) to be able to scan during ongoing connection.

    Anyway the problem has been solved. Thanks for Your suggestions and help!

    MB