- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have 2 PSOC 6 Proto boards and am advertising with both. I am also using CySmart to look at the advertisements.
The problem is that they Both have the same Bluetooth Address of 80:CD:AB:CD:AB:80 and CySmart will only scan one of them. How do I get the address to be unique?
Changing the Public Address field of the GAP Settings->General settings seems to make no difference.
Mark
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1 is for public address and 0 is for random address.
For your original question, we will update our FW and correct it in the next update.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Are you using the Creator for your development? Could you check the following KBA to see if there is something wrong with your configuration?
Setting Bluetooth Device Address - KBA211407
If it still doesn't work, could you share your project for us?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sorry this took so long. I have been sidelined off this project for a bit.
I am attaching a project zip file that is a very stripped down version of what I am trying to do.
The KBA was using a PSOC 4 which is a different interface but should have been similar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are some initial data in the sflash BD Address aera. You can use the API Cy_BLE_GAP_SetBdAddress to set the BD_ADDR.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can change the address with the API call but who does PSoC Creator have a field for setting the address but doesn't do anything with it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I checked the code and it may not be the problem I mentioned before. It seems the problem only happens when you choose broadcaster only. I am checking this problem with our FW team and need some time for the answer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I also isolated the following the problem.
I Generate a Random address using This code in the stack handler.
case CY_BLE_EVT_STACK_ON:
cy_stc_ble_stack_random_num_param_t seed; // whatever is in the stack is good enough for me.
apiResult = Cy_BLE_GenerateRandomNumber(&seed);
break;
case CY_BLE_EVT_RANDOM_NUM_GEN_COMPLETE:
AddrInfo.addrType = CY_BLE_GAP_RANDOM_STATIC_ADDR;
Cy_BLE_GAP_GenerateBdAddress(&AddrInfo);
break;
case CY_BLE_EVT_GAP_DEVICE_ADDR_GEN_COMPLETE:
memcpy(Address.bdAddr, AddrInfo.gapBdAddr.bdAddr, 6);
Address.type = 0;
Cy_BLE_GAP_SetBdAddress(&Address);
If I set Address.type to 1 nothing gets set and I see the default address being broadcast,
If I set Address.type to 0 I get my generated address labeled as public.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1 is for public address and 0 is for random address.
For your original question, we will update our FW and correct it in the next update.