Configuration of Public Device Address
Dear all,
I am currently evaluation the BlueNRG-LP for a new project. I am using the STEVAL-IDB011V1 board and BLE stack v3.1. I've started with the BLESensorDemo to implement our own service. My question is regarding the BLE address.
This is how it is defined in the BLE spec.:
Public Device Address
This is the standard, IEEE-assigned 48-bit universal LAN MAC address which must be obtained from the IEEE Registration Authority. It is divided into two fields:
IEEE-assigned company ID held in the 24 most-significant bits
Company-assigned device ID held in the 24 least significant bits
So, due to spec. the BLE address shall be unique. The company ID should be some ID which identifies it as an ST or BlueNRG device which is registered to IEEE.
The device ID should identify a device among the company ID. So, it has to be set by ST and not the customer as the customer cannot know all the devices.
But apparently it is possible to configure the address in the BlueNRG-LP which makes it NOT UNIQUE.
/* Configure Public address */
ret = aci_hal_write_config_data(CONFIG_DATA_PUBADDR_OFFSET, CONFIG_DATA_PUBADDR_LEN, bdaddr);
if(ret != BLE_STATUS_SUCCESS){
printf("Setting BD_ADDR failed: 0x%02x\r\n", ret);
return ret;
}Maybe this is a missunderstanding. But, I know from other projects where other BLE SoC's are used that there is no configuration possible when using public addresses. The devices have a static and unique address.
What is the right configuration to get a unique address according to spec. ?
Best Regards
Oliver
