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

How long does a peripheral listen after advertising?

When a peripheral advertises on one of the three advertising channels, does it listen for a short duration on that channel (as implemented by the Softdevice?) And then repeat for the other two channels, and then sleep with the radio off (not listening at all) until the next time to advertise as defined by the mode (fast or slow?)

And the advertising timeout parameter has little to do with how long the receiver is on, only with how long advertisements are sent without a connection?

Does the duration, after a transmit of an advertisement, that a peripheral listens vary with the advertising mode?

Parents
  • My answers:

    • Yes to the whole first paragraph (there is no real single question so I take it as one). If the advertisements are scannable or connectable then stack (Soft Device) must listen exactly 150us after last Tx bit of ADV packet sent. Now the timing is very strict (I don't know how many ppm is allowed on these 150us by BT SIG specification but it's safe to say that +-1us is enough) so I believe that Soft Device doesn't need to listen more then few microseconds to be able to say that there is no valid preamble of incoming packet and therefore Rx window can be closed (and if advertisement should be done in this interval on another channel then stack switches to that frequency and whole procedure is repeated).
    • Again not really a clear question but as statement it is true (adv. timeout only means how long the advertisements should be done autonomously by stack before stopping but the time for checking if there is any SCAN_REQ or CONNECT_REQ packet as response to ADV_xxx is hardcoded parameter inside the stack itself).
    • This is interesting question. I don't see a reason so I would say no but indeed I don't see into the source code of Nordic Soft Device.
Reply
  • My answers:

    • Yes to the whole first paragraph (there is no real single question so I take it as one). If the advertisements are scannable or connectable then stack (Soft Device) must listen exactly 150us after last Tx bit of ADV packet sent. Now the timing is very strict (I don't know how many ppm is allowed on these 150us by BT SIG specification but it's safe to say that +-1us is enough) so I believe that Soft Device doesn't need to listen more then few microseconds to be able to say that there is no valid preamble of incoming packet and therefore Rx window can be closed (and if advertisement should be done in this interval on another channel then stack switches to that frequency and whole procedure is repeated).
    • Again not really a clear question but as statement it is true (adv. timeout only means how long the advertisements should be done autonomously by stack before stopping but the time for checking if there is any SCAN_REQ or CONNECT_REQ packet as response to ADV_xxx is hardcoded parameter inside the stack itself).
    • This is interesting question. I don't see a reason so I would say no but indeed I don't see into the source code of Nordic Soft Device.
Children
No Data
Related