summaryrefslogtreecommitdiff
path: root/doc/ble.md
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-01-19 21:15:36 +0100
committerJean-François Milants <jf@codingfield.com>2021-01-19 21:25:57 +0100
commit54d437adb8843f44eac5fe41eb8d10ebed111709 (patch)
treedea35c6348b9da01c67c571bd980a116d8120856 /doc/ble.md
parentf1e7d0b46971c49ea293505425447a8e41547ff3 (diff)
Add guideline to chose the UUID of custom BLE services in docs.
Diffstat (limited to 'doc/ble.md')
-rw-r--r--doc/ble.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/ble.md b/doc/ble.md
index 9a7c59a8..fdf1a5b6 100644
--- a/doc/ble.md
+++ b/doc/ble.md
@@ -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 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
[List of standard BLE services](https://www.bluetooth.com/specifications/gatt/services/)