Airoha M0 BLE API  1.0.5.4
service_human_interface_device.h
1 /******************************************************************************
2 Copyright (c) Airoha 2016 - All rights reserved
3 
4 FILE NAME
5  service_human_interface_device.h
6 DESCRIPTION
7 NOTES
8 ********************************************************************************/
9 #ifndef _HID_SERVICE_H_
10 #define _HID_SERVICE_H_
11 
19 #include "ble_gatt_server.h"
20 
21 
27  #define MAX_EXT_REP_REF_NUM 5
28  #define MAX_INCLUDED_SERVICE_NUM 3
34 typedef struct
35 {
36  uint8_t * data;
37  uint16_t data_len;
38  uint16_t ext_rep_ref_uuid[MAX_EXT_REP_REF_NUM];
39  uint16_t included_service_handle[MAX_INCLUDED_SERVICE_NUM];
43 
47 typedef struct
48 {
49  uint16_t bcdHID;
50  uint8_t bCountryCode;
51  uint8_t flags;
53 
57 typedef struct
58 {
59  uint8_t * data;
62 
66 typedef struct
67 {
72 
76 typedef enum
77 {
85 
89 typedef struct
90 {
92  uint8_t report_ID;
93  uint8_t * data;
94  uint16_t data_len;
97 
98 
104 void HIDS_init(hids_init_para * para);
105 
114 
115 
116 
117 // not supported yet
118 //att_handle hids_add_protocol_mode(void);
119 //att_handle hids_add_boot_keyboard_report(void);
120 //att_handle hids_add_boot_mouse_report(void);
121 
122 
123 
124 
125 
130 #endif
uint16_t bcdHID
Definition: service_human_interface_device.h:49
uint8_t bCountryCode
Definition: service_human_interface_device.h:50
uint16_t data_len
Definition: service_human_interface_device.h:37
Definition: service_human_interface_device.h:79
uint16_t att_handle
attribute handle.
Definition: ble_att.h:52
#define MAX_INCLUDED_SERVICE_NUM
Definition: service_human_interface_device.h:28
uint8_t report_ID
Definition: service_human_interface_device.h:92
HIDS_REPORT_TYPE
HID report type.
Definition: service_human_interface_device.h:76
void(* ATTCB)(ATT_CB_TYPE type, uint8_t linkindex, uint16_t handle)
attribute value accessed call back function.
Definition: ble_att.h:111
void HIDS_init(hids_init_para *para)
Initialization function of human interface device service.
hids_char_hid_control_point_t hid_cp
Definition: service_human_interface_device.h:70
uint8_t * data
Definition: service_human_interface_device.h:36
uint8_t included_service_num
Definition: service_human_interface_device.h:41
ATTCB cb
Definition: service_human_interface_device.h:95
att_handle HIDS_add_report(hids_report_para *para)
Initialization function of human interface device service.
hids_char_hid_information_t hid_info
Definition: service_human_interface_device.h:69
Report map characteristic initialization parameters.
Definition: service_human_interface_device.h:34
HID information characteristic initialization parameters.
Definition: service_human_interface_device.h:47
#define MAX_EXT_REP_REF_NUM
Definition: service_human_interface_device.h:27
HID control point characteristic initialization parameters.
Definition: service_human_interface_device.h:57
HID report characteristic initialization parameter.
Definition: service_human_interface_device.h:89
hids_char_report_map_t rmap
Definition: service_human_interface_device.h:68
HIDS_REPORT_TYPE report_type
Definition: service_human_interface_device.h:91
uint16_t data_len
Definition: service_human_interface_device.h:94
Definition: service_human_interface_device.h:83
uint8_t * data
Definition: service_human_interface_device.h:93
Definition: service_human_interface_device.h:81
ATTCB cb
Definition: service_human_interface_device.h:60
uint8_t ext_rep_ref_uuid_num
Definition: service_human_interface_device.h:40
uint8_t flags
Definition: service_human_interface_device.h:51
Human information service initialization parameters.
Definition: service_human_interface_device.h:66
uint8_t * data
Definition: service_human_interface_device.h:59