xref: /btstack/test/gatt_server/profile.gatt (revision f97394917c3b1935c260bd05ff48b4262744e5a4)
1PRIMARY_SERVICE, GAP_SERVICE
2CHARACTERISTIC, GAP_DEVICE_NAME, READ | WRITE | DYNAMIC,
3CHARACTERISTIC, GAP_APPEARANCE, READ | WRITE | DYNAMIC,
4// GAP Peripheral Privacy Flag
5CHARACTERISTIC, 2A02, READ | WRITE | DYNAMIC, 00
6// GAP Reconnection Address - 6 bytes
7CHARACTERISTIC, 2A03, READ  | WRITE | DYNAMIC,
8// GAP Peripheral Preferred Connection Parameters
9CHARACTERISTIC, 2A04, READ | WRITE | DYNAMIC,
10
11PRIMARY_SERVICE, GATT_SERVICE
12CHARACTERISTIC, GATT_SERVICE_CHANGED, READ,
13
14SECONDARY_SERVICE, 0000FF10-0000-1000-8000-00805F9B34FB
15CHARACTERISTIC, FF10, READ | WRITE | DYNAMIC,
16
17SECONDARY_SERVICE, 0000FF11-0000-1000-8000-00805F9B34FB
18CHARACTERISTIC, FF11, READ | WRITE | DYNAMIC,
19
20//
21PRIMARY_SERVICE, FFFF
22CHARACTERISTIC, FFFD, READ | WRITE | DYNAMIC,
23CHARACTERISTIC, FFFE, READ | WRITE | DYNAMIC,
24//
25PRIMARY_SERVICE, FFFF
26CHARACTERISTIC, FFFD, READ | WRITE | DYNAMIC,
27CHARACTERISTIC, FFFE, READ | WRITE | DYNAMIC,
28//
29// SECONDARY_SERVICE, FFFA
30// CHARACTERISTIC, FFFB, READ | WRITE | DYNAMIC,
31//
32// SECONDARY_SERVICE, FFF9
33// INCLUDE_SERVICE, FFFA
34//
35// SECONDARY_SERVICE, FFF7
36// INCLUDE_SERVICE, FFF9
37// CHARACTERISTIC, FFF8, READ | WRITE | DYNAMIC,
38//
39SECONDARY_SERVICE, FFF4
40// INCLUDE_SERVICE, FFF7
41// INCLUDE_SERVICE, FFFC
42// INCLUDE_SERVICE, FFFF
43CHARACTERISTIC, FFF5, READ | WRITE | DYNAMIC,
44CHARACTERISTIC, FFF6, READ | WRITE | DYNAMIC,
45//
46// PRIMARY_SERVICE, FFF0
47// INCLUDE_SERVICE, FFF4
48// CHARACTERISTIC, FFF1, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED | ENCRYPTION_KEY_SIZE_7 | AUTHENTICATION_REQUIRED,
49// CHARACTERISTIC, FFF2, READ | WRITE | DYNAMIC,
50// CHARACTERISTIC, FFF3, READ | INDICATE,
51// CHARACTERISTIC, 00001234-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC,
52
53// Primary Service with 16-bit UUID, included service
54PRIMARY_SERVICE, F000
55INCLUDE_SERVICE, FFF4
56// Characteristics 16 and 128 bit with different authoriztion/authentication/encryption requirements and read/write flags
57// - no requirements
58CHARACTERISTIC, F100, READ | WRITE | DYNAMIC | NOTIFY | INDICATE | RELIABLE_WRITE,
59CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC,
60CHARACTERISTIC, 0000F101-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | NOTIFY | INDICATE | RELIABLE_WRITE,
61CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC,
62// - neither read nor writable
63CHARACTERISTIC, F102, DYNAMIC,
64CHARACTERISTIC_USER_DESCRIPTION, DYNAMIC,
65CHARACTERISTIC, 0000F103-0000-1000-8000-00805F9B34FB, DYNAMIC,
66CHARACTERISTIC_USER_DESCRIPTION, DYNAMIC,
67// - authorization required
68CHARACTERISTIC, F104, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
69CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
70CHARACTERISTIC, 0000F105-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
71CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
72// - authenthication required
73CHARACTERISTIC, F106, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
74CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
75CHARACTERISTIC, 0000F107-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
76CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
77// - encryptiont with 128 bit key required
78CHARACTERISTIC, F108, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
79CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
80CHARACTERISTIC, 0000F109-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
81CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
82// - write only
83CHARACTERISTIC, F10A, WRITE | DYNAMIC,
84
85// - read/write, incl. server characteristic configuration, characteristic format (uint8_t, exponent = 0, unitless, Bluetooth SIG, and characteristic aggregate format
86CHARACTERISTIC, F10B, READ | WRITE | DYNAMIC,
87SERVER_CHARACTERISTIC_CONFIGURATION, READ | WRITE | DYNAMIC,
88CHARACTERISTIC_FORMAT, 1, 04, 0, 2700, 1, 0000
89CHARACTERISTIC_FORMAT, 2, 0c, 0, 2700, 1, 0000
90CHARACTERISTIC_AGGREGATE_FORMAT, 1, 2
91
92// - read/write/write without response
93CHARACTERISTIC, F10D, READ | WRITE | WRITE_WITHOUT_RESPONSE | DYNAMIC,
94// - read/write without response
95CHARACTERISTIC, F10C, READ | WRITE_WITHOUT_RESPONSE | DYNAMIC,
96// - read/authenticated signed writes
97CHARACTERISTIC, F10E, READ | WRITE | AUTHENTICATED_SIGNED_WRITE | DYNAMIC,
98
99// Primary Service with 128-bit UUID, included service
100PRIMARY_SERVICE, 0000F001-0000-1000-8000-00805F9B34FB
101INCLUDE_SERVICE, 0000FF10-0000-1000-8000-00805F9B34FB
102INCLUDE_SERVICE, 0000FF11-0000-1000-8000-00805F9B34FB
103// Characteristics 16 and 128 bit with different authoriztion/authentication/encryption requirements and read/write flags
104// - no requirements
105CHARACTERISTIC, F200, READ | WRITE | DYNAMIC | NOTIFY | INDICATE | RELIABLE_WRITE | WRITE_WITHOUT_RESPONSE,
106CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC,
107CHARACTERISTIC, 0000F201-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | NOTIFY | INDICATE | RELIABLE_WRITE,
108CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC,
109// - neither read nor writable
110CHARACTERISTIC, F202, DYNAMIC,
111CHARACTERISTIC_USER_DESCRIPTION, DYNAMIC,
112CHARACTERISTIC, 0000F203-0000-1000-8000-00805F9B34FB, DYNAMIC,
113CHARACTERISTIC_USER_DESCRIPTION, DYNAMIC,
114// - authorization required
115CHARACTERISTIC, F204, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
116CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
117CHARACTERISTIC, 0000F205-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
118CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHORIZATION_REQUIRED,
119// - authenthication required
120CHARACTERISTIC, F206, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
121CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
122CHARACTERISTIC, 0000F207-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
123CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | AUTHENTICATION_REQUIRED,
124// - encryptiont with 128 bit key required
125CHARACTERISTIC, F208, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
126CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
127CHARACTERISTIC, 0000F209-0000-1000-8000-00805F9B34FB, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
128CHARACTERISTIC_USER_DESCRIPTION, READ | WRITE | DYNAMIC | ENCRYPTION_KEY_SIZE_16,
129
130
131