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