Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README to reflect addition of GATT Appearance(s) #108

Merged
merged 1 commit into from
Jan 12, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,32 @@ We have based the data structure above on the official listing of GATT Specifica
This structure is a mirror of the official Bluetooth Specification. It is added as a convenience so that each application does not need to download and transfrom the online listings at the Bluetooth official website. Note that registration of new Company Identifiers must go through official channels at Bluetooth SIG.
The full JSON Schema for the Company ID Data Structure can be found [here](https://github.com/NordicSemiconductor/bluetooth-numbers-database/blob/master/v1/company_schema.json).

### GATT Appearance(s)

GATT Appearence is defined in the Bluetooth SIG Specification, as both a Common Data Type 0x19 (see [Bluetooth Core Specification Supplement](https://www.bluetooth.com/specifications/specs/core-specification-supplement-9/)) and as a Characteristic which makes use of said data type. Bluetooth Appearance Data has a length of 2 bytes, set as follows:

| Bits | Type | Description | Required |
| -----|------|----------| --- |
| 15-6 | `Integer` | Category | **Yes** |
| 5-0 | `Integer` | Sub-Category | **Yes** |

Appearance is a new addition to this database prompted by user [eriklins](https://github.com/eriklins), as a solution to his own issue ticket in this project. The result of which was [this initial Pull Request](https://github.com/NordicSemiconductor/bluetooth-numbers-database/pull/107). As of now it's not perfect, but it is a good starting point. The definition presented here is intended to mirror the Bluetooth SIG Assigned Numbers Document as defined and updated [here](https://www.bluetooth.com/wp-content/uploads/Files/Specification/Assigned_Numbers.pdf).

#### Category Schema

| Field | Type | Description | Required |
| ------|------|----------| --- |
| category | `Int` | Decimal value identifying the Category, corresponding to reversed bits 15 to 6 of Appearance Data | **Yes** |
| name | `String` | Name of the Category | **Yes** |
| subcategory | `[Sub-Category]` | Array of Sub-Categories within an Appearance Category | **No** |

#### Sub-Category Schema

| Field | Type | Description | Required |
| ------|------|----------| --- |
| value | `Int` | Decimal value identifying the sub-category within a parent category, corresponding to the reversed bits 5 to 0 from Appearance Data | **Yes** |
| name | `String` | Name of the Sub-Category | **Yes** |

## Rules and Contributions

* The purpose of this project is to be an online shared directory of Bluetooth numbers, so all listings (Company IDs, Services, etc.) **can and are meant to** be extended by the community, as long as they're Bluetooth SIG-Compliant. (More on this below.)
Expand Down
Loading