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