1 2 // le_counter.h generated from ../../example/le_counter.gatt for BTstack 3 4 // binary representation 5 // attribute size in bytes (16), flags(16), handle (16), uuid (16/128), value(...) 6 7 #include <stdint.h> 8 9 const uint8_t profile_data[] = 10 { 11 // 0x0001 PRIMARY_SERVICE-GAP_SERVICE 12 0x0a, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28, 0x00, 0x18, 13 // 0x0002 CHARACTERISTIC-GAP_DEVICE_NAME-READ 14 0x0d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28, 0x02, 0x03, 0x00, 0x00, 0x2a, 15 // 0x0003 VALUE-GAP_DEVICE_NAME-READ-'LE Counter' 16 0x12, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x2a, 0x4c, 0x45, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 17 // add Battery Service 18 // #import <battery_service.gatt> -- BEGIN 19 // Specification Type org.bluetooth.service.battery_service 20 // https://www.bluetooth.com/api/gatt/xmlfile?xmlFileName=org.bluetooth.service.battery_service.xml 21 // Battery Service 180F 22 23 // 0x0004 PRIMARY_SERVICE-ORG_BLUETOOTH_SERVICE_BATTERY_SERVICE 24 0x0a, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00, 0x28, 0x0f, 0x18, 25 // 0x0005 CHARACTERISTIC-ORG_BLUETOOTH_CHARACTERISTIC_BATTERY_LEVEL-DYNAMIC | READ | NOTIFY 26 0x0d, 0x00, 0x02, 0x00, 0x05, 0x00, 0x03, 0x28, 0x12, 0x06, 0x00, 0x19, 0x2a, 27 // 0x0006 VALUE-ORG_BLUETOOTH_CHARACTERISTIC_BATTERY_LEVEL-DYNAMIC | READ | NOTIFY-'' 28 0x08, 0x00, 0x02, 0x01, 0x06, 0x00, 0x19, 0x2a, 29 // 0x0007 CLIENT_CHARACTERISTIC_CONFIGURATION 30 0x0a, 0x00, 0x1b, 0x01, 0x07, 0x00, 0x02, 0x29, 0x00, 0x00, 31 // #import <battery_service.gatt> -- END 32 33 // 0x0008 PRIMARY_SERVICE-GATT_SERVICE 34 0x0a, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x28, 0x01, 0x18, 35 // 0x0009 CHARACTERISTIC-GATT_SERVICE_CHANGED-READ 36 0x0d, 0x00, 0x02, 0x00, 0x09, 0x00, 0x03, 0x28, 0x02, 0x0a, 0x00, 0x05, 0x2a, 37 // 0x000a VALUE-GATT_SERVICE_CHANGED-READ-'' 38 0x08, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x05, 0x2a, 39 // Counter Service 40 41 // 0x000b PRIMARY_SERVICE-0000FF10-0000-1000-8000-00805F9B34FB 42 0x18, 0x00, 0x02, 0x00, 0x0b, 0x00, 0x00, 0x28, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x10, 0xff, 0x00, 0x00, 43 // Counter Characteristic, with read and notify 44 // 0x000c CHARACTERISTIC-0000FF11-0000-1000-8000-00805F9B34FB-READ | NOTIFY | DYNAMIC 45 0x1b, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x03, 0x28, 0x12, 0x0d, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x11, 0xff, 0x00, 0x00, 46 // 0x000d VALUE-0000FF11-0000-1000-8000-00805F9B34FB-READ | NOTIFY | DYNAMIC-'' 47 0x16, 0x00, 0x02, 0x03, 0x0d, 0x00, 0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x11, 0xff, 0x00, 0x00, 48 // 0x000e CLIENT_CHARACTERISTIC_CONFIGURATION 49 0x0a, 0x00, 0x1b, 0x01, 0x0e, 0x00, 0x02, 0x29, 0x00, 0x00, 50 51 // END 52 0x00, 0x00, 53 }; // total size 122 bytes 54 55 56 // 57 // list service handle ranges 58 // 59 #define ATT_SERVICE_GAP_SERVICE_START_HANDLE 0x0001 60 #define ATT_SERVICE_GAP_SERVICE_END_HANDLE 0x0003 61 #define ATT_SERVICE_ORG_BLUETOOTH_SERVICE_BATTERY_SERVICE_START_HANDLE 0x0004 62 #define ATT_SERVICE_ORG_BLUETOOTH_SERVICE_BATTERY_SERVICE_END_HANDLE 0x0007 63 #define ATT_SERVICE_GATT_SERVICE_START_HANDLE 0x0008 64 #define ATT_SERVICE_GATT_SERVICE_END_HANDLE 0x000a 65 #define ATT_SERVICE_0000FF10_0000_1000_8000_00805F9B34FB_START_HANDLE 0x000b 66 #define ATT_SERVICE_0000FF10_0000_1000_8000_00805F9B34FB_END_HANDLE 0x000e 67 68 // 69 // list mapping between characteristics and handles 70 // 71 #define ATT_CHARACTERISTIC_GAP_DEVICE_NAME_01_VALUE_HANDLE 0x0003 72 #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BATTERY_LEVEL_01_VALUE_HANDLE 0x0006 73 #define ATT_CHARACTERISTIC_ORG_BLUETOOTH_CHARACTERISTIC_BATTERY_LEVEL_01_CLIENT_CONFIGURATION_HANDLE 0x0007 74 #define ATT_CHARACTERISTIC_GATT_SERVICE_CHANGED_01_VALUE_HANDLE 0x000a 75 #define ATT_CHARACTERISTIC_0000FF11_0000_1000_8000_00805F9B34FB_01_VALUE_HANDLE 0x000d 76 #define ATT_CHARACTERISTIC_0000FF11_0000_1000_8000_00805F9B34FB_01_CLIENT_CONFIGURATION_HANDLE 0x000e 77