my fork

Dependencies:   mbed

Committer:
filartrix
Date:
Wed Apr 08 14:17:20 2015 +0000
Revision:
4:987b201ec4b1
first

Who changed what in which revision?

UserRevisionLine numberNew contents of line
filartrix 4:987b201ec4b1 1 /******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
filartrix 4:987b201ec4b1 2 * File Name : gap.h
filartrix 4:987b201ec4b1 3 * Author : AMS - HEA&RF BU
filartrix 4:987b201ec4b1 4 * Version : V1.0.0
filartrix 4:987b201ec4b1 5 * Date : 19-July-2012
filartrix 4:987b201ec4b1 6 * Description : Header file for BlueNRG's GAP layer.
filartrix 4:987b201ec4b1 7 ********************************************************************************
filartrix 4:987b201ec4b1 8 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
filartrix 4:987b201ec4b1 9 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
filartrix 4:987b201ec4b1 10 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
filartrix 4:987b201ec4b1 11 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
filartrix 4:987b201ec4b1 12 * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
filartrix 4:987b201ec4b1 13 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
filartrix 4:987b201ec4b1 14 *******************************************************************************/
filartrix 4:987b201ec4b1 15 #ifndef __GAP_H__
filartrix 4:987b201ec4b1 16 #define __GAP_H__
filartrix 4:987b201ec4b1 17
filartrix 4:987b201ec4b1 18 #include <link_layer.h>
filartrix 4:987b201ec4b1 19
filartrix 4:987b201ec4b1 20 /*----------------GAP UUIDs--------------------------*/
filartrix 4:987b201ec4b1 21 #define GAP_SERVICE_UUID (0x1800)
filartrix 4:987b201ec4b1 22 #define DEVICE_NAME_UUID (0x2A00)
filartrix 4:987b201ec4b1 23 #define APPEARANCE_UUID (0x2A01)
filartrix 4:987b201ec4b1 24 #define PERIPHERAL_PRIVACY_FLAG_UUID (0x2A02)
filartrix 4:987b201ec4b1 25 #define RECONNECTION_ADDR_UUID (0x2A03)
filartrix 4:987b201ec4b1 26 #define PERIPHERAL_PREFERRED_CONN_PARAMS_UUID (0x2A04)
filartrix 4:987b201ec4b1 27
filartrix 4:987b201ec4b1 28 /*----------------Characteristic value lengths--------------*/
filartrix 4:987b201ec4b1 29 #define DEVICE_NAME_CHARACTERISTIC_LEN (8)
filartrix 4:987b201ec4b1 30 #define APPEARANCE_CHARACTERISTIC_LEN (2)
filartrix 4:987b201ec4b1 31 #define PERIPHERAL_PRIVACY_CHARACTERISTIC_LEN (1)
filartrix 4:987b201ec4b1 32 #define RECONNECTION_ADDR_CHARACTERISTIC_LEN (6)
filartrix 4:987b201ec4b1 33 #define PERIPHERAL_PREF_CONN_PARAMS_CHARACTERISTIC_LEN (8)
filartrix 4:987b201ec4b1 34
filartrix 4:987b201ec4b1 35 /*------------- AD types for adv data and scan response data ----------------*/
filartrix 4:987b201ec4b1 36
filartrix 4:987b201ec4b1 37 /* FLAGS AD type */
filartrix 4:987b201ec4b1 38 #define AD_TYPE_FLAGS (0x01)
filartrix 4:987b201ec4b1 39 /* flag bits */
filartrix 4:987b201ec4b1 40 #define FLAG_BIT_LE_LIMITED_DISCOVERABLE_MODE (0x01)
filartrix 4:987b201ec4b1 41 #define FLAG_BIT_LE_GENERAL_DISCOVERABLE_MODE (0x02)
filartrix 4:987b201ec4b1 42 #define FLAG_BIT_BR_EDR_NOT_SUPPORTED (0x04)
filartrix 4:987b201ec4b1 43 #define FLAG_BIT_LE_BR_EDR_CONTROLLER (0x08)/* single device supports BR/EDR and LE controller */
filartrix 4:987b201ec4b1 44 #define FLAG_BIT_LE_BR_EDR_HOST (0x10)/* single device supports BR/EDR and LE host */
filartrix 4:987b201ec4b1 45
filartrix 4:987b201ec4b1 46 /* SERVICE UUID AD types */
filartrix 4:987b201ec4b1 47 #define AD_TYPE_16_BIT_SERV_UUID (0x02)
filartrix 4:987b201ec4b1 48 #define AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST (0x03)
filartrix 4:987b201ec4b1 49 #define AD_TYPE_32_BIT_SERV_UUID (0x04)
filartrix 4:987b201ec4b1 50 #define AD_TYPE_32_BIT_SERV_UUID_CMPLT_LIST (0x05)
filartrix 4:987b201ec4b1 51 #define AD_TYPE_128_BIT_SERV_UUID (0x06)
filartrix 4:987b201ec4b1 52 #define AD_TYPE_128_BIT_SERV_UUID_CMPLT_LIST (0x07)
filartrix 4:987b201ec4b1 53
filartrix 4:987b201ec4b1 54 /* LOCAL NAME AD types */
filartrix 4:987b201ec4b1 55 #define AD_TYPE_SHORTENED_LOCAL_NAME (0x08)
filartrix 4:987b201ec4b1 56 #define AD_TYPE_COMPLETE_LOCAL_NAME (0x09)
filartrix 4:987b201ec4b1 57
filartrix 4:987b201ec4b1 58 /* TX power level AD type*/
filartrix 4:987b201ec4b1 59 #define AD_TYPE_TX_POWER_LEVEL (0x0A)
filartrix 4:987b201ec4b1 60
filartrix 4:987b201ec4b1 61 /* security manager TK value AD type */
filartrix 4:987b201ec4b1 62 #define AD_TYPE_SEC_MGR_TK_VALUE (0x10)
filartrix 4:987b201ec4b1 63
filartrix 4:987b201ec4b1 64 /* security manager OOB flags */
filartrix 4:987b201ec4b1 65 #define AD_TYPE_SEC_MGR_OOB_FLAGS (0x11)
filartrix 4:987b201ec4b1 66
filartrix 4:987b201ec4b1 67 /* slave connection interval AD type */
filartrix 4:987b201ec4b1 68 #define AD_TYPE_SLAVE_CONN_INTERVAL (0x12)
filartrix 4:987b201ec4b1 69
filartrix 4:987b201ec4b1 70 /* service solicitation UUID list Ad types*/
filartrix 4:987b201ec4b1 71 #define AD_TYPE_SERV_SOLICIT_16_BIT_UUID_LIST (0x14)
filartrix 4:987b201ec4b1 72 #define AD_TYPE_SERV_SOLICIT_32_BIT_UUID_LIST (0x15)
filartrix 4:987b201ec4b1 73
filartrix 4:987b201ec4b1 74 /* service data AD type */
filartrix 4:987b201ec4b1 75 #define AD_TYPE_SERVICE_DATA (0x16)
filartrix 4:987b201ec4b1 76
filartrix 4:987b201ec4b1 77 /* manufaturer specific data AD type */
filartrix 4:987b201ec4b1 78 #define AD_TYPE_MANUFACTURER_SPECIFIC_DATA (0xFF)
filartrix 4:987b201ec4b1 79
filartrix 4:987b201ec4b1 80 #define MAX_ADV_DATA_LEN (31)
filartrix 4:987b201ec4b1 81
filartrix 4:987b201ec4b1 82 #define DEVICE_NAME_LEN (7)
filartrix 4:987b201ec4b1 83 #define BD_ADDR_SIZE (6)
filartrix 4:987b201ec4b1 84
filartrix 4:987b201ec4b1 85 /* privacy flag values */
filartrix 4:987b201ec4b1 86 #define PRIVACY_ENABLED (0x01)
filartrix 4:987b201ec4b1 87 #define PRIVACY_DISABLED (0x00)
filartrix 4:987b201ec4b1 88
filartrix 4:987b201ec4b1 89 /* conection intervals in terms of 625 micro sec */
filartrix 4:987b201ec4b1 90 #define DIR_CONN_ADV_INT_MIN (0x190)/*250ms*/
filartrix 4:987b201ec4b1 91 #define DIR_CONN_ADV_INT_MAX (0x320)/*500ms*/
filartrix 4:987b201ec4b1 92 #define UNDIR_CONN_ADV_INT_MIN (0x800)/*1.28s*/
filartrix 4:987b201ec4b1 93 #define UNDIR_CONN_ADV_INT_MAX (0x1000)/*2.56s*/
filartrix 4:987b201ec4b1 94 #define LIM_DISC_ADV_INT_MIN (0x190)/*250ms*/
filartrix 4:987b201ec4b1 95 #define LIM_DISC_ADV_INT_MAX (0x320)/*500ms*/
filartrix 4:987b201ec4b1 96 #define GEN_DISC_ADV_INT_MIN (0x800)/*1.28s*/
filartrix 4:987b201ec4b1 97 #define GEN_DISC_ADV_INT_MAX (0x1000)/*2.56s*/
filartrix 4:987b201ec4b1 98
filartrix 4:987b201ec4b1 99 /* time out values */
filartrix 4:987b201ec4b1 100 #define LIM_DISC_MODE_TIMEOUT (180000)/* 180 seconds. according to the errata published */
filartrix 4:987b201ec4b1 101 #define PRIVATE_ADDR_INT_TIMEOUT (900000)/* 15 minutes */
filartrix 4:987b201ec4b1 102
filartrix 4:987b201ec4b1 103
filartrix 4:987b201ec4b1 104 #define GAP_PERIPHERAL_ROLE (0x01)
filartrix 4:987b201ec4b1 105 #define GAP_BROADCASTER_ROLE (0x02)
filartrix 4:987b201ec4b1 106 #define GAP_CENTRAL_ROLE (0x03)
filartrix 4:987b201ec4b1 107 #define GAP_OBSERVER_ROLE (0x04)
filartrix 4:987b201ec4b1 108
filartrix 4:987b201ec4b1 109
filartrix 4:987b201ec4b1 110 #define GAP_NON_DISC_MODE (0x01)
filartrix 4:987b201ec4b1 111 #define GAP_LIM_DISC_MODE (0x02)
filartrix 4:987b201ec4b1 112 #define GAP_GEN_DISC_MODE (0x04)
filartrix 4:987b201ec4b1 113 #define GAP_NON_CONN_MODE (0x08)
filartrix 4:987b201ec4b1 114 #define GAP_DIRECT_CONN_MODE (0x10)
filartrix 4:987b201ec4b1 115 #define GAP_UNDIRECTED_CONN_MODE (0x20)
filartrix 4:987b201ec4b1 116
filartrix 4:987b201ec4b1 117 /* SECURITY MANAGER OOB FLAGS */
filartrix 4:987b201ec4b1 118 #define SM_OOB_FLAGS_FIELD (0x01)
filartrix 4:987b201ec4b1 119 #define SM_OOB_LE_SUPPORTED (0x02)
filartrix 4:987b201ec4b1 120 #define SM_OOB_SIMULTANEOUS_LE_BREDR (0x04)
filartrix 4:987b201ec4b1 121 #define SM_OOB_ADDR_TYPE (0x08)
filartrix 4:987b201ec4b1 122
filartrix 4:987b201ec4b1 123 /**
filartrix 4:987b201ec4b1 124 * @defgroup gap_procedure_codes GAP procedure codes
filartrix 4:987b201ec4b1 125 * @brief Procedure codes for EVT_BLUE_GAP_PROCEDURE_COMPLETE event
filartrix 4:987b201ec4b1 126 * and aci_gap_terminate_gap_procedure() command.
filartrix 4:987b201ec4b1 127 * @{
filartrix 4:987b201ec4b1 128 */
filartrix 4:987b201ec4b1 129 #define GAP_LIMITED_DISCOVERY_PROC (0x01)
filartrix 4:987b201ec4b1 130 #define GAP_GENERAL_DISCOVERY_PROC (0x02)
filartrix 4:987b201ec4b1 131 #define GAP_NAME_DISCOVERY_PROC (0x04)
filartrix 4:987b201ec4b1 132 #define GAP_AUTO_CONNECTION_ESTABLISHMENT_PROC (0x08)
filartrix 4:987b201ec4b1 133 #define GAP_GENERAL_CONNECTION_ESTABLISHMENT_PROC (0x10)
filartrix 4:987b201ec4b1 134 #define GAP_SELECTIVE_CONNECTION_ESTABLISHMENT_PROC (0x20)
filartrix 4:987b201ec4b1 135 #define GAP_DIRECT_CONNECTION_ESTABLISHMENT_PROC (0x40)
filartrix 4:987b201ec4b1 136 /**
filartrix 4:987b201ec4b1 137 * @}
filartrix 4:987b201ec4b1 138 */
filartrix 4:987b201ec4b1 139
filartrix 4:987b201ec4b1 140 #endif /* __GAP_H__ */
filartrix 4:987b201ec4b1 141