AC63_BT_SDK/apps/hid/modules/bt/ble_hogp_profile.h
2025-02-18 15:40:42 +08:00

416 lines
18 KiB
C

// binary representation
// attribute size in bytes (16), flags(16), handle (16), uuid (16/128), value(...)
#ifndef _BLE_HOGP_PROFILE_H
#define _BLE_HOGP_PROFILE_H
#include <stdint.h>
#include "app_config.h"
//
// gatt profile include file, generated by jieli gatt_inc_generator.exe
//
/*
生成profile工具的链接下载
https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/tree/master/sdk_tools/BLE%20Profile%E5%B7%A5%E5%85%B7
profile cfg 文件参考工具包里面目录hogp_cfg
*/
static const uint8_t hogp_profile_data[] = {
//////////////////////////////////////////////////////
//
// 0x0001 PRIMARY_SERVICE 1800
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x28, 0x00, 0x18,
/* CHARACTERISTIC, 2a00, READ | DYNAMIC, */
// 0x0002 CHARACTERISTIC 2a00 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x28, 0x02, 0x03, 0x00, 0x00, 0x2a,
// 0x0003 VALUE 2a00 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x2a,
/* CHARACTERISTIC, 2a01, READ | DYNAMIC, */
// 0x0004 CHARACTERISTIC 2a01 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x04, 0x00, 0x03, 0x28, 0x02, 0x05, 0x00, 0x01, 0x2a,
// 0x0005 VALUE 2a01 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x05, 0x00, 0x01, 0x2a,
/* CHARACTERISTIC, 2a04, READ | DYNAMIC, */
// 0x0006 CHARACTERISTIC 2a04 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x06, 0x00, 0x03, 0x28, 0x02, 0x07, 0x00, 0x04, 0x2a,
// 0x0007 VALUE 2a04 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x07, 0x00, 0x04, 0x2a,
//////////////////////////////////////////////////////
//
// 0x0008 PRIMARY_SERVICE 1801
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x08, 0x00, 0x00, 0x28, 0x01, 0x18,
/* CHARACTERISTIC, 2a05, INDICATE, */
// 0x0009 CHARACTERISTIC 2a05 INDICATE
0x0d, 0x00, 0x02, 0x00, 0x09, 0x00, 0x03, 0x28, 0x20, 0x0a, 0x00, 0x05, 0x2a,
// 0x000a VALUE 2a05 INDICATE
0x08, 0x00, 0x20, 0x00, 0x0a, 0x00, 0x05, 0x2a,
// 0x000b CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x0b, 0x00, 0x02, 0x29, 0x00, 0x00,
//////////////////////////////////////////////////////
//
// 0x000c PRIMARY_SERVICE 180a
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x00, 0x28, 0x0a, 0x18,
/* CHARACTERISTIC, 2a29, READ | DYNAMIC, */
// 0x000d CHARACTERISTIC 2a29 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x0d, 0x00, 0x03, 0x28, 0x02, 0x0e, 0x00, 0x29, 0x2a,
// 0x000e VALUE 2a29 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x0e, 0x00, 0x29, 0x2a,
/* CHARACTERISTIC, 2a24, READ | DYNAMIC, */
// 0x000f CHARACTERISTIC 2a24 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x0f, 0x00, 0x03, 0x28, 0x02, 0x10, 0x00, 0x24, 0x2a,
// 0x0010 VALUE 2a24 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x10, 0x00, 0x24, 0x2a,
/* CHARACTERISTIC, 2a25, READ | DYNAMIC, */
// 0x0011 CHARACTERISTIC 2a25 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x11, 0x00, 0x03, 0x28, 0x02, 0x12, 0x00, 0x25, 0x2a,
// 0x0012 VALUE 2a25 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x12, 0x00, 0x25, 0x2a,
/* CHARACTERISTIC, 2a27, READ | DYNAMIC, */
// 0x0013 CHARACTERISTIC 2a27 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x13, 0x00, 0x03, 0x28, 0x02, 0x14, 0x00, 0x27, 0x2a,
// 0x0014 VALUE 2a27 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x14, 0x00, 0x27, 0x2a,
/* CHARACTERISTIC, 2a26, READ | DYNAMIC, */
// 0x0015 CHARACTERISTIC 2a26 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x15, 0x00, 0x03, 0x28, 0x02, 0x16, 0x00, 0x26, 0x2a,
// 0x0016 VALUE 2a26 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x16, 0x00, 0x26, 0x2a,
/* CHARACTERISTIC, 2a28, READ | DYNAMIC, */
// 0x0017 CHARACTERISTIC 2a28 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x17, 0x00, 0x03, 0x28, 0x02, 0x18, 0x00, 0x28, 0x2a,
// 0x0018 VALUE 2a28 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x18, 0x00, 0x28, 0x2a,
/* CHARACTERISTIC, 2a23, READ | DYNAMIC, */
// 0x0019 CHARACTERISTIC 2a23 READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x19, 0x00, 0x03, 0x28, 0x02, 0x1a, 0x00, 0x23, 0x2a,
// 0x001a VALUE 2a23 READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x1a, 0x00, 0x23, 0x2a,
/* CHARACTERISTIC, 2a2a, READ | DYNAMIC, */
// 0x001b CHARACTERISTIC 2a2a READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x1b, 0x00, 0x03, 0x28, 0x02, 0x1c, 0x00, 0x2a, 0x2a,
// 0x001c VALUE 2a2a READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x1c, 0x00, 0x2a, 0x2a,
/* CHARACTERISTIC, 2a50, READ | AUTHENTICATION_REQUIRED | DYNAMIC, */
// 0x001d CHARACTERISTIC 2a50 READ | AUTHENTICATION_REQUIRED | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x1d, 0x00, 0x03, 0x28, 0x02, 0x1e, 0x00, 0x50, 0x2a,
// 0x001e VALUE 2a50 READ | AUTHENTICATION_REQUIRED | DYNAMIC
0x08, 0x00, 0x02, 0x05, 0x1e, 0x00, 0x50, 0x2a,
//////////////////////////////////////////////////////
//
// 0x001f PRIMARY_SERVICE 180f
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x1f, 0x00, 0x00, 0x28, 0x0f, 0x18,
/* CHARACTERISTIC, 2a19, READ | DYNAMIC | NOTIFY, */
// 0x0020 CHARACTERISTIC 2a19 READ | DYNAMIC | NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x20, 0x00, 0x03, 0x28, 0x12, 0x21, 0x00, 0x19, 0x2a,
// 0x0021 VALUE 2a19 READ | DYNAMIC | NOTIFY
0x08, 0x00, 0x12, 0x01, 0x21, 0x00, 0x19, 0x2a,
// 0x0022 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x22, 0x00, 0x02, 0x29, 0x00, 0x00,
//////////////////////////////////////////////////////
//
// 0x0023 PRIMARY_SERVICE 1812
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00, 0x28, 0x12, 0x18,
/* CHARACTERISTIC, 2a4e, READ | WRITE_WITHOUT_RESPONSE,01 */
// 0x0024 CHARACTERISTIC 2a4e READ | WRITE_WITHOUT_RESPONSE
0x0d, 0x00, 0x02, 0x00, 0x24, 0x00, 0x03, 0x28, 0x06, 0x25, 0x00, 0x4e, 0x2a,
// 0x0025 VALUE 2a4e READ | WRITE_WITHOUT_RESPONSE 01
0x09, 0x00, 0x06, 0x00, 0x25, 0x00, 0x4e, 0x2a, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x0026 CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x26, 0x00, 0x03, 0x28, 0x1a, 0x27, 0x00, 0x4d, 0x2a,
// 0x0027 VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x27, 0x00, 0x4d, 0x2a,
// 0x0028 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x28, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x0029 REPORT_REFERENCE,01,01 */
0x0a, 0x00, 0x02, 0x00, 0x29, 0x00, 0x08, 0x29, 0x01, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x002a CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x2a, 0x00, 0x03, 0x28, 0x1a, 0x2b, 0x00, 0x4d, 0x2a,
// 0x002b VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x2b, 0x00, 0x4d, 0x2a,
// 0x002c CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x2c, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x002d REPORT_REFERENCE,02,01 */
0x0a, 0x00, 0x02, 0x00, 0x2d, 0x00, 0x08, 0x29, 0x02, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x002e CHARACTERISTIC 2a4d READ | WRITE | WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x2e, 0x00, 0x03, 0x28, 0x0e, 0x2f, 0x00, 0x4d, 0x2a,
// 0x002f VALUE 2a4d READ | WRITE | WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x0e, 0x01, 0x2f, 0x00, 0x4d, 0x2a,
/* 0x0030 REPORT_REFERENCE,01,02 */
0x0a, 0x00, 0x02, 0x00, 0x30, 0x00, 0x08, 0x29, 0x01, 0x02,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x0031 CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x31, 0x00, 0x03, 0x28, 0x1a, 0x32, 0x00, 0x4d, 0x2a,
// 0x0032 VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x32, 0x00, 0x4d, 0x2a,
// 0x0033 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x33, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x0034 REPORT_REFERENCE,03,01 */
0x0a, 0x00, 0x02, 0x00, 0x34, 0x00, 0x08, 0x29, 0x03, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x0035 CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x35, 0x00, 0x03, 0x28, 0x1a, 0x36, 0x00, 0x4d, 0x2a,
// 0x0036 VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x36, 0x00, 0x4d, 0x2a,
// 0x0037 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x37, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x0038 REPORT_REFERENCE,04,01 */
0x0a, 0x00, 0x02, 0x00, 0x38, 0x00, 0x08, 0x29, 0x04, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x0039 CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x39, 0x00, 0x03, 0x28, 0x1a, 0x3a, 0x00, 0x4d, 0x2a,
// 0x003a VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x3a, 0x00, 0x4d, 0x2a,
// 0x003b CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x3b, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x003c REPORT_REFERENCE,05,01 */
0x0a, 0x00, 0x02, 0x00, 0x3c, 0x00, 0x08, 0x29, 0x05, 0x01,
/* CHARACTERISTIC, 2a4d, READ | WRITE | NOTIFY | DYNAMIC, */
// 0x003d CHARACTERISTIC 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x3d, 0x00, 0x03, 0x28, 0x1a, 0x3e, 0x00, 0x4d, 0x2a,
// 0x003e VALUE 2a4d READ | WRITE | NOTIFY | DYNAMIC
0x08, 0x00, 0x1a, 0x01, 0x3e, 0x00, 0x4d, 0x2a,
// 0x003f CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x3f, 0x00, 0x02, 0x29, 0x00, 0x00,
/* 0x0040 REPORT_REFERENCE,06,01 */
0x0a, 0x00, 0x02, 0x00, 0x40, 0x00, 0x08, 0x29, 0x06, 0x01,
/* CHARACTERISTIC, 2a4b, READ | DYNAMIC, */
// 0x0041 CHARACTERISTIC 2a4b READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x41, 0x00, 0x03, 0x28, 0x02, 0x42, 0x00, 0x4b, 0x2a,
// 0x0042 VALUE 2a4b READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x42, 0x00, 0x4b, 0x2a,
/* CHARACTERISTIC, 2a33, READ | WRITE | NOTIFY, */
// 0x0043 CHARACTERISTIC 2a33 READ | WRITE | NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x43, 0x00, 0x03, 0x28, 0x1a, 0x44, 0x00, 0x33, 0x2a,
// 0x0044 VALUE 2a33 READ | WRITE | NOTIFY
0x08, 0x00, 0x1a, 0x00, 0x44, 0x00, 0x33, 0x2a,
// 0x0045 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x45, 0x00, 0x02, 0x29, 0x00, 0x00,
/* CHARACTERISTIC, 2a4a, READ | DYNAMIC, */
// 0x0046 CHARACTERISTIC 2a4a READ | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x46, 0x00, 0x03, 0x28, 0x02, 0x47, 0x00, 0x4a, 0x2a,
// 0x0047 VALUE 2a4a READ | DYNAMIC
0x08, 0x00, 0x02, 0x01, 0x47, 0x00, 0x4a, 0x2a,
/* CHARACTERISTIC, 2a4c, WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x0048 CHARACTERISTIC 2a4c WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x48, 0x00, 0x03, 0x28, 0x04, 0x49, 0x00, 0x4c, 0x2a,
// 0x0049 VALUE 2a4c WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x04, 0x01, 0x49, 0x00, 0x4c, 0x2a,
//////////////////////////////////////////////////////
//
// 0x004a PRIMARY_SERVICE ae40
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x4a, 0x00, 0x00, 0x28, 0x40, 0xae,
/* CHARACTERISTIC, ae41, WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x004b CHARACTERISTIC ae41 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x4b, 0x00, 0x03, 0x28, 0x04, 0x4c, 0x00, 0x41, 0xae,
// 0x004c VALUE ae41 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x04, 0x01, 0x4c, 0x00, 0x41, 0xae,
/* CHARACTERISTIC, ae42, NOTIFY, */
// 0x004d CHARACTERISTIC ae42 NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x4d, 0x00, 0x03, 0x28, 0x10, 0x4e, 0x00, 0x42, 0xae,
// 0x004e VALUE ae42 NOTIFY
0x08, 0x00, 0x10, 0x00, 0x4e, 0x00, 0x42, 0xae,
// 0x004f CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x4f, 0x00, 0x02, 0x29, 0x00, 0x00,
//////////////////////////////////////////////////////
//
// 0x0050 PRIMARY_SERVICE ae30
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x50, 0x00, 0x00, 0x28, 0x30, 0xae,
/* CHARACTERISTIC, ae01, WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x0051 CHARACTERISTIC ae01 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x51, 0x00, 0x03, 0x28, 0x04, 0x52, 0x00, 0x01, 0xae,
// 0x0052 VALUE ae01 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x04, 0x01, 0x52, 0x00, 0x01, 0xae,
/* CHARACTERISTIC, ae02, NOTIFY, */
// 0x0053 CHARACTERISTIC ae02 NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x53, 0x00, 0x03, 0x28, 0x10, 0x54, 0x00, 0x02, 0xae,
// 0x0054 VALUE ae02 NOTIFY
0x08, 0x00, 0x10, 0x00, 0x54, 0x00, 0x02, 0xae,
// 0x0055 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x55, 0x00, 0x02, 0x29, 0x00, 0x00,
/* CHARACTERISTIC, ae03, WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x0056 CHARACTERISTIC ae03 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x56, 0x00, 0x03, 0x28, 0x04, 0x57, 0x00, 0x03, 0xae,
// 0x0057 VALUE ae03 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x04, 0x01, 0x57, 0x00, 0x03, 0xae,
/* CHARACTERISTIC, ae04, NOTIFY, */
// 0x0058 CHARACTERISTIC ae04 NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x58, 0x00, 0x03, 0x28, 0x10, 0x59, 0x00, 0x04, 0xae,
// 0x0059 VALUE ae04 NOTIFY
0x08, 0x00, 0x10, 0x00, 0x59, 0x00, 0x04, 0xae,
// 0x005a CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x5a, 0x00, 0x02, 0x29, 0x00, 0x00,
/* CHARACTERISTIC, ae05, INDICATE, */
// 0x005b CHARACTERISTIC ae05 INDICATE
0x0d, 0x00, 0x02, 0x00, 0x5b, 0x00, 0x03, 0x28, 0x20, 0x5c, 0x00, 0x05, 0xae,
// 0x005c VALUE ae05 INDICATE
0x08, 0x00, 0x20, 0x00, 0x5c, 0x00, 0x05, 0xae,
// 0x005d CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x5d, 0x00, 0x02, 0x29, 0x00, 0x00,
/* CHARACTERISTIC, ae10, READ | WRITE | DYNAMIC, */
// 0x005e CHARACTERISTIC ae10 READ | WRITE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x5e, 0x00, 0x03, 0x28, 0x0a, 0x5f, 0x00, 0x10, 0xae,
// 0x005f VALUE ae10 READ | WRITE | DYNAMIC
0x08, 0x00, 0x0a, 0x01, 0x5f, 0x00, 0x10, 0xae,
#if RCSP_BTMATE_EN
//////////////////////////////////////////////////////
//
// 0x0080 PRIMARY_SERVICE ae00
//
//////////////////////////////////////////////////////
0x0a, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00, 0x28, 0x00, 0xae,
/* CHARACTERISTIC, ae01, WRITE_WITHOUT_RESPONSE | DYNAMIC, */
// 0x0081 CHARACTERISTIC ae01 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x0d, 0x00, 0x02, 0x00, 0x81, 0x00, 0x03, 0x28, 0x04, 0x82, 0x00, 0x01, 0xae,
// 0x0082 VALUE ae01 WRITE_WITHOUT_RESPONSE | DYNAMIC
0x08, 0x00, 0x04, 0x01, 0x82, 0x00, 0x01, 0xae,
/* CHARACTERISTIC, ae02, NOTIFY, */
// 0x0083 CHARACTERISTIC ae02 NOTIFY
0x0d, 0x00, 0x02, 0x00, 0x83, 0x00, 0x03, 0x28, 0x10, 0x84, 0x00, 0x02, 0xae,
// 0x0084 VALUE ae02 NOTIFY
0x08, 0x00, 0x10, 0x00, 0x84, 0x00, 0x02, 0xae,
// 0x0085 CLIENT_CHARACTERISTIC_CONFIGURATION
0x0a, 0x00, 0x0a, 0x01, 0x85, 0x00, 0x02, 0x29, 0x00, 0x00,
#endif
// END
0x00, 0x00,
};
//
// characteristics <--> handles
//
#define ATT_CHARACTERISTIC_2a00_01_VALUE_HANDLE 0x0003
#define ATT_CHARACTERISTIC_2a01_01_VALUE_HANDLE 0x0005
#define ATT_CHARACTERISTIC_2a04_01_VALUE_HANDLE 0x0007
#define ATT_CHARACTERISTIC_2a05_01_VALUE_HANDLE 0x000a
#define ATT_CHARACTERISTIC_2a05_01_CLIENT_CONFIGURATION_HANDLE 0x000b
#define ATT_CHARACTERISTIC_2a29_01_VALUE_HANDLE 0x000e
#define ATT_CHARACTERISTIC_2a24_01_VALUE_HANDLE 0x0010
#define ATT_CHARACTERISTIC_2a25_01_VALUE_HANDLE 0x0012
#define ATT_CHARACTERISTIC_2a27_01_VALUE_HANDLE 0x0014
#define ATT_CHARACTERISTIC_2a26_01_VALUE_HANDLE 0x0016
#define ATT_CHARACTERISTIC_2a28_01_VALUE_HANDLE 0x0018
#define ATT_CHARACTERISTIC_2a23_01_VALUE_HANDLE 0x001a
#define ATT_CHARACTERISTIC_2a2a_01_VALUE_HANDLE 0x001c
#define ATT_CHARACTERISTIC_2a50_01_VALUE_HANDLE 0x001e
#define ATT_CHARACTERISTIC_2a19_01_VALUE_HANDLE 0x0021
#define ATT_CHARACTERISTIC_2a19_01_CLIENT_CONFIGURATION_HANDLE 0x0022
#define ATT_CHARACTERISTIC_2a4e_01_VALUE_HANDLE 0x0025
#define ATT_CHARACTERISTIC_2a4d_01_VALUE_HANDLE 0x0027
#define ATT_CHARACTERISTIC_2a4d_01_CLIENT_CONFIGURATION_HANDLE 0x0028
#define ATT_CHARACTERISTIC_2a4d_02_VALUE_HANDLE 0x002b
#define ATT_CHARACTERISTIC_2a4d_02_CLIENT_CONFIGURATION_HANDLE 0x002c
#define ATT_CHARACTERISTIC_2a4d_03_VALUE_HANDLE 0x002f
#define ATT_CHARACTERISTIC_2a4d_04_VALUE_HANDLE 0x0032
#define ATT_CHARACTERISTIC_2a4d_04_CLIENT_CONFIGURATION_HANDLE 0x0033
#define ATT_CHARACTERISTIC_2a4d_05_VALUE_HANDLE 0x0036
#define ATT_CHARACTERISTIC_2a4d_05_CLIENT_CONFIGURATION_HANDLE 0x0037
#define ATT_CHARACTERISTIC_2a4d_06_VALUE_HANDLE 0x003a
#define ATT_CHARACTERISTIC_2a4d_06_CLIENT_CONFIGURATION_HANDLE 0x003b
#define ATT_CHARACTERISTIC_2a4d_07_VALUE_HANDLE 0x003e
#define ATT_CHARACTERISTIC_2a4d_07_CLIENT_CONFIGURATION_HANDLE 0x003f
#define ATT_CHARACTERISTIC_2a4b_01_VALUE_HANDLE 0x0042
#define ATT_CHARACTERISTIC_2a33_01_VALUE_HANDLE 0x0044
#define ATT_CHARACTERISTIC_2a33_01_CLIENT_CONFIGURATION_HANDLE 0x0045
#define ATT_CHARACTERISTIC_2a4a_01_VALUE_HANDLE 0x0047
#define ATT_CHARACTERISTIC_2a4c_01_VALUE_HANDLE 0x0049
#define ATT_CHARACTERISTIC_ae41_01_VALUE_HANDLE 0x004c
#define ATT_CHARACTERISTIC_ae42_01_VALUE_HANDLE 0x004e
#define ATT_CHARACTERISTIC_ae42_01_CLIENT_CONFIGURATION_HANDLE 0x004f
#define ATT_CHARACTERISTIC_ae01_01_VALUE_HANDLE 0x0052
#define ATT_CHARACTERISTIC_ae02_01_VALUE_HANDLE 0x0054
#define ATT_CHARACTERISTIC_ae02_01_CLIENT_CONFIGURATION_HANDLE 0x0055
#define ATT_CHARACTERISTIC_ae03_01_VALUE_HANDLE 0x0057
#define ATT_CHARACTERISTIC_ae04_01_VALUE_HANDLE 0x0059
#define ATT_CHARACTERISTIC_ae04_01_CLIENT_CONFIGURATION_HANDLE 0x005a
#define ATT_CHARACTERISTIC_ae05_01_VALUE_HANDLE 0x005c
#define ATT_CHARACTERISTIC_ae05_01_CLIENT_CONFIGURATION_HANDLE 0x005d
#define ATT_CHARACTERISTIC_ae10_01_VALUE_HANDLE 0x005f
#if RCSP_BTMATE_EN
#define ATT_CHARACTERISTIC_ae01_01_VALUE_HANDLE 0x0082
#define ATT_CHARACTERISTIC_ae02_01_VALUE_HANDLE 0x0084
#define ATT_CHARACTERISTIC_ae02_01_CLIENT_CONFIGURATION_HANDLE 0x0085
#endif
//INPUT
#define HID_REPORT_ID_01_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_01_VALUE_HANDLE
#define HID_REPORT_ID_02_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_02_VALUE_HANDLE
#define HID_REPORT_ID_03_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_04_VALUE_HANDLE
#define HID_REPORT_ID_04_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_05_VALUE_HANDLE
#define HID_REPORT_ID_05_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_06_VALUE_HANDLE
#define HID_REPORT_ID_06_SEND_HANDLE ATT_CHARACTERISTIC_2a4d_07_VALUE_HANDLE
//OUTPUT
#define HID_REPORT_ID_01_RECIEVE_HANDLE ATT_CHARACTERISTIC_2a4d_03_VALUE_HANDLE
#endif