This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Scan in a Single Channel

Hi,

As mentioned in this post: devzone.nordicsemi.com/.../

the struct ble_gap_adv_params_t --> ble_gap_adv_ch_mask_t give the option to turn any advertising channel OFF. I tested this approach and could advertise on only one channel.

The problem that I found was in scanning for this packet. When I'm using 3 channels for advertising, the scanning program is ALWAYS able to pick the advertising packet. But when I'm using 1 channel for advertising it misses some. Is there any way to program the scanning so that it only looks on a single channel? Can this problem be due to values of scan interval and scan window (I'm setting them equal to continuously scan)?

In the description of ble_gap_adv_ch_mask_t (infocenter.nordicsemi.com/index.jsp it says "Channel mask for RF channels used in advertising and scanning". But I could only found a place in the ble_gap_adv_params_t to pass it, and ble_gap_scan_params_t doesn't have this field.

So how can we set this feature for scan mode?

Parents
  • Hi FA,

    Scanning with selective channel(s) is not supported yet. I will report internally to fix it in the documentation.

    Thanks for reporting.

    If you want to do scanning on single channel, you may want to have a look at this observer example. We do scanning manually on S110 softdevice using timeslot feature.

    ble_app_proximity - Observer.zip

  • To troubleshoot step by step, I decided to make my program as close as possible to the GitHub example. I noticed that in that example, softdevice_handler.c is not included in the scan project. So, I removed that file from the project. The program now works with S110 provided in SDK 9, but it doesn't work with S130. 1- Is there any difference between S110 and S130 in using the time slot? 2- Even if I use S110 I should be able to scan with time slot and advertise just like any S110 device, right? I still have the problem of adding softwdevice_handler.c which is needed for the part of my program that is advertising, but I think I'll ask it in a separate post.

Reply
  • To troubleshoot step by step, I decided to make my program as close as possible to the GitHub example. I noticed that in that example, softdevice_handler.c is not included in the scan project. So, I removed that file from the project. The program now works with S110 provided in SDK 9, but it doesn't work with S130. 1- Is there any difference between S110 and S130 in using the time slot? 2- Even if I use S110 I should be able to scan with time slot and advertise just like any S110 device, right? I still have the problem of adding softwdevice_handler.c which is needed for the part of my program that is advertising, but I think I'll ask it in a separate post.

Children
No Data
Related