Hi support team,
I'm using sdk 15.0 and softdevice s140_nrf52_6.1.0 and nrf52840.
My application has strict requirements on power consumption, so I have to set advertising interval to larger than 10.24 seconds which is the maximum value of BLE SPEC.
- I used an app timer to achieve that and it worked as expected.
Additionally, I want to make advertising only be able to send a single one packet and then timeout when I call adv_start method:
- I used a short adv duration (timeout) which is less than adv interval(e.g. adv interval = 2s, timeout = 1s) to achieve that, it worked as expected with sdk 15.0 and softdevice 6.0.0.
However, after I upgraded softdevice from 6.0.0 to 6.1.0, the behavior of advertising module became weird. Actually, it seemed like the advertising didn't work at all. It was very difficult for my central devices to scan and connect to the peripheral with softdevice 6.1.0. I traced every adv packet in my central device, I only got 3 packets in 5 minutes, but I expected to receive about 25 packets.
Then I checked the release note of softdevice 6.1.0, I found a change in it:
Using a too short duration for the advertising event when advertising is no longer accepted by the API (DRGN-10067).
I wonder what is the duration for the advertising event, does it mean the adv duration or timeout?
If it is, what does too short mean? less than adv interval is too short?
My problems are:
1. Could someone help verify that whether set adv duration to less than adv interval was supported in softdevice 6.1.0 or not?
2. If not, how can I achieve only advertising a single one packet and then timeout without using ble_radio_notification?
I don't want to involve the ble_radio_notification module unless I have to.
Best Regards,
Tengfei.