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

Spacing between advertising packets

Hi,

I am working on a design of very low power sensor, based on nRF52833. Most of the time my device spends advertising only, with sensor data transmitted within advertising packet Manufacturers data field. 

When I enable advertising with advertising interval of 1 second for example, I see 3 advertising packets transmitted almost back to back. Is it possible to send advertising packet on channel 37, then after 300mS on channel 38 and so on? I have seen some sensors based on dialog semi. chips do that.

My concern is stress on battery, reasoning that decoupling capacitors on Vdd will have more time to recharge between packets. I will be transmitting either with 8dBm Tx power or using coded PHY, which draws considerable energy from battery ( and batteries don't like high pulsing power). By the way, what type of battery would you suggest for 10 year battery life?

Thanks

Parents
  • Hello,

    I am trying now to change advertising channel map. I use fresh install of SDK17, sd140 and blinky example for evaluation.

    When I insert this line in advertising_init 

        adv_params.channel_mask[4] = 0x80;
    
    just before
        err_code = sd_ble_gap_adv_set_configure(&m_adv_handle, &m_adv_data, &adv_params);
    

    I don't get any advertising at all. To double check, I comment that line and then it works as it should.

    What am I doing wrong here.

  • Hello,

    How do you determine that you don't receive any advertisements at all? I don't think you will be able to see any advertisements using the nRF Sniffer, because it will be waiting for an advertisement on channel 37 before it switches to channel 38, and then 39.

    Does the log indicate that you are starting the advertisement? what does sd_ble_gap_adv_set_configure() return? What does sd_ble_gap_adv_start() return?

    BR,

    Edvin

  • You are right Edvin, it was the issue with nRF sniffer. With some tricks I am now able to capture two advertising packets on ch37 followed by ch38 and then it gets stuck because ch39 is masked.
    Thank you for your help

  • Indeed. I have seen that before as well. If I remove one of the channels, the sniffer will stop because it is waiting for that packet. If you set up a central project that will scan without connecting, and you print the advertisement channel of the received packets (you may want to add some custom filter of the address or packet, to print only advertisements from one particular device). The advertising report will contain information on what advertising channel the packet was picked up on. Not ideal for sniffing, because you can't follow into a connection, but you can use it to verify that you are only advertising on the channels that you are supposed to.

    Best regards,

    Edvin

Reply
  • Indeed. I have seen that before as well. If I remove one of the channels, the sniffer will stop because it is waiting for that packet. If you set up a central project that will scan without connecting, and you print the advertisement channel of the received packets (you may want to add some custom filter of the address or packet, to print only advertisements from one particular device). The advertising report will contain information on what advertising channel the packet was picked up on. Not ideal for sniffing, because you can't follow into a connection, but you can use it to verify that you are only advertising on the channels that you are supposed to.

    Best regards,

    Edvin

Children
No Data
Related