Bluetooth CBAdvDataManufacturerData format documentation

Where's CBAdvDataManufacturerData format documented?

It looks like there's the company code stored in little endian order in the first two bytes (referencing the companies found in company_identifiers.yaml on bluetooth site). And the rest is arbitrary?

I'd like to see the official documentation about this.

Thank you.

Accepted Reply

Core Specification Supplement 11 (https://www.bluetooth.com/specifications/css-11/) page 16 (Part A, Section 1.4.1)

"The first two data octets shall contain a company identifier from Assigned Numbers. The interpretation of any other octets within the data shall be defined by the manufacturer specified by the company identifier."

Replies

Core Specification Supplement 11 (https://www.bluetooth.com/specifications/css-11/) page 16 (Part A, Section 1.4.1)

"The first two data octets shall contain a company identifier from Assigned Numbers. The interpretation of any other octets within the data shall be defined by the manufacturer specified by the company identifier."

Thank you! I guess if I want to drill into those manufacturer fields I'd have to hunt for those specs in many various places. Are you aware of a resource (a web page? json?, open database?) that attempts to summarise some frequently used manufacturerData fields in one place?

If I were to do it, I'd probably use json, something like this:

[
    {
        "id": "0x0123", // company identifier
        "specification": "a url pointing to a particular specification",
        "version: 1.3",
        "fields": [
            { "size": 1, "type": "int", "name": "flags", "description": "Various flags" }, // bytes 0 ..< 1
            { "size": 1, "type": "byte", "name": "padding", "description": "-" }, // bytes 1 ..< 2
            { "size": 3, "type": "int", "name": "batteryLevel", "description": "Battery level" }, // bytes 2 ..< 5
        ]
    },
    {
        "id": "0x0456", // company identifier
         ...
]

Would I be the first one to do this or is something like this already exist?

"The interpretation of any other octets within the data shall be defined by the manufacturer specified by the company identifier"

Where could I find the spec of Apple's manufacturerData?