profile.h 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. // profile.h generated from Xinc_ble.gatt for BTstack
  2. // att db format version 1
  3. // binary attribute representation:
  4. // - size in bytes (16), flags(16), handle (16), uuid (16/128), value(...)
  5. #include <stdint.h>
  6. const uint8_t profile_data[] =
  7. {
  8. // ATT DB Version
  9. 1,
  10. // 0x0001 PRIMARY_SERVICE-GAP_SERVICE
  11. 0x0a, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28, 0x00, 0x18,
  12. // 0x0002 CHARACTERISTIC-GAP_DEVICE_NAME-READ
  13. 0x0d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28, 0x02, 0x03, 0x00, 0x00, 0x2a,
  14. // 0x0003 VALUE-GAP_DEVICE_NAME-READ-'Xinc_BLEv1'
  15. // READ_ANYBODY
  16. 0x12, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x2a, 0x58, 0x69, 0x6e, 0x63, 0x5f, 0x42, 0x4c, 0x45, 0x76, 0x31,
  17. // Test Service
  18. // 0x0004 PRIMARY_SERVICE-0000FF10-0000-1000-8000-00805F9B34FB
  19. 0x18, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x28, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x10, 0xff, 0x00, 0x00,
  20. // Test Characteristic A, notify
  21. // 0x0005 CHARACTERISTIC-0000FF11-0000-1000-8000-00805F9B34FB-NOTIFY | DYNAMIC
  22. 0x1b, 0x00, 0x02, 0x00, 0x05, 0x00, 0x03, 0x28, 0x10, 0x06, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x11, 0xff, 0x00, 0x00,
  23. // 0x0006 VALUE-0000FF11-0000-1000-8000-00805F9B34FB-NOTIFY | DYNAMIC-''
  24. //
  25. 0x16, 0x00, 0x00, 0x03, 0x06, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x11, 0xff, 0x00, 0x00,
  26. // 0x0007 CLIENT_CHARACTERISTIC_CONFIGURATION
  27. // READ_ANYBODY, WRITE_ANYBODY
  28. 0x0a, 0x00, 0x0e, 0x01, 0x07, 0x00, 0x02, 0x29, 0x00, 0x00,
  29. // Test Characteristic B, write and read
  30. // 0x0008 CHARACTERISTIC-0000FF12-0000-1000-8000-00805F9B34FB-WRITE | READ | DYNAMIC
  31. 0x1b, 0x00, 0x02, 0x00, 0x08, 0x00, 0x03, 0x28, 0x0a, 0x09, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x12, 0xff, 0x00, 0x00,
  32. // 0x0009 VALUE-0000FF12-0000-1000-8000-00805F9B34FB-WRITE | READ | DYNAMIC-''
  33. // READ_ANYBODY, WRITE_ANYBODY
  34. 0x16, 0x00, 0x0a, 0x03, 0x09, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x12, 0xff, 0x00, 0x00,
  35. // Human Interface Device 1812
  36. // 0x000a PRIMARY_SERVICE-ORG_BLUETOOTH_SERVICE_HUMAN_INTERFACE_DEVICE
  37. 0x0a, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x00, 0x28, 0x12, 0x18,
  38. // 0x000b CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_PROTOCOL_MODE-DYNAMIC | READ | WRITE_WITHOUT_RESPONSE
  39. 0x0d, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x03, 0x28, 0x06, 0x0c, 0x00, 0x4e, 0x2a,
  40. // 0x000c VALUE-ORG_BLUETOOTH_CHARACTERISTIC_PROTOCOL_MODE-DYNAMIC | READ | WRITE_WITHOUT_RESPONSE-''
  41. // READ_ANYBODY, WRITE_ANYBODY
  42. 0x08, 0x00, 0x06, 0x01, 0x0c, 0x00, 0x4e, 0x2a,
  43. // 0x000d CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16
  44. 0x0d, 0x00, 0x02, 0x00, 0x0d, 0x00, 0x03, 0x28, 0x1a, 0x0e, 0x00, 0x4d, 0x2a,
  45. // 0x000e VALUE-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16-''
  46. // READ_ENCRYPTED, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  47. 0x08, 0x00, 0x0b, 0xf5, 0x0e, 0x00, 0x4d, 0x2a,
  48. // 0x000f CLIENT_CHARACTERISTIC_CONFIGURATION
  49. // READ_ANYBODY, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  50. 0x0a, 0x00, 0x0f, 0xf1, 0x0f, 0x00, 0x02, 0x29, 0x00, 0x00,
  51. // fixed report id = 1, type = Input (1)
  52. // 0x0010 REPORT_REFERENCE-READ-1-1
  53. 0x0a, 0x00, 0x02, 0x00, 0x10, 0x00, 0x08, 0x29, 0x1, 0x1,
  54. // 0x0011 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16
  55. 0x0d, 0x00, 0x02, 0x00, 0x11, 0x00, 0x03, 0x28, 0x1a, 0x12, 0x00, 0x4d, 0x2a,
  56. // 0x0012 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16-''
  57. // READ_ENCRYPTED, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  58. 0x08, 0x00, 0x0b, 0xf5, 0x12, 0x00, 0x4d, 0x2a,
  59. // 0x0013 CLIENT_CHARACTERISTIC_CONFIGURATION
  60. // READ_ANYBODY, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  61. 0x0a, 0x00, 0x0f, 0xf1, 0x13, 0x00, 0x02, 0x29, 0x00, 0x00,
  62. // fixed report id = 2, type = Output (2)
  63. // 0x0014 REPORT_REFERENCE-READ-2-1
  64. 0x0a, 0x00, 0x02, 0x00, 0x14, 0x00, 0x08, 0x29, 0x2, 0x1,
  65. // 0x0015 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16
  66. 0x0d, 0x00, 0x02, 0x00, 0x15, 0x00, 0x03, 0x28, 0x1a, 0x16, 0x00, 0x4d, 0x2a,
  67. // 0x0016 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_REPORT-DYNAMIC | READ | WRITE | NOTIFY | ENCRYPTION_KEY_SIZE_16-''
  68. // READ_ENCRYPTED, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  69. 0x08, 0x00, 0x0b, 0xf5, 0x16, 0x00, 0x4d, 0x2a,
  70. // 0x0017 CLIENT_CHARACTERISTIC_CONFIGURATION
  71. // READ_ANYBODY, WRITE_ENCRYPTED, ENCRYPTION_KEY_SIZE=16
  72. 0x0a, 0x00, 0x0f, 0xf1, 0x17, 0x00, 0x02, 0x29, 0x00, 0x00,
  73. // fixed report id = 3, type = Feature (3)
  74. // 0x0018 REPORT_REFERENCE-READ-1-2
  75. 0x0a, 0x00, 0x02, 0x00, 0x18, 0x00, 0x08, 0x29, 0x1, 0x2,
  76. // 0x0019 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_REPORT_MAP-DYNAMIC | READ
  77. 0x0d, 0x00, 0x02, 0x00, 0x19, 0x00, 0x03, 0x28, 0x02, 0x1a, 0x00, 0x4b, 0x2a,
  78. // 0x001a VALUE-ORG_BLUETOOTH_CHARACTERISTIC_REPORT_MAP-DYNAMIC | READ-''
  79. // READ_ANYBODY
  80. 0x08, 0x00, 0x02, 0x01, 0x1a, 0x00, 0x4b, 0x2a,
  81. // 0x001b CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_INPUT_REPORT-DYNAMIC | READ | WRITE | NOTIFY
  82. 0x0d, 0x00, 0x02, 0x00, 0x1b, 0x00, 0x03, 0x28, 0x1a, 0x1c, 0x00, 0x22, 0x2a,
  83. // 0x001c VALUE-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_INPUT_REPORT-DYNAMIC | READ | WRITE | NOTIFY-''
  84. // READ_ANYBODY, WRITE_ANYBODY
  85. 0x08, 0x00, 0x0a, 0x01, 0x1c, 0x00, 0x22, 0x2a,
  86. // 0x001d CLIENT_CHARACTERISTIC_CONFIGURATION
  87. // READ_ANYBODY, WRITE_ANYBODY
  88. 0x0a, 0x00, 0x0e, 0x01, 0x1d, 0x00, 0x02, 0x29, 0x00, 0x00,
  89. // 0x001e CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_OUTPUT_REPORT-DYNAMIC | READ | WRITE | WRITE_WITHOUT_RESPONSE
  90. 0x0d, 0x00, 0x02, 0x00, 0x1e, 0x00, 0x03, 0x28, 0x0e, 0x1f, 0x00, 0x32, 0x2a,
  91. // 0x001f VALUE-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_OUTPUT_REPORT-DYNAMIC | READ | WRITE | WRITE_WITHOUT_RESPONSE-''
  92. // READ_ANYBODY, WRITE_ANYBODY
  93. 0x08, 0x00, 0x0e, 0x01, 0x1f, 0x00, 0x32, 0x2a,
  94. // 0x0020 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_MOUSE_INPUT_REPORT-DYNAMIC | READ | WRITE | NOTIFY
  95. 0x0d, 0x00, 0x02, 0x00, 0x20, 0x00, 0x03, 0x28, 0x1a, 0x21, 0x00, 0x33, 0x2a,
  96. // 0x0021 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_BOOT_MOUSE_INPUT_REPORT-DYNAMIC | READ | WRITE | NOTIFY-''
  97. // READ_ANYBODY, WRITE_ANYBODY
  98. 0x08, 0x00, 0x0a, 0x01, 0x21, 0x00, 0x33, 0x2a,
  99. // 0x0022 CLIENT_CHARACTERISTIC_CONFIGURATION
  100. // READ_ANYBODY, WRITE_ANYBODY
  101. 0x0a, 0x00, 0x0e, 0x01, 0x22, 0x00, 0x02, 0x29, 0x00, 0x00,
  102. // bcdHID = 0x101 (v1.0.1), bCountryCode 0, remote wakeable = 0 | normally connectable 2
  103. // 0x0023 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_HID_INFORMATION-READ
  104. 0x0d, 0x00, 0x02, 0x00, 0x23, 0x00, 0x03, 0x28, 0x02, 0x24, 0x00, 0x4a, 0x2a,
  105. // 0x0024 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_HID_INFORMATION-READ-'01 01 00 02'
  106. // READ_ANYBODY
  107. 0x0c, 0x00, 0x02, 0x00, 0x24, 0x00, 0x4a, 0x2a, 0x01, 0x01, 0x00, 0x02,
  108. // 0x0025 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_HID_CONTROL_POINT-DYNAMIC | WRITE_WITHOUT_RESPONSE
  109. 0x0d, 0x00, 0x02, 0x00, 0x25, 0x00, 0x03, 0x28, 0x04, 0x26, 0x00, 0x4c, 0x2a,
  110. // 0x0026 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_HID_CONTROL_POINT-DYNAMIC | WRITE_WITHOUT_RESPONSE-''
  111. // WRITE_ANYBODY
  112. 0x08, 0x00, 0x04, 0x01, 0x26, 0x00, 0x4c, 0x2a,
  113. // END
  114. 0x00, 0x00,
  115. }; // total size 243 bytes
  116. //
  117. // list service handle ranges
  118. //
  119. #define ATT_SERVICE_GAP_SERVICE_START_HANDLE 0x0001
  120. #define ATT_SERVICE_GAP_SERVICE_END_HANDLE 0x0003
  121. #define ATT_SERVICE_0000FF10_0000_1000_8000_00805F9B34FB_START_HANDLE 0x0004
  122. #define ATT_SERVICE_0000FF10_0000_1000_8000_00805F9B34FB_END_HANDLE 0x0009
  123. #define ATT_SERVICE_ORG_BLUETOOTH_SERVICE_HUMAN_INTERFACE_DEVICE_START_HANDLE 0x000a
  124. #define ATT_SERVICE_ORG_BLUETOOTH_SERVICE_HUMAN_INTERFACE_DEVICE_END_HANDLE 0x0026
  125. //
  126. // list mapping between characteristics and handles
  127. //
  128. #define ATT_CHARACTERISTIC_GAP_DEVICE_NAME_01_VALUE_HANDLE 0x0003
  129. #define ATT_CHARACTERISTIC_0000FF11_0000_1000_8000_00805F9B34FB_01_VALUE_HANDLE 0x0006
  130. #define ATT_CHARACTERISTIC_0000FF11_0000_1000_8000_00805F9B34FB_01_CLIENT_CONFIGURATION_HANDLE 0x0007
  131. #define ATT_CHARACTERISTIC_0000FF12_0000_1000_8000_00805F9B34FB_01_VALUE_HANDLE 0x0009
  132. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_PROTOCOL_MODE_01_VALUE_HANDLE 0x000c
  133. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_01_VALUE_HANDLE 0x000e
  134. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_01_CLIENT_CONFIGURATION_HANDLE 0x000f
  135. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_02_VALUE_HANDLE 0x0012
  136. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_02_CLIENT_CONFIGURATION_HANDLE 0x0013
  137. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_03_VALUE_HANDLE 0x0016
  138. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_03_CLIENT_CONFIGURATION_HANDLE 0x0017
  139. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_REPORT_MAP_01_VALUE_HANDLE 0x001a
  140. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_INPUT_REPORT_01_VALUE_HANDLE 0x001c
  141. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_INPUT_REPORT_01_CLIENT_CONFIGURATION_HANDLE 0x001d
  142. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BOOT_KEYBOARD_OUTPUT_REPORT_01_VALUE_HANDLE 0x001f
  143. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BOOT_MOUSE_INPUT_REPORT_01_VALUE_HANDLE 0x0021
  144. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BOOT_MOUSE_INPUT_REPORT_01_CLIENT_CONFIGURATION_HANDLE 0x0022
  145. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_HID_INFORMATION_01_VALUE_HANDLE 0x0024
  146. #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_HID_CONTROL_POINT_01_VALUE_HANDLE 0x0026