Periodic Advertising Sync Transfer (PAST) Peripheral issue

Hi, 

My configuration is as follow : 

NCS : 2.2.0

DK : nrf52833DK (pca10100)

Dev environnement :Ubuntu 20.04

IDE : visual studio code with NCS plugin

I'm trying to develop some behaviors based on PAST (Periodic Advertising Sync Transfer) procedure and to start I used peripheral_past example in zephyr samples.

But when I tried to compile it, there was this undefended reference error to 'bt_le_per_adv_sync_transfer_subscribe' as shown below.

I didn't change anything in the example !

Do you have any idea for this issue ?

Thank you.

Parents
  • Hi,

    NCS v2.2.0 did not include BT_CTLR_SYNC_TRANSFER_RECEIVER_SUPPORT in the Bluetooth controller (Zephyr or Softdevice). This is why the sample will only builds for simulation targets. I recommend you upgrade to v2.3.0 for now until v2.4.0 gets released. 

    Softdevice controller features supported in NCS 2.3.0 - https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/nrfxlib/softdevice_controller/README.html 

    Best regards,

    Vidar

  • Hi  

    Thank you for your reply.

    Indeed with NCS 2.3.0, the example compiles, it works well but I have some remarks/questions :

    1- In the central PAST example, it at first connect to the peripheral and then sync to periodic_adv then transfer the periodic sync info to peripheral PAST, but when I try to sync with periodic_adv first then connect to peripheral PAST and transfer the sync info, it gives me error -5

    a) Central -> connect peripheral_past ->sync to periodic adv (synced) -> central transfer sync info to periphral -> works well

    b) Central -> sync to periodic adv (synced) -->  connect peripheral_past -> central transfer sync info to periphral -> error -5 

    Why do I have an error in scenario b)  whereas I have a valid sync info ?

    2- In the peripheral PAST side, when I retrieve the periodic sync from the central, I send disconnect command and I try to restart LE advertising with bt_le_adv_start in disconnect event, I have no error (err_code = 0) but the advertising doesn't restart (I don't see any advertising with Android nRF Connect) !

    If i do not retrieve the periodic sync and i send disconnect then restart LE advertising in disconnect event, in this case it works !

    Do you have an explanation to these behaviors ? 

    Thank you for your replies

Reply
  • Hi  

    Thank you for your reply.

    Indeed with NCS 2.3.0, the example compiles, it works well but I have some remarks/questions :

    1- In the central PAST example, it at first connect to the peripheral and then sync to periodic_adv then transfer the periodic sync info to peripheral PAST, but when I try to sync with periodic_adv first then connect to peripheral PAST and transfer the sync info, it gives me error -5

    a) Central -> connect peripheral_past ->sync to periodic adv (synced) -> central transfer sync info to periphral -> works well

    b) Central -> sync to periodic adv (synced) -->  connect peripheral_past -> central transfer sync info to periphral -> error -5 

    Why do I have an error in scenario b)  whereas I have a valid sync info ?

    2- In the peripheral PAST side, when I retrieve the periodic sync from the central, I send disconnect command and I try to restart LE advertising with bt_le_adv_start in disconnect event, I have no error (err_code = 0) but the advertising doesn't restart (I don't see any advertising with Android nRF Connect) !

    If i do not retrieve the periodic sync and i send disconnect then restart LE advertising in disconnect event, in this case it works !

    Do you have an explanation to these behaviors ? 

    Thank you for your replies

Children
Related