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.

BLE scanner on just one channel

Other Parts Discussed in Thread: CC2540

I found out, the USB dongle with the HostTestRelease-software scans somehow all the advertising channels. But what I don't understand how does this works... I think the scanner makes a TDMA on the three channels. Or is he scanning on the three channels all the time?

So I would like to make 3 scanners. Each working on ONE of the advertising channels.

1) Is this possible with the HostTestRelease workspace?

2) Is this ok for the BLE- standard?

4.4.3 Scanning State

The Link Layer shall enter the Scanning State when directed by the Host.

When scanning, the Link Layer shall listen on the advertising channel indices.

There are two types of scanning, determined by the Host: passive and active.

 

There are no strict timing or advertising channel index selection rules for scanning.

 

During scanning, the Link Layer listens on an advertising channel index for the

duration of the scan window, scanWindow. The scan interval, scanInterval, is

defined as the interval between the start of two consecutive scan windows.

 

The Link Layer should listen for the complete scanWindow every scanInterval

as directed by the Host unless there is a scheduling conflict. In each scan window,

the Link Layer should scan on a different advertising channel index. The

Link Layer shall use all the advertising channel indices.


  • Sorry, I'm travelling by bus but what about if you search by:

    "advChannelMap"

     

    in the project? Does this help you?

  • With this channelMap I was able to change my BLE-peripheral on a single channel. That was also a bit a challenge to find out, but it works.

     

    But I'm still not able to listen just on one channel with the scanner.

     

     

  • Kilian Brunner said:

    2) Is this ok for the BLE- standard?

    4.4.3 Scanning State
    The Link Layer shall enter the Scanning State when directed by the Host.
    When scanning, the Link Layer shall listen on the advertising channel indices.
    There are two types of scanning, determined by the Host: passive and active.
     
    There are no strict timing or advertising channel index selection rules for scanning.
     
    During scanning, the Link Layer listens on an advertising channel index for the
    duration of the scan window, scanWindow. The scan interval, scanInterval, is
    defined as the interval between the start of two consecutive scan windows.
     
    The Link Layer should listen for the complete scanWindow every scanInterval
    as directed by the Host unless there is a scheduling conflict. In each scan window,
    the Link Layer should scan on a different advertising channel index. The
    Link Layer shall use all the advertising channel indices.

    No. As you see from the part of text you quoted that I have highlighted in green, all three advertising channels have to be used by the scanner. As you noted from the other answer you have got, it is possible for an advertiser to skip one or two advertising channels. This is why the scanner is not allowed to drop any of the channels; if that happened, an advertiser and scanner could exist that would never see each other.

    If you want to listen to a single channel for debugging purposes, you can use the SmartRF protocol packet sniffer.

     

  • Thanks for answering me question 2. I'm always a bit confused with formulation in this standards...

     

    What I still don't understand is the following thing:

    The standard says: "In each scan window,the Link Layer should scan on a different advertising channel index."

     

    3) How long is the scanWindow with the BTool?

    4) Is the CC2540 listening on just ONE channel in a scanWindow?
    When my BLE-Slave is advertising every second on just one channel, then the scanner get all the advertising packets in active scanning mode. I can see this cause I'm also scanning with the sniffer-software on the same channel. If the scanner were listening on just one channel he would get a packet just all three seconds a packet...?

    If my BLE-slave sends advertising-packets all 50ms, then the scanner gets just about a third of all packets. But it looks a bit like random which packets it get in the active scanning mode. Sometimes it gets three in a row, then he loose about  20 then it gets one.... I can watch this on my sniffer-panel...