advertising data stricture

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.wsdof.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
10 posts / 0 new
Last post
MADHUSF
Offline
Last seen:1 month 3 days ago
Joined:2018-01-15 09:22
advertising data stricture

Hi,

I have found #define USER_ADVERTISE_DATA in user_config.h

please tell me the format of USER_ADVERTISE_DATA..

how it is and what is in that..how can i modify it

Device:
PM_Dialog
Offline
Last seen:1 day 9 hours ago
Staff
Joined:2018-02-08 11:03
Hi MADHUSF.

Hi MADHUSF.

The advertising data should have a specific format and I will try to explain you how is should be. Please check the bll_app_peripheral example of the SDK. The advertising data are defined as follow:

#define USER_ADVERTISE_DATA ("\x03"\

ADV_TYPE_COMPLETE_LIST_16BIT_SERVICE_IDS\

ADV_UUID_DEVICE_INFORMATION_SERVICE\

"\x11"\

ADV_TYPE_COMPLETE_LIST_128BIT_SERVICE_IDS\

"\x2F\x2A\x93\xA6\xBD\xD8\x41\x52\xAC\x0B\x10\x99\x2E\xC6\xFE\xED")

As you can see, in the advertising data the Device information and the Complete list of 128-bit Service IDs are included.

  • 0 x03:长度
  • ADV_TYPE_COMPLETE_LIST_16BIT_SERVICE_IDS (x03) is the tag for Complete list of 16-bit Service IDs
  • ADV_UUID_DEVICE_INFORMATION_SERVICE( \x0A\x18) is the Device Information Service

So, the length of x03\x0A\x18 is 0x03

  • \x11 : Length
  • ADV_TYPE_COMPLETE_LIST_128BIT_SERVICE_IDS (\x07) tag for Complete list of 128-bit Service IDs
  • \x2F\x2A\x93\xA6\xBD\xD8\x41\x52\xAC\x0B\x10\x99\x2E\xC6\xFE\xED what you would like to populate as 128bit service

How to modify them depends what you would like to store into the advertising data. If you search on the forum, you will see lot of many posts regarding the advertising data. For instance:

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/useradvertisedata

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/change-advertisement-data

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/da14581-stops-sending-advertisements

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/changing-useradvertisedata-send

Thanks, PM_Dialog

MADHUSF
Offline
Last seen:1 month 3 days ago
Joined:2018-01-15 09:22
Hi,

Hi,

Can you please explain

1.what are the parameters need to send through advt data

2.What is BD_ADDRESS,how to define it.format

3.how to identify the device (chip) with advt parameters

4.what is the best practice to identify the device before connection or bonded to application

(i mean i m using ble scanner,how to idenify the device with advt paramers other than device name)

PM_Dialog
Offline
Last seen:1 day 9 hours ago
Staff
Joined:2018-02-08 11:03
Hi MADHUSF,

Hi MADHUSF,

  1. This is related to your application requirements. What would you like to populate when the device advertises? Can you please read the following document from our support website?

2 – 3 - 4. Can you please read the following document from our support website? This document provides all the information you will need.

//www.wsdof.com/sites/default/files/advertising_concept.pdf

Thanks, PM_Dialog

MADHUSF
Offline
Last seen:1 month 3 days ago
Joined:2018-01-15 09:22
Hi,

Hi,

Thank for your reply

1.i have seen CFG_NVDS_TAG_BD_ADDRESS in user_config.h..Its unique address to identify right,if right tell me how to frame it..

2.every BLE chip has unique manufactuer id or else any id specific to identify the chip right

how to read through the code or read from stack to advertising data.

please explain in detail

PM_Dialog
Offline
Last seen:1 day 9 hours ago
Staff
Joined:2018-02-08 11:03
Hi MADHUSF,

Hi MADHUSF,

