Possibility of using Nordic nRF52840 as PAwR advertiser and the other device as PAwR scanner

Hi,

I am currently investigating the possibility of using Nordic nRF52840 as the PAwR advertiser and the other device (from a different vendor) as the PAwR scanner. 

I don't want to include in the PAST procedure in my first demo, and found this ticket related: PaWR subevent data - Nordic Q&A - Nordic DevZone - Nordic DevZone

I have went through the recommended `periodic_adv_conn` sample application. But I am not really sure whether it is possible to get this working. Moreover, I am actually not using the STACK on the other device, but writing the application based on the radio driver. 

Would appreciate it if you can give some suggestions Slight smile

Parents
  • I modified the example as follows:


    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    int err;
    struct bt_le_ext_adv *pawr_adv;
    init_bufs();
    /* Initialize the Bluetooth Subsystem */
    err = bt_enable(NULL);
    if (err) {
    printk("Bluetooth init failed (err %d)\n", err);
    return 0;
    }
    /* Create a non-connectable advertising set */
    err = bt_le_ext_adv_create(BT_LE_EXT_ADV_NCONN, &adv_cb, &pawr_adv);
    if (err) {
    printk("Failed to create advertising set (err %d)\n", err);
    return 0;
    }
    /* Set periodic advertising parameters */
    err = bt_le_per_adv_set_param(pawr_adv, &per_adv_params);
    if (err) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    When running this PAwR advertiser application, I got the following errors



Reply
  • I modified the example as follows:


    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    int err;
    struct bt_le_ext_adv *pawr_adv;
    init_bufs();
    /* Initialize the Bluetooth Subsystem */
    err = bt_enable(NULL);
    if (err) {
    printk("Bluetooth init failed (err %d)\n", err);
    return 0;
    }
    /* Create a non-connectable advertising set */
    err = bt_le_ext_adv_create(BT_LE_EXT_ADV_NCONN, &adv_cb, &pawr_adv);
    if (err) {
    printk("Failed to create advertising set (err %d)\n", err);
    return 0;
    }
    /* Set periodic advertising parameters */
    err = bt_le_per_adv_set_param(pawr_adv, &per_adv_params);
    if (err) {
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    When running this PAwR advertiser application, I got the following errors



Children
  • I did check the meaning of this -5 error. According to Zephyr documentation, this is an I/O error. But I don't really understand what does this I/O error mean in this context. Could u please shed some light on understanding and resolving this issue?