Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of BLE_BlueNRG by
gap.h
00001 /******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** 00002 * File Name : gap.h 00003 * Author : AMS - HEA&RF BU 00004 * Version : V1.0.0 00005 * Date : 19-July-2012 00006 * Description : Header file for BlueNRG's GAP layer. 00007 ******************************************************************************** 00008 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 00009 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 00010 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 00011 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 00012 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 00013 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 00014 *******************************************************************************/ 00015 #ifndef __GAP_HCI_H__ 00016 #define __GAP_HCI_H__ 00017 00018 #include <link_layer.h> 00019 00020 /*----------------GAP UUIDs--------------------------*/ 00021 #define GAP_SERVICE_UUID (0x1800) 00022 #define DEVICE_NAME_UUID (0x2A00) 00023 #define APPEARANCE_UUID (0x2A01) 00024 #define PERIPHERAL_PRIVACY_FLAG_UUID (0x2A02) 00025 #define RECONNECTION_ADDR_UUID (0x2A03) 00026 #define PERIPHERAL_PREFERRED_CONN_PARAMS_UUID (0x2A04) 00027 00028 /*----------------Characteristic value lengths--------------*/ 00029 #define DEVICE_NAME_CHARACTERISTIC_LEN (8) 00030 #define APPEARANCE_CHARACTERISTIC_LEN (2) 00031 #define PERIPHERAL_PRIVACY_CHARACTERISTIC_LEN (1) 00032 #define RECONNECTION_ADDR_CHARACTERISTIC_LEN (6) 00033 #define PERIPHERAL_PREF_CONN_PARAMS_CHARACTERISTIC_LEN (8) 00034 00035 /*------------- AD types for adv data and scan response data ----------------*/ 00036 00037 /* FLAGS AD type */ 00038 #define AD_TYPE_FLAGS (0x01) 00039 /* flag bits */ 00040 #define FLAG_BIT_LE_LIMITED_DISCOVERABLE_MODE (0x01) 00041 #define FLAG_BIT_LE_GENERAL_DISCOVERABLE_MODE (0x02) 00042 #define FLAG_BIT_BR_EDR_NOT_SUPPORTED (0x04) 00043 #define FLAG_BIT_LE_BR_EDR_CONTROLLER (0x08)/* single device supports BR/EDR and LE controller */ 00044 #define FLAG_BIT_LE_BR_EDR_HOST (0x10)/* single device supports BR/EDR and LE host */ 00045 00046 /* SERVICE UUID AD types */ 00047 #define AD_TYPE_16_BIT_SERV_UUID (0x02) 00048 #define AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST (0x03) 00049 #define AD_TYPE_32_BIT_SERV_UUID (0x04) 00050 #define AD_TYPE_32_BIT_SERV_UUID_CMPLT_LIST (0x05) 00051 #define AD_TYPE_128_BIT_SERV_UUID (0x06) 00052 #define AD_TYPE_128_BIT_SERV_UUID_CMPLT_LIST (0x07) 00053 00054 /* LOCAL NAME AD types */ 00055 #define AD_TYPE_SHORTENED_LOCAL_NAME (0x08) 00056 #define AD_TYPE_COMPLETE_LOCAL_NAME (0x09) 00057 00058 /* TX power level AD type*/ 00059 #define AD_TYPE_TX_POWER_LEVEL (0x0A) 00060 00061 /* security manager TK value AD type */ 00062 #define AD_TYPE_SEC_MGR_TK_VALUE (0x10) 00063 00064 /* security manager OOB flags */ 00065 #define AD_TYPE_SEC_MGR_OOB_FLAGS (0x11) 00066 00067 /* slave connection interval AD type */ 00068 #define AD_TYPE_SLAVE_CONN_INTERVAL (0x12) 00069 00070 /* service solicitation UUID list Ad types*/ 00071 #define AD_TYPE_SERV_SOLICIT_16_BIT_UUID_LIST (0x14) 00072 #define AD_TYPE_SERV_SOLICIT_32_BIT_UUID_LIST (0x15) 00073 00074 /* service data AD type */ 00075 #define AD_TYPE_SERVICE_DATA (0x16) 00076 00077 /* manufaturer specific data AD type */ 00078 #define AD_TYPE_MANUFACTURER_SPECIFIC_DATA (0xFF) 00079 00080 #define MAX_ADV_DATA_LEN (31) 00081 00082 #define DEVICE_NAME_LEN (7) 00083 #define BD_ADDR_SIZE (6) 00084 00085 /* privacy flag values */ 00086 #define PRIVACY_ENABLED (0x01) 00087 #define PRIVACY_DISABLED (0x00) 00088 00089 /* conection intervals in terms of 625 micro sec */ 00090 #define DIR_CONN_ADV_INT_MIN (0x190)/*250ms*/ 00091 #define DIR_CONN_ADV_INT_MAX (0x320)/*500ms*/ 00092 #define UNDIR_CONN_ADV_INT_MIN (0x800)/*1.28s*/ 00093 #define UNDIR_CONN_ADV_INT_MAX (0x1000)/*2.56s*/ 00094 #define LIM_DISC_ADV_INT_MIN (0x190)/*250ms*/ 00095 #define LIM_DISC_ADV_INT_MAX (0x320)/*500ms*/ 00096 #define GEN_DISC_ADV_INT_MIN (0x800)/*1.28s*/ 00097 #define GEN_DISC_ADV_INT_MAX (0x1000)/*2.56s*/ 00098 00099 /* time out values */ 00100 #define LIM_DISC_MODE_TIMEOUT (180000)/* 180 seconds. according to the errata published */ 00101 #define PRIVATE_ADDR_INT_TIMEOUT (900000)/* 15 minutes */ 00102 00103 typedef tHalUint8 tGapRole; 00104 #define GAP_PERIPHERAL_ROLE (0x01) 00105 #define GAP_BROADCASTER_ROLE (0x02) 00106 #define GAP_CENTRAL_ROLE (0x03) 00107 #define GAP_OBSERVER_ROLE (0x04) 00108 00109 typedef tHalUint8 tGapMode; 00110 #define GAP_NON_DISC_MODE (0x01) 00111 #define GAP_LIM_DISC_MODE (0x02) 00112 #define GAP_GEN_DISC_MODE (0x04) 00113 #define GAP_NON_CONN_MODE (0x08) 00114 #define GAP_DIRECT_CONN_MODE (0x10) 00115 #define GAP_UNDIRECTED_CONN_MODE (0x20) 00116 00117 /* SECURITY MANAGER OOB FLAGS */ 00118 #define SM_OOB_FLAGS_FIELD (0x01) 00119 #define SM_OOB_LE_SUPPORTED (0x02) 00120 #define SM_OOB_SIMULTANEOUS_LE_BREDR (0x04) 00121 #define SM_OOB_ADDR_TYPE (0x08) 00122 00123 00124 #endif /* __GAP_H__ */
Generated on Tue Jul 12 2022 16:24:20 by
1.7.2
