bt_le_ext_adv_update_param() cannot change BDADDR


loquat3
 
Edited

I work on NORDIC nrf connect sdk v2.2.0 (base on zephyr 3.2.0)
BDADDR does not change even if bt_le_adv_param.id is changed in bt_le_ext_adv_update_param().

I checked the source code.(I think you are wrong.)
------------------------------------------------------------------------------

zephyr/subsys/bluetooth/host/adv.c
int bt_le_ext_adv_update_param()
  ...
  le_ext_adv_param_set()
    ...
    ////////////////////////////////////
    It looks like are setting BDADDR
    ////////////////////////////////////
    err = bt_id_set_adv_own_addr(adv, param->options, dir_adv, &cp->own_addr_type);
      ...
      /* Set which local identity address we're advertising with */
      ///////////////////////////////////////////////
       BDADDR is not new addr but old(current) addr?
      ///////////////////////////////////////////////
      id_addr = &bt_dev.id_addr[adv->id];
      ...
      if (options & BT_LE_ADV_OPT_USE_IDENTITY) {
        if (id_addr->type == BT_ADDR_LE_RANDOM) {
          err = bt_id_set_adv_random_addr(adv, &id_addr->a);
        }