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

Logical Address in Coded PHY?

This post mentions that only logical address 0 is supported for the coded PHY.

Is there any additional explanation for why this is? The OPS does not mention this.

Thanks

Johannes

  • Hi Johannes

    The Bluetooth stacks (SoftDevices) only use a single pipe (logical address), and for this reason many Bluetooth specific features are only supported on one pipe at a time. Typically this would be pipe 0, but it could be other pipes as well as long as only one pipe is used at a time. 

    The same goes for the coded PHY feature, which can only be used on a single pipe at a time (in theory this doesn't have to be pipe 0, but it is only tested on pipe 0 so I wouldn't recommend using other pipes). 

    The reason for this is that Bluetooth LE uses a strict timing scheme where each role or link is allocated a unique timeslot for data exchange. Rather than having to continuously listen for incoming data from multiple sources the logical address will be changed on the fly when starting a new timeslot, which means only a single pipe is needed.  

    When listening for advertise packets from any source the logical address is always fixed, so that there is no upper limit on how many devices can advertise to the same scanner. 

    Using multiple logical addresses is mainly used for older proprietary protocols where you might have multiple transmitters sending data asynchronously to a single receiver, and this feature was kept in the design for backwards compatibility reasons. 

    Best regards
    Torbjørn

Related