wiced_bt_dev_read_local_addr() is to read the BD address. You have to call wiced_bt_set_local_bdaddr() before the read address API so that you can see the changed BD address using wiced_bt_dev_read_local_addr() API.
We couldn't able to understand your query properly.
When you say address is changed or address no change, how you are verifying it? Is it by wiced_bt_dev_read_local_addr API or by seeing it in some app?
Generally call the set address API wiced_bt_set_local_bdaddr before start advertisement API .
1. I confirmed with wiced_bt_dev_read_local_addr API.
I did not understand your query properly.
- Call wiced_bt_set_local_bdaddr() after stack initialization.
.rpa_refresh_timeout = 0,
in your code.
- Make sure that you are not calling API wiced_bt_ble_enable_privacy().
Even after reset, you should be able to see the BD address set by you using API wiced_bt_set_local_bdaddr().