BlueNRG-MS pack for STM32CubeMX: includes/bluenrg_gap.h Source File

STM32CubeMX BlueNRG-MS

BlueNRG-MS pack for STM32CubeMX  V4.4.0
The BlueNRG-MS pack is an additional software for STM32CubeMX.
bluenrg_gap.h
Go to the documentation of this file.
1 /******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
2 * File Name : bluenrg_gap.h
3 * Author : AMS - HEA&RF BU
4 * Version : V1.0.0
5 * Date : 19-July-2012
6 * Description : Header file for BlueNRG's GAP layer.
7 ********************************************************************************
8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
14 *******************************************************************************/
15 #ifndef __BLUENRG_GAP_H__
16 #define __BLUENRG_GAP_H__
17 
18 #include <link_layer.h>
19 
35 #define GAP_SERVICE_UUID (0x1800)
36 #define DEVICE_NAME_UUID (0x2A00)
37 #define APPEARANCE_UUID (0x2A01)
38 #define PERIPHERAL_PRIVACY_FLAG_UUID (0x2A02)
39 #define RECONNECTION_ADDR_UUID (0x2A03)
40 #define PERIPHERAL_PREFERRED_CONN_PARAMS_UUID (0x2A04)
41 
49 #define DEVICE_NAME_CHARACTERISTIC_LEN (8)
50 #define APPEARANCE_CHARACTERISTIC_LEN (2)
51 #define PERIPHERAL_PRIVACY_CHARACTERISTIC_LEN (1)
52 #define RECONNECTION_ADDR_CHARACTERISTIC_LEN (6)
53 #define PERIPHERAL_PREF_CONN_PARAMS_CHARACTERISTIC_LEN (8)
54 
58 /*------------- AD types for adv data and scan response data ----------------*/
59 
66 /* FLAGS AD type */
67 #define AD_TYPE_FLAGS (0x01)
68 /* flag bits */
75 #define FLAG_BIT_LE_LIMITED_DISCOVERABLE_MODE (0x01)
76 #define FLAG_BIT_LE_GENERAL_DISCOVERABLE_MODE (0x02)
77 #define FLAG_BIT_BR_EDR_NOT_SUPPORTED (0x04)
78 #define FLAG_BIT_LE_BR_EDR_CONTROLLER (0x08)
79 #define FLAG_BIT_LE_BR_EDR_HOST (0x10)
80 
88 #define AD_TYPE_16_BIT_SERV_UUID (0x02)
89 #define AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST (0x03)
90 #define AD_TYPE_32_BIT_SERV_UUID (0x04)
91 #define AD_TYPE_32_BIT_SERV_UUID_CMPLT_LIST (0x05)
92 #define AD_TYPE_128_BIT_SERV_UUID (0x06)
93 #define AD_TYPE_128_BIT_SERV_UUID_CMPLT_LIST (0x07)
94 
98 /* LOCAL NAME AD types */
103 #define AD_TYPE_SHORTENED_LOCAL_NAME (0x08)
104 #define AD_TYPE_COMPLETE_LOCAL_NAME (0x09)
105 
109 /* TX power level AD type*/
110 #define AD_TYPE_TX_POWER_LEVEL (0x0A)
111 
112 /* Class of device */
113 #define AD_TYPE_CLASS_OF_DEVICE (0x0D)
114 
115 /* security manager TK value AD type */
116 #define AD_TYPE_SEC_MGR_TK_VALUE (0x10)
117 
118 /* security manager OOB flags */
119 #define AD_TYPE_SEC_MGR_OOB_FLAGS (0x11)
120 
121 /* slave connection interval AD type */
122 #define AD_TYPE_SLAVE_CONN_INTERVAL (0x12)
123 
124 /* service solicitation UUID list Ad types*/
129 #define AD_TYPE_SERV_SOLICIT_16_BIT_UUID_LIST (0x14)
130 #define AD_TYPE_SERV_SOLICIT_32_BIT_UUID_LIST (0x1F)
131 #define AD_TYPE_SERV_SOLICIT_128_BIT_UUID_LIST (0x15)
132 
136 /* service data AD type */
137 #define AD_TYPE_SERVICE_DATA (0x16)
138 
139 /* manufacturer specific data AD type */
140 #define AD_TYPE_MANUFACTURER_SPECIFIC_DATA (0xFF)
141 
146 #define MAX_ADV_DATA_LEN (31)
147 
148 #define DEVICE_NAME_LEN (7)
149 #define BD_ADDR_SIZE (6)
150 
155 #define PRIVACY_ENABLED (0x01)
156 #define PRIVACY_DISABLED (0x00)
157 
166 #define DIR_CONN_ADV_INT_MIN (0x190)/*250ms*/
167 #define DIR_CONN_ADV_INT_MAX (0x320)/*500ms*/
168 #define UNDIR_CONN_ADV_INT_MIN (0x800)/*1.28s*/
169 #define UNDIR_CONN_ADV_INT_MAX (0x1000)/*2.56s*/
170 #define LIM_DISC_ADV_INT_MIN (0x190)/*250ms*/
171 #define LIM_DISC_ADV_INT_MAX (0x320)/*500ms*/
172 #define GEN_DISC_ADV_INT_MIN (0x800)/*1.28s*/
173 #define GEN_DISC_ADV_INT_MAX (0x1000)/*2.56s*/
174 
182 #define LIM_DISC_MODE_TIMEOUT (180000)/* 180 seconds. according to the errata published */
183 #define PRIVATE_ADDR_INT_TIMEOUT (900000)/* 15 minutes */
184 
193 #define GAP_PERIPHERAL_ROLE_IDB05A1 (0x01)
194 #define GAP_BROADCASTER_ROLE_IDB05A1 (0x02)
195 #define GAP_CENTRAL_ROLE_IDB05A1 (0x04)
196 #define GAP_OBSERVER_ROLE_IDB05A1 (0x08)
197 
198 #define GAP_PERIPHERAL_ROLE_IDB04A1 (0x01)
199 #define GAP_BROADCASTER_ROLE_IDB04A1 (0x02)
200 #define GAP_CENTRAL_ROLE_IDB04A1 (0x03)
201 #define GAP_OBSERVER_ROLE_IDB04A1 (0x04)
202 
214 #define GAP_LIMITED_DISCOVERY_PROC (0x01)
215 #define GAP_GENERAL_DISCOVERY_PROC (0x02)
216 #define GAP_NAME_DISCOVERY_PROC (0x04)
217 #define GAP_AUTO_CONNECTION_ESTABLISHMENT_PROC (0x08)
218 #define GAP_GENERAL_CONNECTION_ESTABLISHMENT_PROC (0x10)
219 #define GAP_SELECTIVE_CONNECTION_ESTABLISHMENT_PROC (0x20)
220 #define GAP_DIRECT_CONNECTION_ESTABLISHMENT_PROC (0x40)
221 
222 #define GAP_OBSERVATION_PROC_IDB05A1 (0x80)
223 
236 #endif /* __BLUENRG_GAP_H__ */
Generated on Mon Apr 15 2019 18:10:39 for BlueNRG-MS pack for STM32CubeMX by   doxygen 1.8.13