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.

GAP Role (Peripheral) Advertising Channel Map is not getting updated for CC2541 BLE Stack

Other Parts Discussed in Thread: CC2541

Hi,


I am trying to update the GAP Role (Peripheral) configuration for the Advertising Channel Map.

By default, it is selecting all the three advertising channel map i.e. Channel 37, 38, 39.

I am trying to select only one of the three advertising channel by using the below code in the function GAPRole_Init():

gapRole_AdvChanMap = GAP_ADVCHAN_37;

But still, I am observing that the advertising packets are also transmitted on the advertising channel 38 and 39.

Am I missing any configuration regarding the same or is there any other issue ?

  • Hi Sunny,

    Which reference project and BLE Stack version are you using? Have you made any other changes to the project beyond the AdvChanMap setting?

    Best wishes
  • Hi JXS,


    Thank you for your reply.

    I am using BLE Stack version 1.4.0 (BLE-CC254x-1.4.0).

    Apart from the AdvChanMap, there are no changes in the project.

    Thanks & Regards,

    Sunny

  • Hi Sunny,

    Thanks for confirming the BLE stack version. What project is being used, e.g. KeyFob or SimpleBLEPeripheral?
    Also, are you confirming transmission on the other channels by a sniffer?

    I just tested this on SimpleBLEPeripheral + CC2541 using v1.4.0 and confirmed (with TI Sniffer) that adv packets are sent only on Ch 37:

    void GAPRole_Init( uint8 task_id )
    ..
    gapRole_AdvChanMap = GAP_ADVCHAN_37; // GAP_ADVCHAN_ALL;
    ..

    Best wishes
  • Hi JXS,

    Thank you for support and help.

    I saw that there was some configuration issue from our side.

    It is resolved now and we are able to see the advertising packets on only one of the three selected advertising channels.

    Appreciate for your time.


    Thanks & Regards,
    Sunny
  • Hi JXS,

    There is one more observation regarding the advertising packets which we are confused about.

    When we configure e.g. Channel 37 for advertisement, and disable other two channels (channel 38 and channel 39), then, we should get a good amount of power saving right ?

    For example, if we take two scenarios mentioned below:

    1. Do continuous advertisement on Channel 37, 38, and 39 for whole day
    2. Do continuous advertisement on Channel 37 for whole day

    then when we compare both the above scenarios, we should get around 66% more power saving in scenario 2 as compared to scenario 1 right ?

    But we are seeing the same power numbers for both the scenarios.

    Is there anything missing from our end regarding the same ?
  • Hi Sunny,

    There will be some power saved but not as much as you expect. Also, you still have not answered on what project you have based your code on.

    Please have a look at the plots in the application note Measuring Bluetooth® Low Energy Power Consumption (http://www.ti.com/lit/an/swra347a/swra347a.pdf) to see how a typical connection event would look like. Advertisments would look similar but with 3 TX->RX transitions at the different channels.

    When advertising on one channel instead of three you would get a lower total radio current but the wakeup overhead would still be the same.

  • Hi Sunny,

    In addition, you may delay the connection establishment time with only Advertising on one channel, especially if there is interference on that channel. This may or may not be a system issue for your implementation though. The intention of using 3 channels is to increase the the likelihood of a fast connection setup.

    Best wishes
  • Hi JXS,

    Thank you for the reply and the quick information.

    We will do the analysis.


    Thanks,
    Sunny