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

Advertise le coded and non-coded

I am using the nRF52840, SDK 16.0.

I'm attempting to advertise on the coded phy and the 1M phy simultaneously. This works.

I have two phones, one that supports coded phy and one that does not. 

If I setup like this:

advertising_data.config.ble_adv_primary_phy = BLE_GAP_PHY_1MBPS;
advertising_data.config.ble_adv_secondary_phy = BLE_GAP_PHY_CODED;

Only the phone that supports coded phy can see the peripheral. It shows in nRF Connect that the phys are set as I specified.

If I setup like this:

advertising_data.config.ble_adv_primary_phy = BLE_GAP_PHY_1MBPS;
//advertising_data.config.ble_adv_secondary_phy = BLE_GAP_PHY_CODED;

Both phones can see it.

How can I advertise one phy on coded, and one phy on 1M, and have all phones see the advertising?

Parents
  • Just an update, if I change the configuration to 

    advertising_data.config.ble_adv_primary_phy = BLE_GAP_PHY_1MBPS;
    advertising_data.config.ble_adv_secondary_phy = BLE_GAP_PHY_CODED;
    advertising_data.config.ble_adv_extended_enabled = false;

    Then both phones can see it. Both phones support extended data though.

    So coded phy mixed with extended advertising makes one phone not able to see the advertising.

    Phones are

    Pixel 3a XL(supports 5.0, extended, but not coded)

    HTC One+ 7T(supports 5.0, coded and extended)

    What I am expecting to happen, is that both phones see the peripheral, but only the HTC can see the packets over coded phy.

    I saw the posts about alternating the phy settings, but that doesn't seem to be necessary given what the phones support.

  • brett_anderson said:
    What I am expecting to happen, is that both phones see the peripheral, but only the HTC can see the packets over coded phy.

    In a perfect world I agree with you, unfortunately it seems that the phone in question does not handle well the specific combination of extended advertisement PDU type (ADV_EXT_IND) and AuxPtr field indicating LE Coded phy. I do not really see any workaround here than alternating the advertisement, for instance by stop and starting the advertisement to change the configuration. 

  • Realistically, how fast are you allowed to change the advertisement? We are trying to beacon out data every 100ms via the coded phy, but I want the peripheral connectable to 'normal' phones.

    I can try and setup a test, but I'm wondering if you have any idea what the connection experience would be like if I advertised coded for 500ms, switch to 1M for 50ms, then switch back?

  • Hi,

    Don't know no.

    The idea was that you could setup beacon with 50ms advertisement, wait for 10 radio notifications are done (~500-550ms), then stop advertisement and re-start advertisement with coded phy, wait for 1 radio notification is done. Setup beacon again and repeat.

    Best regards,
    Kenneth

Reply Children
Related