Add guideline to chose the UUID of custom BLE services in docs.

This commit is contained in:
Jean-François Milants 2021-01-19 21:15:36 +01:00
parent f1e7d0b469
commit 54d437adb8

View File

@ -15,6 +15,29 @@ If **CTS** is detected, it'll request the current time to the companion applicat
![BLE connection sequence diagram](ble/connection_sequence.png "BLE connection sequence diagram") ![BLE connection sequence diagram](ble/connection_sequence.png "BLE connection sequence diagram")
## BLE UUIDs
When possible, InfiniTime tries to implement BLE services defined by the BLE specification.
When the service does not exist in the BLE specification, InfiniTime implement custom services. As all BLE services, custom services are identified by a UUID. Here is how to define the UUID of custom services in InfiniTime:
```
- Base UUID : xxxxxxxx-78fc-48fe-8e23-433b3a1942d0
- Service UUID : SSSS0000-78fc-48fe-8e23-433b3a1942d0 where SSSS is the service ID
- Characteristic UUID : SSSSCCCC-78fc-48fe-8e23-433b3a1942d0 where CCCC is the characteristic ID for the service SSSS and is different than 0
```
The following custom services are implemented in InfiniTime:
- Since InfiniTime 0.8:
```
* Music Service : 00000000-78fc-48fe-8e23-433b3a1942d0
```
- Since InfiniTime 0.11:
```
* Navigation Service : 00010000-78fc-48fe-8e23-433b3a1942d0
```
## BLE services ## BLE services
[List of standard BLE services](https://www.bluetooth.com/specifications/gatt/services/) [List of standard BLE services](https://www.bluetooth.com/specifications/gatt/services/)