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

random delay

Hello,

I'm trying to do a synchronization of two devices over BLE. I want to be able to open a scan window only for as little time as possible to receive a timed advertising packet. This is a little hard to achieve because of the random advertising delay according to the BLE SPEC Vol 6 4.4.2.2. If I read correctly, there is a delay between the start of two consecutive advertising packets which must be <= 10ms. Furthermore, there is another delay of 0-10ms after each advertising Interval. Are these two delays deterministic values based on a pseudo random number generator in the Softdevice (I am using SD130)? If yes, could I have these calculations so that I could implement a proper synchronization? According to the sniffer, the advDelay seems to be in the range of 10ms like in the spec and the start of two different advertisement packets is mostly within 4-7ms.

Could I maybe achieve synchronization by switching advertising on and off in specific intervals? How long will it take until the softdevice starts advertising after I call sd_ble_gap_adv_start?

Parents Reply Children
  • Hello,

    thanks, that's also on my list of possibilities. I know that the synchronization will be a hard thing to achieve but when using the Softdevice SD130, I am restricted to 3 central and one peripheral connection which might be too low. Is this restriction coming from the implementation or is it rather due to the BLE standard? I am writing on my master thesis on Bluetooth Low Energy mesh networks. I looked into CSRmesh, but they kinda use bruteforce with advertising packets as far as I could figure out, I looked into Wirepas, which is using a custom protocol to overcome the limitations posed by BLE in that respect, and I investigate if it is possible to marry some good features while being compatible to the BLE standard.

Related