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

  • 1- Yes, I'm changing the headers from S110 to S130 when changing the soft device. The program will scan on a single channel and after receiving an advertisement from a specific address, toggles an LED. Didn't work means that it will enter the program, but it fails to capture any advertisement, which means it's not scanning properly. 2- After removing softdevice_handler.c, I'm using exactly the same SWI2_IRQHandler that is used in the GitHub and I think I didn't notice any pstorage event. You suggested PORTING the example to SDK 9, can you give more information about it? Is there a way to do it automatically? I included all the example files in a SDK 9 project and tried to fix any errors that Keil was showing.

Reply
  • 1- Yes, I'm changing the headers from S110 to S130 when changing the soft device. The program will scan on a single channel and after receiving an advertisement from a specific address, toggles an LED. Didn't work means that it will enter the program, but it fails to capture any advertisement, which means it's not scanning properly. 2- After removing softdevice_handler.c, I'm using exactly the same SWI2_IRQHandler that is used in the GitHub and I think I didn't notice any pstorage event. You suggested PORTING the example to SDK 9, can you give more information about it? Is there a way to do it automatically? I included all the example files in a SDK 9 project and tried to fix any errors that Keil was showing.

Children
No Data
Related