- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I want to add function to chage mac address and I know there are many ways. I want to use wiced_bt_set_local_bdaddr API to set address. My question is that is this API can call any time, even though FW run a while then to set?
I use CYBT343026-01 EVAL board. I test two ways.
1. CALL API before wiced_bt_dev_read_local_addr(bda)
result: address is changed
2. CALL API after wiced_bt_dev_read_local_addr(bda)(receive uart cmd then do call the API),then reset device
result: address no change
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did not understand your query properly.
- Call wiced_bt_set_local_bdaddr() after stack initialization.
- Make
.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().
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi YaTr_3516311,
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
H,i,
I use CYBT343026-01 EVAL board. I test two ways.
1. CALL API(wiced_bt_set_local_bdaddr) before wiced_bt_dev_read_local_addr(bda)
result: address is changed
2. CALL API(wiced_bt_set_local_bdaddr) after wiced_bt_dev_read_local_addr(bda)(receive uart cmd then do call the API),then reset device
result: address no change.
So call wiced_bt_set_local_bdaddr should be before wiced_bt_dev_read_local_addr,right? If call wiced_bt_set_local_bdaddr after wiced_bt_dev_read_local_addr then reset EVAL, this command cannot be stored?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Treacy,
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 .
Thanks,
Anjana
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
1. I confirmed with wiced_bt_dev_read_local_addr API.
2. CALL API(wiced_bt_set_local_bdaddr) after wiced_bt_dev_read_local_addr(bda)(receive uart cmd then do call the API),then reset device
This step is after start advertisement API. After that I reset device. As your said, wiced_bt_set_local_bdaddr is not saved in flash? If it saved in flash, I call wiced_bt_set_local_bdaddr once, then reset deivce, it should be use new address
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I did not understand your query properly.
- Call wiced_bt_set_local_bdaddr() after stack initialization.
- Make
.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().