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.

question again about CC2650 BLE Scan interval and duration comparing with core v4.2 spec

Hi Ti team,

I have some questions with scanning interval and window during scanning state and initiating state.

On Core v4.2 spec, the following scanning related things are mentioned. And the scanning stops before initiating a connection by using general, directed, auto, or selective connection establishment procedure.

1. Tgap(gen_disc_scan_min), 10.24s, minimum time to perform scanning when performing the general discovery procedure.

2. Tgap(lim_disc_scan_min), 10.24s, minimum time to perform scanning when performing the limited discovery procedure.

3. Tgap(lim_disc_scan_int), 11.25ms, scan interval used in the limited discovery procedure

4. Tgap(scan_fast_period), 30.72s, minimum time to perform scanning when user initiated.

5. Tgap(scan_fast_interval), 30ms to 60ms, Scan interval in any discovery or connection establishment procedure when user initiated.

6. Tgap(scan_fast_window), 30ms, Scan window in any discovery or connection establishment procedure when user initiated.

7. Tgap(scan_slow_interval1), 1.28s, Scan interval in any discovery or connection establishment procedure when background scanning

8. Tgap(scan_slow_window1), 11.25ms, Scan window in any discovery or connection establishment procedure when background scanning

9. Tgap(scan_slow_interval2), 2.56s, Scan interval in any discovery or connection establishment procedure when background scanning

10. Tgap(scan_slow_window2), 11.5ms, Scan window in any discovery or connection establishment procedure when background scanning

But, on swru393d,

11. TGAP_GEN_DISC_SCAN, 10240ms, Time (ms) to perform scanning for general "discovery" procedure.

12. TGAP_LIM_DISC_SCAN, 10240, Time (ms) to perform scanning for limited "discovery" procedure.

    => it seems to be for the above 1 and 2.

13. TGAP_CONN_SCAN_INT, 480, Scan interval used during Link Layer Initiating state, when in connectable mode(n * 0.625ms)

14. TGAP_CONN_SCAN_WIND, 240, Scan window used during Link Layer Initiating state, when in connectable mode(n * 0.625ms)

  => Does this mean that the "in any discovery or connection establishment procedure when user initiated." ?

15. TGAP_CONN_HIGH_SCAN_INT, 4-16384, Scan interval used during Link Layer Initiating state, when i connectable mode, high duty scan cycle scan parameter(n * 0.625ms)

16. TGAP_CONN_HIGH_SCAN_WIND, 4-16384, Scan window used during Link Layer Initiating state, when i connectable mode, high duty scan cycle scan parameter(n * 0.625ms)

   => it seems to be used when high duty cycle scanning and connection initiating by using directed connection establishment procedure. right?

17. TGAP_GEN_DISC_SCAN_INT, 16, 4-16384, Scan interval used during Link Layer Scanning state, when in general discovery procedure

18. TGAP_LIM_DISC_SCAN_INT, 16, 4-16384, Scan interval used during Link Layer Scanning state, when in limited discovery procedure

19. TGAP_GEN_DISC_SCAN_WIND, 16, 4-16384, Scan window used during Link Layer Scanning state, when in general discovery procedure

20. TGAP_LIM_DISC_SCAN_WIND, 16, 4-16384, Scan window used during Link Layer Scanning state, when in limited discovery procedure

  => Is this for "in any "discovery" procedure", not "in any connection establishment procedures"?

21. TGAP_CONN_EST_SCAN_INT, 16, 4-16384, Scan interval used during Link Layer Initiating state, when using connection establishment procedure

22. TGAP_CONN_EST_SCAN_WIND, 16, 4-16384, Scan window used during Link Layer Initiating state, when using connection establishment procedure

  => Is this for "in any connection establishment procedures" or scanning for another devices after connected ?

And should the scanning duration be matched with the scan interval * 3 channels?

if scan interval is 30 ms, 30ms * 3 channels = 90 ms?


Thanks in advance for your answer.

Ji Won

  • Hi ,

    In my opinion, since scanning is sequential 37, 38, 39, I think is not 90 ms but as any cycles of 3 ADV channels that fit in 30 ms.

    This is my thinking :) Let me know with a private message if it turns out I'm wrong so I can learn a new thing about BLE :)
  • Thanks Kazola,

    It seems that the scan duration should be at least more than scan interval * 3. so, for example, if scan duration is 4000ms, scan interval is 60ms, and scan window is 5ms, during the scan duration, the controller will continue to scan from 37 to 39 subsequently and again 37 to 39 by the end of the scan duration. right?
    If the scan duration is less than or the same as scan interval, the scanning will be done on the 1st 37 channel as scanning is complete during the 1st channel. right?

    GAP_DEVICE_DISCOVERY_EVENT is generated when the scan duration reaches to the point of the end. Right?
    And is there an API to stop scanning anytime before initiating a connection? I just saw the cancelling scanning. but this seems not to be for it. right?

  • I understood that "Scanning" state (just scan with no intention to make a connection) and the "Initiating" state (scan with intention to establish a connection) on TI document.
  • But still I don't know what is different between TGAP_CONN_SCAN_INT and TGAP_CONN_EST_SCAN_INT.