The public address of the device is set in the CFG_NVDS_TAG_BD_ADDRESS flag in da1458x_config_advanced.h. The default address is : {0x03, 0x00, 0x70, 0xCA, 0xEA, 0x80}. If bd address is written in OTP header this value is ignored. Regarding your second question let me check it if is possible. In addition, you could refer to Bluetooth Core specifications in order get more information about the formats of the BD address.

Thanks, PM_Dialog

MADHUSF
Offline
Last seen:1 month 3 days ago
Joined:2018-01-15 09:22
Hi,

Hi,

I have checked the format of BD_ADDR

check these linkhttps://macaddresschanger.com/what-is-bluetooth-address-BD_ADDR

my question is

1.Its first 3 bytes define OUI,

dialog semiconductor has already OUI from IEEE..i have checked.

My question is OUI for chip manufactueres or also for organizations those using other BLE chips.

2..BD address is unique to identify device right,if yes,In code,how it should be define for different devices

i mean in production ,there should be only one hex file right,so i need to written in OTP header,if yes i have to define n no of BD_address for n devices,is it looks good right..or else any unique ID that can read from chip and sent through advt data..sugggest me the procedure to identify unique ness of BLE device?

PM_Dialog
Offline
Last seen:1 day 9 hours ago
Staff
Joined:2018-02-08 11:03
Hi MADHUSF,

Hi MADHUSF,

Each BLE device will have a unique Address to identify the device. However, these addresses are not programmed into the chips. They must be programmed by you during the production. If the OTP fields for this BD Address is programmed, then the device will use that specific address otherwise it will use the default address value from the firmware. These are the only ways to set the value of the BD Address.

However, the BLE Address itself can be configured to be of different types: Public and Random.

The Public Address is a fixed value all the time and is generated in accordance with the IEEE specification. Please refer to the BLE spec for the details. Public IEEE bd addresses have to be obtained through IEEE organization.

https://www.bluetooth.com/specifications/bluetooth-core-specification/

On the other hand, Random Address can be of Static and Private types. The Random address value is generated by the stack in accordance with the description in the BLE specification. The are 3 types of Random Device Address:

Random Static address, it shall comply with the following requirements:

  • the two most significant bits of the address shall be equal to 11

Non-Resolvable Private Address, it shall comply with the following:

  • the two most significant bits of the address shall be equal to 0

Resolvable Private Address, it shall comply with the following:

  • the two most significant bits of the address shall be equal to 01

All the remaining bits of the address shall NOT be equal to 1 or 0.

If you found the answer useful, please mark it as “accepted”

Thanks, PM_Dialog

MADHUSF
Offline
Last seen:1 month 3 days ago
Joined:2018-01-15 09:22
Hi,

Hi,

thank you for reply.

1.In random static address,

The Static Random Address is either preprogrammed on a device before it’s shipped, or may change to a new valueafter each power cycle. However, a device isn’t supposed to change this address until the device goes through a power cycle. If this address is changed during runtime, the address stored in the peer device will not remain valid and the reconnection using the older address will fail.

what is meant byafter each power cycle..in above sentence,explain ?

2.please explain more about Random Address in their usage.we are using DA14585 in our healthcare product for sending data to app..which scheme we have to adopt..we are developing healthcare product..i want to send the data to app..for that what are best schmes of BD ADDR we have to use.help me in this contest

PM_Dialog
Offline
Last seen:1 day 9 hours ago
Staff
Joined:2018-02-08 11:03
Hi MADHUSF,

Hi MADHUSF,

我的意思,你可以配置CFG_NVDS_TAG_BD_ADDRESS definition in da1458x_config_advanced.h file. Although, if bdaddress is written in OTP header this value is ignored. For mass production you could use the Production Line Tool (PLT).

//www.wsdof.com/sites/default/files/um-b-041_da1458x_da1468x_production_line_tool_4v2.pdf

Regarding your last question, it depends what kind of address type you would like your every peripheral Please check the specification in order to see the difference between each address type.

Thanks, PM_Dialog