Программа считывает показания датчиков и управляет сервомашинками.

Dependencies:   mbed-src

Fork of NUCLEO_BLUENRG by Ostap Ostapsky

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers gap.h Source File

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_H__
00016 #define __GAP_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__ */
00125