2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// Licensed under the Apache License, Version 2.0 (the "License");
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// you may not use this file except in compliance with the License.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// You may obtain a copy of the License at
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								//     http://www.apache.org/licenses/LICENSE-2.0
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// Unless required by applicable law or agreed to in writing, software
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// distributed under the License is distributed on an "AS IS" BASIS,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// See the License for the specific language governing permissions and
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								// limitations under the License.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# ifndef __ESP_GAP_BLE_API_H__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define __ESP_GAP_BLE_API_H__ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# include  <stdint.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# include  <stdbool.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# include  "esp_err.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# include  "esp_bt_defs.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								extern  " C "  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**@{
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  BLE_ADV_DATA_FLAG  data  flag  bit  definition  used  for  advertising  data  flag 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_LIMIT_DISC         (0x01 << 0) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_GEN_DISC           (0x01 << 1) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_BREDR_NOT_SPT      (0x01 << 2) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_DMT_CONTROLLER_SPT (0x01 << 3) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_DMT_HOST_SPT       (0x01 << 4) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_FLAG_NON_LIMIT_DISC     (0x00 ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* relate to BTM_LE_KEY_xxx in stack/btm_api.h */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_NONE                    0                                                                          /* relate to BTM_LE_KEY_NONE in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_PENC                    (1 << 0)    /*!< encryption key, encryption information of peer device */    /* relate to BTM_LE_KEY_PENC in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_PID                     (1 << 1)    /*!< identity key of the peer device */                          /* relate to BTM_LE_KEY_PID in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_PCSRK                   (1 << 2)    /*!< peer SRK */                                                 /* relate to BTM_LE_KEY_PCSRK in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_PLK                     (1 << 3)    /*!< Link key*/                                                  /* relate to BTM_LE_KEY_PLK in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_LLK                     (ESP_LE_KEY_PLK << 4)                                                      /* relate to BTM_LE_KEY_LLK in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_LENC                    (ESP_LE_KEY_PENC << 4)    /*!< master role security information:div */       /* relate to BTM_LE_KEY_LENC in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_LID                     (ESP_LE_KEY_PID << 4)     /*!< master device ID key */                       /* relate to BTM_LE_KEY_LID in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_KEY_LCSRK                   (ESP_LE_KEY_PCSRK << 4)   /*!< local CSRK has been deliver to peer */        /* relate to BTM_LE_KEY_LCSRK in stack/btm_api.h */ 
  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								typedef  uint8_t  esp_ble_key_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* relate to BTM_LE_AUTH_xxx in stack/btm_api.h */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_NO_BOND                 0x00                                      /*!< 0*/                       /* relate to BTM_LE_AUTH_NO_BOND in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_BOND                    0x01                                      /*!< 1 << 0 */                 /* relate to BTM_LE_AUTH_BOND in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_REQ_MITM                (1 << 2)                                  /*!< 1 << 2 */                 /* relate to BTM_LE_AUTH_REQ_MITM in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_REQ_SC_ONLY             (1 << 3)                                  /*!< 1 << 3 */                 /* relate to BTM_LE_AUTH_REQ_SC_ONLY in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_REQ_SC_BOND             (ESP_LE_AUTH_BOND | ESP_LE_AUTH_REQ_SC_ONLY)             /*!< 1001 */    /* relate to BTM_LE_AUTH_REQ_SC_BOND in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_REQ_SC_MITM             (ESP_LE_AUTH_REQ_MITM | ESP_LE_AUTH_REQ_SC_ONLY)         /*!< 1100 */    /* relate to BTM_LE_AUTH_REQ_SC_MITM in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_LE_AUTH_REQ_SC_MITM_BOND        (ESP_LE_AUTH_REQ_MITM | ESP_LE_AUTH_REQ_SC_ONLY | ESP_LE_AUTH_BOND)    /*!< 1101 */    /* relate to BTM_LE_AUTH_REQ_SC_MITM_BOND in stack/btm_api.h */ 
  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								typedef  uint8_t    esp_ble_auth_req_t ;          /*!< combination of the above bit pattern */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ONLY_ACCEPT_SPECIFIED_AUTH_DISABLE 0 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ONLY_ACCEPT_SPECIFIED_AUTH_ENABLE  1 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* relate to BTM_IO_CAP_xxx in stack/btm_api.h */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_IO_CAP_OUT                      0    /*!< DisplayOnly */           /* relate to BTM_IO_CAP_OUT in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_IO_CAP_IO                       1    /*!< DisplayYesNo */          /* relate to BTM_IO_CAP_IO in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_IO_CAP_IN                       2    /*!< KeyboardOnly */          /* relate to BTM_IO_CAP_IN in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_IO_CAP_NONE                     3    /*!< NoInputNoOutput */       /* relate to BTM_IO_CAP_NONE in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_IO_CAP_KBDISP                   4    /*!< Keyboard display */      /* relate to BTM_IO_CAP_KBDISP in stack/btm_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_UNKNOWN                 0x0000  /* relate to BTM_BLE_APPEARANCE_UNKNOWN in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_PHONE           0x0040  /* relate to BTM_BLE_APPEARANCE_GENERIC_PHONE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_COMPUTER        0x0080  /* relate to BTM_BLE_APPEARANCE_GENERIC_COMPUTER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_WATCH           0x00C0  /* relate to BTM_BLE_APPEARANCE_GENERIC_WATCH in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_SPORTS_WATCH            0x00C1  /* relate to BTM_BLE_APPEARANCE_SPORTS_WATCH in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_CLOCK           0x0100  /* relate to BTM_BLE_APPEARANCE_GENERIC_CLOCK in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_DISPLAY         0x0140  /* relate to BTM_BLE_APPEARANCE_GENERIC_DISPLAY in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_REMOTE          0x0180  /* relate to BTM_BLE_APPEARANCE_GENERIC_REMOTE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_EYEGLASSES      0x01C0  /* relate to BTM_BLE_APPEARANCE_GENERIC_EYEGLASSES in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_TAG             0x0200  /* relate to BTM_BLE_APPEARANCE_GENERIC_TAG in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_KEYRING         0x0240  /* relate to BTM_BLE_APPEARANCE_GENERIC_KEYRING in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_MEDIA_PLAYER    0x0280  /* relate to BTM_BLE_APPEARANCE_GENERIC_MEDIA_PLAYER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_BARCODE_SCANNER 0x02C0  /* relate to BTM_BLE_APPEARANCE_GENERIC_BARCODE_SCANNER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_THERMOMETER     0x0300  /* relate to BTM_BLE_APPEARANCE_GENERIC_THERMOMETER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_THERMOMETER_EAR         0x0301  /* relate to BTM_BLE_APPEARANCE_THERMOMETER_EAR in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_HEART_RATE      0x0340  /* relate to BTM_BLE_APPEARANCE_GENERIC_HEART_RATE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HEART_RATE_BELT         0x0341  /* relate to BTM_BLE_APPEARANCE_HEART_RATE_BELT in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE  0x0380  /* relate to BTM_BLE_APPEARANCE_GENERIC_BLOOD_PRESSURE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_BLOOD_PRESSURE_ARM      0x0381  /* relate to BTM_BLE_APPEARANCE_BLOOD_PRESSURE_ARM in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_BLOOD_PRESSURE_WRIST    0x0382  /* relate to BTM_BLE_APPEARANCE_BLOOD_PRESSURE_WRIST in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_HID             0x03C0  /* relate to BTM_BLE_APPEARANCE_GENERIC_HID in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_KEYBOARD            0x03C1  /* relate to BTM_BLE_APPEARANCE_HID_KEYBOARD in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_MOUSE               0x03C2  /* relate to BTM_BLE_APPEARANCE_HID_MOUSE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_JOYSTICK            0x03C3  /* relate to BTM_BLE_APPEARANCE_HID_JOYSTICK in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_GAMEPAD             0x03C4  /* relate to BTM_BLE_APPEARANCE_HID_GAMEPAD in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_DIGITIZER_TABLET    0x03C5  /* relate to BTM_BLE_APPEARANCE_HID_DIGITIZER_TABLET in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_CARD_READER         0x03C6  /* relate to BTM_BLE_APPEARANCE_HID_CARD_READER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_DIGITAL_PEN         0x03C7  /* relate to BTM_BLE_APPEARANCE_HID_DIGITAL_PEN in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_HID_BARCODE_SCANNER     0x03C8  /* relate to BTM_BLE_APPEARANCE_HID_BARCODE_SCANNER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_GLUCOSE         0x0400  /* relate to BTM_BLE_APPEARANCE_GENERIC_GLUCOSE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_WALKING         0x0440  /* relate to BTM_BLE_APPEARANCE_GENERIC_WALKING in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_WALKING_IN_SHOE         0x0441  /* relate to BTM_BLE_APPEARANCE_WALKING_IN_SHOE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_WALKING_ON_SHOE         0x0442  /* relate to BTM_BLE_APPEARANCE_WALKING_ON_SHOE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_WALKING_ON_HIP          0x0443  /* relate to BTM_BLE_APPEARANCE_WALKING_ON_HIP in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_CYCLING         0x0480  /* relate to BTM_BLE_APPEARANCE_GENERIC_CYCLING in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_CYCLING_COMPUTER        0x0481  /* relate to BTM_BLE_APPEARANCE_CYCLING_COMPUTER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_CYCLING_SPEED           0x0482  /* relate to BTM_BLE_APPEARANCE_CYCLING_SPEED in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_CYCLING_CADENCE         0x0483  /* relate to BTM_BLE_APPEARANCE_CYCLING_CADENCE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_CYCLING_POWER           0x0484  /* relate to BTM_BLE_APPEARANCE_CYCLING_POWER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_CYCLING_SPEED_CADENCE   0x0485  /* relate to BTM_BLE_APPEARANCE_CYCLING_SPEED_CADENCE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_PULSE_OXIMETER  0x0C40  /* relate to BTM_BLE_APPEARANCE_GENERIC_PULSE_OXIMETER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP 0x0C41  /* relate to BTM_BLE_APPEARANCE_PULSE_OXIMETER_FINGERTIP in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_PULSE_OXIMETER_WRIST    0x0C42  /* relate to BTM_BLE_APPEARANCE_PULSE_OXIMETER_WRIST in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_WEIGHT          0x0C80  /* relate to BTM_BLE_APPEARANCE_GENERIC_WEIGHT in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_PERSONAL_MOBILITY_DEVICE    0x0CC0  /* relate to BTM_BLE_APPEARANCE_GENERIC_PERSONAL_MOBILITY_DEVICE in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_POWERED_WHEELCHAIR                  0x0CC1  /* relate to BTM_BLE_APPEARANCE_POWERED_WHEELCHAIR in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_MOBILITY_SCOOTER                    0x0CC2  /* relate to BTM_BLE_APPEARANCE_MOBILITY_SCOOTER in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_CONTINUOUS_GLUCOSE_MONITOR  0x0D00  /* relate to BTM_BLE_APPEARANCE_GENERIC_CONTINUOUS_GLUCOSE_MONITOR in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_INSULIN_PUMP                0x0D40  /* relate to BTM_BLE_APPEARANCE_GENERIC_INSULIN_PUMP in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_INSULIN_PUMP_DURABLE_PUMP           0x0D41  /* relate to BTM_BLE_APPEARANCE_INSULIN_PUMP_DURABLE_PUMP in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_INSULIN_PUMP_PATCH_PUMP             0x0D44  /* relate to BTM_BLE_APPEARANCE_INSULIN_PUMP_PATCH_PUMP in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_INSULIN_PEN                         0x0D48  /* relate to BTM_BLE_APPEARANCE_INSULIN_PEN in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_MEDICATION_DELIVERY         0x0D80  /* relate to BTM_BLE_APPEARANCE_GENERIC_MEDICATION_DELIVERY in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS  0x1440              /* relate to BTM_BLE_APPEARANCE_GENERIC_OUTDOOR_SPORTS in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION 0x1441              /* relate to BTM_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_AND_NAV     0x1442  /* relate to BTM_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_AND_NAV in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_POD         0x1443  /* relate to BTM_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_POD in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_POD_AND_NAV 0x1444  /* relate to BTM_BLE_APPEARANCE_OUTDOOR_SPORTS_LOCATION_POD_AND_NAV in stack/btm_ble_api.h */ 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								typedef  uint8_t  esp_ble_io_cap_t ;                /*!< combination of the io capability */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// GAP BLE callback event type
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT         =  0 ,        /*!< When advertising data set complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT ,              /*!< When scan response data set complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT ,                 /*!< When scan parameters set complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_RESULT_EVT ,                             /*!< When one scan result ready, the event comes each time */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT ,               /*!< When raw advertising data set complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT ,          /*!< When raw advertising data set complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-10 15:40:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_ADV_START_COMPLETE_EVT ,                      /*!< When start advertising complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_START_COMPLETE_EVT ,                     /*!< When start scan complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_AUTH_CMPL_EVT ,                               /* Authentication complete indication. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_KEY_EVT ,                                     /* BLE  key event for peer device keys */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SEC_REQ_EVT ,                                 /* BLE  security request */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_PASSKEY_NOTIF_EVT ,                           /* passkey notification event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_PASSKEY_REQ_EVT ,                             /* passkey request event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_OOB_REQ_EVT ,                                 /* OOB request event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_LOCAL_IR_EVT ,                                /* BLE local IR event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_LOCAL_ER_EVT ,                                /* BLE local ER event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_NC_REQ_EVT ,                                  /* Numeric Comparison request event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT ,                       /*!< When stop adv complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT ,                      /*!< When stop scan complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT ,                    /*!< When set the static rand address complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT ,                      /*!< When update connection parameters complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT ,                 /*!< When set pkt length complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT ,              /*!< When  Enable/disable privacy on the local device complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT ,                /*!< When remove the bond device complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT ,                 /*!< When clear the bond device clear complete, the event comes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT ,                   /*!< When get the bond device list complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT ,                      /*!< When read the rssi complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_UPDATE_WHITELIST_COMPLETE_EVT ,               /*!< When add or remove whitelist complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_COMPLETE_EVT ,   /*!< When update duplicate exceptional list complete, the event comes */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_BLE_EVT_MAX , 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_gap_ble_cb_event_t ;  
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/// This is the old name, just for backwards compatibility
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_GAP_BLE_ADD_WHITELIST_COMPLETE_EVT ESP_GAP_BLE_UPDATE_WHITELIST_COMPLETE_EVT 
  
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Advertising data maximum length
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_ADV_DATA_LEN_MAX               31 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Scan response data maximum length
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define ESP_BLE_SCAN_RSP_DATA_LEN_MAX          31 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* relate to BTM_BLE_AD_TYPE_xxx in stack/btm_ble_api.h */  
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// The type of advertising data(not adv_type)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_FLAG                      =  0x01 ,     /* relate to BTM_BLE_AD_TYPE_FLAG in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_16SRV_PART                =  0x02 ,     /* relate to BTM_BLE_AD_TYPE_16SRV_PART in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_16SRV_CMPL                =  0x03 ,     /* relate to BTM_BLE_AD_TYPE_16SRV_CMPL in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_32SRV_PART                =  0x04 ,     /* relate to BTM_BLE_AD_TYPE_32SRV_PART in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_32SRV_CMPL                =  0x05 ,     /* relate to BTM_BLE_AD_TYPE_32SRV_CMPL in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_128SRV_PART               =  0x06 ,     /* relate to BTM_BLE_AD_TYPE_128SRV_PART in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_128SRV_CMPL               =  0x07 ,     /* relate to BTM_BLE_AD_TYPE_128SRV_CMPL in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_NAME_SHORT                =  0x08 ,     /* relate to BTM_BLE_AD_TYPE_NAME_SHORT in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_NAME_CMPL                 =  0x09 ,     /* relate to BTM_BLE_AD_TYPE_NAME_CMPL in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_TX_PWR                    =  0x0A ,     /* relate to BTM_BLE_AD_TYPE_TX_PWR in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_DEV_CLASS                 =  0x0D ,     /* relate to BTM_BLE_AD_TYPE_DEV_CLASS in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SM_TK                     =  0x10 ,     /* relate to BTM_BLE_AD_TYPE_SM_TK in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SM_OOB_FLAG               =  0x11 ,     /* relate to BTM_BLE_AD_TYPE_SM_OOB_FLAG in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_INT_RANGE                 =  0x12 ,     /* relate to BTM_BLE_AD_TYPE_INT_RANGE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SOL_SRV_UUID              =  0x14 ,     /* relate to BTM_BLE_AD_TYPE_SOL_SRV_UUID in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_128SOL_SRV_UUID           =  0x15 ,     /* relate to BTM_BLE_AD_TYPE_128SOL_SRV_UUID in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SERVICE_DATA              =  0x16 ,     /* relate to BTM_BLE_AD_TYPE_SERVICE_DATA in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_PUBLIC_TARGET             =  0x17 ,     /* relate to BTM_BLE_AD_TYPE_PUBLIC_TARGET in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_RANDOM_TARGET             =  0x18 ,     /* relate to BTM_BLE_AD_TYPE_RANDOM_TARGET in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_APPEARANCE                =  0x19 ,     /* relate to BTM_BLE_AD_TYPE_APPEARANCE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_ADV_INT                   =  0x1A ,     /* relate to BTM_BLE_AD_TYPE_ADV_INT in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_LE_DEV_ADDR               =  0x1b ,     /* relate to BTM_BLE_AD_TYPE_LE_DEV_ADDR in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_LE_ROLE                   =  0x1c ,     /* relate to BTM_BLE_AD_TYPE_LE_ROLE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SPAIR_C256                =  0x1d ,     /* relate to BTM_BLE_AD_TYPE_SPAIR_C256 in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_SPAIR_R256                =  0x1e ,     /* relate to BTM_BLE_AD_TYPE_SPAIR_R256 in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_32SOL_SRV_UUID            =  0x1f ,     /* relate to BTM_BLE_AD_TYPE_32SOL_SRV_UUID in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_32SERVICE_DATA            =  0x20 ,     /* relate to BTM_BLE_AD_TYPE_32SERVICE_DATA in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_128SERVICE_DATA           =  0x21 ,     /* relate to BTM_BLE_AD_TYPE_128SERVICE_DATA in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_LE_SECURE_CONFIRM         =  0x22 ,     /* relate to BTM_BLE_AD_TYPE_LE_SECURE_CONFIRM in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_LE_SECURE_RANDOM          =  0x23 ,     /* relate to BTM_BLE_AD_TYPE_LE_SECURE_RANDOM in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_URI                       =  0x24 ,     /* relate to BTM_BLE_AD_TYPE_URI in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_INDOOR_POSITION           =  0x25 ,     /* relate to BTM_BLE_AD_TYPE_INDOOR_POSITION in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_TRANS_DISC_DATA           =  0x26 ,     /* relate to BTM_BLE_AD_TYPE_TRANS_DISC_DATA in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_LE_SUPPORT_FEATURE        =  0x27 ,     /* relate to BTM_BLE_AD_TYPE_LE_SUPPORT_FEATURE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_TYPE_CHAN_MAP_UPDATE           =  0x28 ,     /* relate to BTM_BLE_AD_TYPE_CHAN_MAP_UPDATE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE     =  0xFF ,     /* relate to BTM_BLE_AD_MANUFACTURER_SPECIFIC_TYPE in stack/btm_ble_api.h */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_data_type ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Advertising mode
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_TYPE_IND                 =  0x00 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_TYPE_DIRECT_IND_HIGH     =  0x01 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_TYPE_SCAN_IND            =  0x02 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_TYPE_NONCONN_IND         =  0x03 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_TYPE_DIRECT_IND_LOW      =  0x04 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Advertising channel mask
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_CHNL_37      =  0x01 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_CHNL_38      =  0x02 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_CHNL_39      =  0x04 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_CHNL_ALL     =  0x07 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_channel_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ///Allow both scan and connection requests from anyone
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY   =  0x00 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ///Allow both scan req from White List devices only and connection req from anyone
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_FILTER_ALLOW_SCAN_WLST_CON_ANY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ///Allow both scan req from anyone and connection req from White List devices only
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_FILTER_ALLOW_SCAN_ANY_CON_WLST , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ///Allow scan and connection requests from White List devices only
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ///Enumeration end value for advertising filter policy value check
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_filter_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/* relate to BTA_DM_BLE_SEC_xxx in bta/bta_api.h */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SEC_ENCRYPT  =  1 ,             /* relate to BTA_DM_BLE_SEC_ENCRYPT in bta/bta_api.h. If the device has already
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-23 23:26:53 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                                           bonded ,  the  stack  will  used  LTK  to  encrypt  with  the  remote  device  directly . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           Else  if  the  device  hasn ' t  bonded ,  the  stack  will  used  the  default  authentication  request 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           used  the  esp_ble_gap_set_security_param  function  set  by  the  user .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SEC_ENCRYPT_NO_MITM ,         /* relate to BTA_DM_BLE_SEC_ENCRYPT_NO_MITM in bta/bta_api.h. If the device has already
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-23 23:26:53 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                                           bonded ,  the  stack  will  check  the  LTK  Whether  the  authentication  request  has  been  met ,  if  met ,  used  the  LTK 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           to  encrypt  with  the  remote  device  directly ,  else  Re - pair  with  the  remote  device . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           Else  if  the  device  hasn ' t  bonded ,  the  stack  will  used  NO  MITM  authentication  request  in  the  current  link  instead  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           used  the  authreq  in  the  esp_ble_gap_set_security_param  function  set  by  the  user .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SEC_ENCRYPT_MITM ,            /* relate to BTA_DM_BLE_SEC_ENCRYPT_MITM in bta/bta_api.h. If the device has already
 
							 
						 
					
						
							
								
									
										
										
										
											2017-11-23 23:26:53 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                                           bonded ,  the  stack  will  check  the  LTK  Whether  the  authentication  request  has  been  met ,  if  met ,  used  the  LTK 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           to  encrypt  with  the  remote  device  directly ,  else  Re - pair  with  the  remote  device . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           Else  if  the  device  hasn ' t  bonded ,  the  stack  will  used  MITM  authentication  request  in  the  current  link  instead  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                           used  the  authreq  in  the  esp_ble_gap_set_security_param  function  set  by  the  user .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								} esp_ble_sec_act_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_PASSKEY  =  0 , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_AUTHEN_REQ_MODE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_IOCAP_MODE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_SET_INIT_KEY , 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_SET_RSP_KEY , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_MAX_KEY_SIZE , 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_SET_STATIC_PASSKEY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_CLEAR_STATIC_PASSKEY , 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH , 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_SM_MAX_PARAM , 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_sm_param_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Advertising parameters
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 adv_int_min ;         /*!< Minimum advertising interval for
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  undirected  and  low  duty  cycle  directed  advertising . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  Range :  0x0020  to  0x4000  Default :  N  =  0x0800  ( 1.28  second ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  Time  =  N  *  0.625  msec  Time  Range :  20  ms  to  10.24  sec  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 adv_int_max ;         /*!< Maximum advertising interval for
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  undirected  and  low  duty  cycle  directed  advertising . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  Range :  0x0020  to  0x4000  Default :  N  =  0x0800  ( 1.28  second ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  Time  =  N  *  0.625  msec  Time  Range :  20  ms  to  10.24  sec  Advertising  max  interval  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_adv_type_t       adv_type ;            /*!< Advertising type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_addr_type_t      own_addr_type ;       /*!< Owner bluetooth device address type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t            peer_addr ;           /*!< Peer device bluetooth device address */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_addr_type_t      peer_addr_type ;      /*!< Peer device bluetooth device address type, only support public address type and random address type */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_adv_channel_t    channel_map ;         /*!< Advertising channel map */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_adv_filter_t     adv_filter_policy ;   /*!< Advertising filter policy */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_params_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Advertising data content, according to "Supplement to the Bluetooth Core Specification"
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    bool                     set_scan_rsp ;            /*!< Set this advertising data as scan response or not*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    bool                     include_name ;            /*!< Advertising data include device name or not */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    bool                     include_txpower ;         /*!< Advertising data include TX power */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    int                      min_interval ;            /*!< Advertising data show slave preferred connection min interval.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    The  connection  interval  in  the  following  manner : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    connIntervalmin  =  Conn_Interval_Min  *  1.25  ms 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Conn_Interval_Min  range :  0x0006  to  0x0C80 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Value  of  0xFFFF  indicates  no  specific  minimum . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Values  not  defined  above  are  reserved  for  future  use . */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    int                      max_interval ;            /*!< Advertising data show slave preferred connection max interval.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    The  connection  interval  in  the  following  manner : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    connIntervalmax  =  Conn_Interval_Max  *  1.25  ms 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Conn_Interval_Max  range :  0x0006  to  0x0C80 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Conn_Interval_Max  shall  be  equal  to  or  greater  than  the  Conn_Interval_Min . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Value  of  0xFFFF  indicates  no  specific  maximum . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                    Values  not  defined  above  are  reserved  for  future  use . */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    int                      appearance ;              /*!< External appearance of device */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 manufacturer_len ;        /*!< Manufacturer data length */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                  * p_manufacturer_data ;    /*!< Manufacturer data point */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 service_data_len ;        /*!< Service data length */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                  * p_service_data ;         /*!< Service data point */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 service_uuid_len ;        /*!< Service uuid length */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                  * p_service_uuid ;         /*!< Service uuid array point */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                  flag ;                    /*!< Advertising flag of discovery mode, see BLE_ADV_DATA_FLAG detail */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_adv_data_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/// Ble scan type
  
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_TYPE_PASSIVE    =    0x0 ,             /*!< Passive scan */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_TYPE_ACTIVE     =    0x1 ,             /*!< Active scan */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_scan_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Ble scan filter type
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_FILTER_ALLOW_ALL            =  0x0 ,   /*!< Accept all :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  1.  advertisement  packets  except  directed  advertising  packets  not  addressed  to  this  device  ( default ) .  */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_FILTER_ALLOW_ONLY_WLST      =  0x1 ,   /*!< Accept only :
 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								                                                  1.  advertisement  packets  from  devices  where  the  advertiser ’ s  address  is  in  the  White  list . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  2.  Directed  advertising  packets  which  are  not  addressed  for  this  device  shall  be  ignored .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_FILTER_ALLOW_UND_RPA_DIR    =  0x2 ,   /*!< Accept all :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  1.  undirected  advertisement  packets ,  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  2.  directed  advertising  packets  where  the  initiator  address  is  a  resolvable  private  address ,  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  3.  directed  advertising  packets  addressed  to  this  device .  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_FILTER_ALLOW_WLIST_PRA_DIR  =  0x3 ,   /*!< Accept all :
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								                                                  1.  advertisement  packets  from  devices  where  the  advertiser ’ s  address  is  in  the  White  list ,  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  2.  directed  advertising  packets  where  the  initiator  address  is  a  resolvable  private  address ,  and 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                  3.  directed  advertising  packets  addressed  to  this  device . */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_scan_filter_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/// Ble scan duplicate type
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_DUPLICATE_DISABLE            =  0x0 ,   /*!< the Link Layer should generate advertising reports to the host for each packet received */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    BLE_SCAN_DUPLICATE_ENABLE             =  0x1 ,   /*!< the Link Layer should filter out duplicate advertising reports to the Host */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
										 
							
							
								    BLE_SCAN_DUPLICATE_MAX                =  0x2 ,   /*!< 0x02 –  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_scan_duplicate_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Ble scan parameters
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_scan_type_t      scan_type ;               /*!< Scan type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_addr_type_t      own_addr_type ;           /*!< Owner address type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_scan_filter_t    scan_filter_policy ;      /*!< Scan filter policy */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 scan_interval ;           /*!< Scan interval. This is defined as the time interval from
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      when  the  Controller  started  its  last  LE  scan  until  it  begins  the  subsequent  LE  scan . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Range :  0x0004  to  0x4000  Default :  0x0010  ( 10  ms ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Time  =  N  *  0.625  msec 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Time  Range :  2.5  msec  to  10.24  seconds */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t                 scan_window ;             /*!< Scan window. The duration of the LE scan. LE_Scan_Window
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      shall  be  less  than  or  equal  to  LE_Scan_Interval 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Range :  0x0004  to  0x4000  Default :  0x0010  ( 10  ms ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Time  =  N  *  0.625  msec 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Time  Range :  2.5  msec  to  10240  msec  */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_scan_duplicate_t   scan_duplicate ;        /*!< The Scan_Duplicates parameter controls whether the Link Layer should filter out
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                        duplicate  advertising  reports  ( BLE_SCAN_DUPLICATE_ENABLE )  to  the  Host ,  or  if  the  Link  Layer  should  generate 
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								                                                        advertising  reports  for  each  packet  received  */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_scan_params_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Connection update parameters
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t  bda ;                               /*!< Bluetooth device address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  min_int ;                                /*!< Min connection interval */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  max_int ;                                /*!< Max connection interval */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  latency ;                                /*!< Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  timeout ;                                /*!< Supervision timeout for the LE Link. Range: 0x000A to 0x0C80.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Mandatory  Range :  0x000A  to  0x0C80  Time  =  N  *  10  msec 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                      Time  Range :  100  msec  to  32  seconds  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_conn_update_params_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief  BLE  pkt  date  length  keys  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  rx_len ;                    /*!< pkt rx data length value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t  tx_len ;                    /*!< pkt tx data length value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								} esp_ble_pkt_data_length_params_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief  BLE  encryption  keys  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t      ltk ;           /*!< The long term key*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet8_t       rand ;          /*!< The random number*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t              ediv ;          /*!< The ediv value*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t               sec_level ;     /*!< The security level of the security link*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t               key_size ;      /*!< The key size(7~16) of the security link*/ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_penc_keys_t ;                  /*!< The key type*/  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   BLE  CSRK  keys  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint32_t             counter ;       /*!< The counter */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t     csrk ;          /*!< The csrk key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t              sec_level ;     /*!< The security level */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_pcsrk_keys_t ;                /*!< The pcsrk key type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   BLE  pid  keys  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t           irk ;            /*!< The irk value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_addr_type_t        addr_type ;      /*!< The address type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t              static_addr ;    /*!< The static address */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_pid_keys_t ;                         /*!< The pid key type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   BLE  Encryption  reproduction  keys  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t   ltk ;                   /*!< The long term key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t           div ;                   /*!< The div value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t            key_size ;              /*!< The key size of the security link */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t            sec_level ;             /*!< The security level of the security link */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_lenc_keys_t ;                       /*!< The  key type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   BLE  SRK  keys  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint32_t           counter ;               /*!< The counter value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint16_t           div ;                   /*!< The div value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t            sec_level ;             /*!< The security level of the security link */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t   csrk ;                  /*!< The csrk key value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_lcsrk_keys ;                        /*!< The csrk key type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   Structure  associated  with  ESP_KEY_NOTIF_EVT  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t   bd_addr ;         /*!< peer address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint32_t        passkey ;         /*!< the numeric value for comparison. If just_works, do not show this number to UI */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_sec_key_notif_t ;          /*!< BLE key notify type*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   Structure  of  the  security  request  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t   bd_addr ;         /*!< peer address */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_sec_req_t ;                /*!< BLE security request type*/  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   union  type  of  the  security  key  value  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  union  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_penc_keys_t    penc_key ;        /*!< received peer encryption key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_pcsrk_keys_t   pcsrk_key ;       /*!< received peer device SRK */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_pid_keys_t     pid_key ;         /*!< peer device ID key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_lenc_keys_t    lenc_key ;        /*!< local encryption reproduction keys LTK = = d1(ER,DIV,0)*/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_lcsrk_keys     lcsrk_key ;       /*!< local device CSRK = d1(ER,DIV,1)*/ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_key_value_t ;                     /*!< ble key value type*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   struct  type  of  the  bond  key  information  value  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_key_mask_t     key_mask ;        /*!< the key mask to indicate witch key is present */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_penc_keys_t    penc_key ;        /*!< received peer encryption key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_pcsrk_keys_t   pcsrk_key ;       /*!< received peer device SRK */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_pid_keys_t     pid_key ;         /*!< peer device ID key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_bond_key_info_t ;                 /*!< ble bond key information value type */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   struct  type  of  the  bond  device  value  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t   bd_addr ;                /*!< peer address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_bond_key_info_t  bond_key ;      /*!< the bond key information */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_bond_dev_t ;                      /*!< the ble bond device type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   union  type  of  the  security  key  value  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t                bd_addr ;         /*!< peer address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_key_type_t           key_type ;        /*!< key type of the security link */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_key_value_t          p_key_value ;     /*!< the pointer to the key value */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_key_t ;                                 /*!< the union to the ble key value type*/  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief   structure  type  of  the  ble  local  id  keys  value  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t        ir ;                   /*!< the 16 bits of the ir value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t        irk ;                  /*!< the 16 bits of the ir key value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_octet16_t        dhk ;                  /*!< the 16 bits of the dh key value */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_local_id_keys_t ;                       /*!< the structure of the ble local id keys value type*/  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								  *  @ brief  Structure  associated  with  ESP_AUTH_CMPL_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  struct  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bd_addr_t          bd_addr ;                /*!< BD address peer device. */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    bool                   key_present ;            /*!< Valid link key value in key element */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_link_key           key ;                    /*!< Link key associated with peer device. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                key_type ;               /*!< The type of Link Key */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    bool                   success ;                /*!< TRUE of authentication succeeded, FALSE if failed. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    uint8_t                fail_reason ;            /*!< The HCI reason/error code for when success=FALSE */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_addr_type_t    addr_type ;              /*!< Peer device address type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_bt_dev_type_t      dev_type ;               /*!< Device type */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_auth_req_t     auth_mode ;              /*!< authentication mode */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_auth_cmpl_t ;                            /*!< The ble authentication complete cb type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								  *  @ brief  union  associated  with  ble  security 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  union  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_sec_key_notif_t     key_notif ;       /*!< passkey notification */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_sec_req_t           ble_req ;         /*!< BLE SMP related request */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_key_t               ble_key ;         /*!< BLE SMP keys used when pairing */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_local_id_keys_t     ble_id_keys ;     /*!< BLE IR event */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_auth_cmpl_t         auth_cmpl ;       /*!< Authentication complete indication. */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_sec_t ;                                /*!< BLE security type */  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/// Sub Event of ESP_GAP_BLE_SCAN_RESULT_EVT
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_INQ_RES_EVT              =  0 ,       /*!< Inquiry result for a peer device. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_INQ_CMPL_EVT             =  1 ,       /*!< Inquiry complete. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_DISC_RES_EVT             =  2 ,       /*!< Discovery result for a peer device. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_DISC_BLE_RES_EVT         =  3 ,       /*!< Discovery result for BLE GATT based service on a peer device. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_DISC_CMPL_EVT            =  4 ,       /*!< Discovery complete. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_DI_DISC_CMPL_EVT         =  5 ,       /*!< Discovery complete. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT   =  6 ,       /*!< Search cancelled */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-12 15:43:53 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_GAP_SEARCH_INQ_DISCARD_NUM_EVT      =  7 ,       /*!< The number of pkt discarded by flow control */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_gap_search_evt_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief  Ble  scan  result  event  type ,  to  indicate  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *         result  is  scan  response  or  advertising  data  or  other 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_EVT_CONN_ADV          =  0x00 ,         /*!< Connectable undirected advertising (ADV_IND) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_EVT_CONN_DIR_ADV      =  0x01 ,         /*!< Connectable directed advertising (ADV_DIRECT_IND) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_EVT_DISC_ADV          =  0x02 ,         /*!< Scannable undirected advertising (ADV_SCAN_IND) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_EVT_NON_CONN_ADV      =  0x03 ,         /*!< Non connectable undirected advertising (ADV_NONCONN_IND) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_EVT_SCAN_RSP          =  0x04 ,         /*!< Scan Response (SCAN_RSP) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_evt_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-10-16 21:25:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_WHITELIST_REMOVE      =  0 X00 ,     /*!< remove mac from whitelist */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_WHITELIST_ADD         =  0 X01 ,     /*!< add address to whitelist */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								} esp_ble_wl_opration_t ;  
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_EXCEPTIONAL_LIST_ADD       =  0 ,   /*!< Add device info into duplicate scan exceptional list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_EXCEPTIONAL_LIST_REMOVE ,         /*!< Remove device info from duplicate scan exceptional list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_EXCEPTIONAL_LIST_CLEAN ,          /*!< Clean duplicate scan exceptional list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_bt_duplicate_exceptional_subcode_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# define BLE_BIT(n) (1UL<<(n)) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_INFO_ADV_ADDR        =  0 ,   /*!< BLE advertising address , device info will be added into ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_ADDR_LIST */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_INFO_MESH_LINK_ID ,         /*!< BLE mesh link ID, it is for BLE mesh, device info will be added into ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_MESH_LINK_ID_LIST */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-12 18:52:23 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_INFO_MESH_BEACON_TYPE ,     /*!< BLE mesh beacon AD type, the format is | Len | 0x2B | Beacon Type | Beacon Data | */      
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_INFO_MESH_PROV_SRV_ADV ,    /*!< BLE mesh provisioning service uuid, the format is | 0x02 | 0x01 | flags | 0x03 | 0x03 | 0x1827 | .... |` */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_INFO_MESH_PROXY_SRV_ADV ,   /*!< BLE mesh adv with proxy service uuid, the format is | 0x02 | 0x01 | flags | 0x03 | 0x03 | 0x1828 | .... |` */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_duplicate_exceptional_info_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
									
										
										
										
											2019-05-12 18:52:23 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_ADDR_LIST                   =  BLE_BIT ( 0 ) ,              /*!< duplicate scan exceptional addr list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_MESH_LINK_ID_LIST           =  BLE_BIT ( 1 ) ,              /*!< duplicate scan exceptional mesh link ID list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_MESH_BEACON_TYPE_LIST       =  BLE_BIT ( 2 ) ,              /*!< duplicate scan exceptional mesh beacon type list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_MESH_PROV_SRV_ADV_LIST      =  BLE_BIT ( 3 ) ,              /*!< duplicate scan exceptional mesh adv with provisioning service uuid */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_MESH_PROXY_SRV_ADV_LIST     =  BLE_BIT ( 4 ) ,              /*!< duplicate scan exceptional mesh adv with provisioning service uuid */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    ESP_BLE_DUPLICATE_SCAN_EXCEPTIONAL_ALL_LIST                    =  0xFFFF ,                  /*!< duplicate scan exceptional all list */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_duplicate_scan_exceptional_list_type_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  uint8_t  esp_duplicate_info_t [ ESP_BD_ADDR_LEN ] ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief  Gap  callback  parameters  union 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  union  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_adv_data_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set advertising data operation success status */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    }  adv_data_cmpl ;                                 /*!< Event parameter of ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_rsp_data_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set scan response data operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_rsp_data_cmpl ;                            /*!< Event parameter of ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_param_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set scan param operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_param_cmpl ;                               /*!< Event parameter of ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_RESULT_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_result_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_gap_search_evt_t  search_evt ;             /*!< Search event type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bd_addr_t  bda ;                           /*!< Bluetooth device address which has been searched */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_dev_type_t  dev_type ;                  /*!< Device type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_ble_addr_type_t  ble_addr_type ;           /*!< Ble device address type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_ble_evt_type_t  ble_evt_type ;             /*!< Ble scan result event type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        int  rssi ;                                    /*!< Searched device's RSSI */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint8_t   ble_adv [ ESP_BLE_ADV_DATA_LEN_MAX  +  ESP_BLE_SCAN_RSP_DATA_LEN_MAX ] ;      /*!< Received EIR */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        int  flag ;                                    /*!< Advertising data flag bit */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        int  num_resps ;                               /*!< Scan result number */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-04-12 21:49:58 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        uint8_t  adv_data_len ;                        /*!< Adv data length */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint8_t  scan_rsp_len ;                        /*!< Scan response length */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-12 15:43:53 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        uint32_t  num_dis ;                           /*!< The number of discard packets */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_rst ;                                      /*!< Event parameter of ESP_GAP_BLE_SCAN_RESULT_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_adv_data_raw_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set raw advertising data operation success status */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    }  adv_data_raw_cmpl ;                             /*!< Event parameter of ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_rsp_data_raw_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set raw advertising data operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_rsp_data_raw_cmpl ;                        /*!< Event parameter of ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-03-10 15:40:14 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_ADV_START_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_adv_start_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate advertising start operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  adv_start_cmpl ;                                /*!< Event parameter of ESP_GAP_BLE_ADV_START_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_START_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_start_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate scan start operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_start_cmpl ;                               /*!< Event parameter of ESP_GAP_BLE_SCAN_START_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    esp_ble_sec_t  ble_security ;                      /*!< ble gap security union type */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_scan_stop_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate scan stop operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  scan_stop_cmpl ;                                /*!< Event parameter of ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_adv_stop_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate adv stop operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  adv_stop_cmpl ;                                 /*!< Event parameter of ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_set_rand_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate set static rand address operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  set_rand_addr_cmpl ;                            /*!< Event parameter of ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_update_conn_params_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                     /*!< Indicate update connection parameters success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bd_addr_t  bda ;                          /*!< Bluetooth device address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t  min_int ;                           /*!< Min connection interval */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t  max_int ;                           /*!< Max connection interval */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t  latency ;                           /*!< Slave latency for the connection in number of connection events. Range: 0x0000 to 0x01F3 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t  conn_int ;                          /*!< Current connection interval */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t  timeout ;                           /*!< Supervision timeout for the LE Link. Range: 0x000A to 0x0C80.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                     Mandatory  Range :  0x000A  to  0x0C80  Time  =  N  *  10  msec  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    } update_conn_params ;                            /*!< Event parameter of ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_pkt_data_length_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set pkt data length operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_ble_pkt_data_length_params_t  params ;     /*!<  pkt data length value */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  pkt_data_lenth_cmpl ;                           /*!< Event parameter of ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_local_privacy_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the set local privacy operation success status */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    }  local_privacy_cmpl ;                            /*!< Event parameter of ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_remove_bond_dev_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the remove bond device operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bd_addr_t  bd_addr ;                       /*!< The device address which has been remove from the bond list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    } remove_bond_dev_cmpl ;                           /*!< Event parameter of ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_clear_bond_dev_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the clear bond device operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    } clear_bond_dev_cmpl ;                            /*!< Event parameter of ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_get_bond_dev_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the get bond device operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint8_t  dev_num ;                             /*!< Indicate the get number device in the bond list */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_ble_bond_dev_t  * bond_dev ;                /*!< the pointer to the bond device Structure */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    } get_bond_dev_cmpl ;                              /*!< Event parameter of ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_read_rssi_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the read adv tx power operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        int8_t  rssi ;                                 /*!< The ble remote device rssi value, the range is from -127 to 20, the unit is dbm,
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                         if  the  RSSI  cannot  be  read ,  the  RSSI  metric  shall  be  set  to  127.  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bd_addr_t  remote_addr ;                   /*!< The remote device address */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  read_rssi_cmpl ;                                /*!< Event parameter of ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-10-16 21:25:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_UPDATE_WHITELIST_COMPLETE_EVT 
							 
						 
					
						
							
								
									
										
										
										
											2017-10-16 21:25:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_update_whitelist_cmpl_evt_param  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-10-16 21:25:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate the add or remove whitelist operation success status */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								        esp_ble_wl_opration_t  wl_opration ;           /*!< The value is ESP_BLE_WHITELIST_ADD if add address to whitelist operation success, ESP_BLE_WHITELIST_REMOVE if remove address from the whitelist operation success */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  update_whitelist_cmpl ;                         /*!< Event parameter of ESP_GAP_BLE_UPDATE_WHITELIST_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     *  @ brief  ESP_GAP_BLE_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_COMPLETE_EVT 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    struct  ble_update_duplicate_exceptional_list_cmpl_evt_param  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_bt_status_t  status ;                      /*!< Indicate update duplicate scan exceptional list operation success status */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint8_t          subcode ;                     /*!< Define in esp_bt_duplicate_exceptional_subcode_type_t */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        uint16_t          length ;                      /*!< The length of device_info */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								        esp_duplicate_info_t  device_info ;            /*!< device information, when subcode is ESP_BLE_DUPLICATE_EXCEPTIONAL_LIST_CLEAN, the value is invalid */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								    }  update_duplicate_exceptional_list_cmpl ;        /*!< Event parameter of ESP_GAP_BLE_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_COMPLETE_EVT */ 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  esp_ble_gap_cb_param_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief  GAP  callback  function  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param  event  :  Event  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param  param  :  Point  to  callback  parameter ,  currently  is  union  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								typedef  void  ( *  esp_gap_ble_cb_t ) ( esp_gap_ble_cb_event_t  event ,  esp_ble_gap_cb_param_t  * param ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  occur  gap  event ,  such  as  scan  result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        callback :  callback  function 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_register_callback ( esp_gap_ble_cb_t  callback ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  override  the  BTA  default  ADV  parameters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        adv_data :  Pointer  to  User  defined  ADV  data  structure .  This 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   memory  space  can  not  be  freed  until  callback  of  config_adv_data 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   is  received . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_config_adv_data  ( esp_ble_adv_data_t  * adv_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  set  scan  parameters 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        scan_params :  Pointer  to  User  defined  scan_params  data  structure .  This 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   memory  space  can  not  be  freed  until  callback  of  set_scan_params 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_scan_params ( esp_ble_scan_params_t  * scan_params ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  procedure  keep  the  device  scanning  the  peer  device  which  advertising  on  the  air 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        duration :  Keeping  the  scanning  time ,  the  unit  is  second . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_start_scanning ( uint32_t  duration ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief           This  function  call  to  stop  the  device  scanning  the  peer  device  which  advertising  on  the  air 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                  -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_stop_scanning ( void ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  start  advertising . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        adv_params :  pointer  to  User  defined  adv_params  data  structure . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_start_advertising  ( esp_ble_adv_params_t  * adv_params ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  stop  advertising . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_stop_advertising ( void ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            Update  connection  parameters ,  can  only  be  used  when  connection  is  up . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        params    -   connection  update  parameters 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_update_conn_params ( esp_ble_conn_update_params_t  * params ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  to  set  maximum  LE  data  packet  size 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_pkt_data_len ( esp_bd_addr_t  remote_device ,  uint16_t  tx_data_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  sets  the  random  address  for  the  application 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        rand_addr :  the  random  address  which  should  be  setting 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_rand_addr ( esp_bd_addr_t  rand_addr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  clears  the  random  address  for  the  application 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_clear_rand_addr ( void ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            Enable / disable  privacy  on  the  local  device 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        privacy_enable    -  enable / disable  privacy  on  remote  device . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_config_local_privacy  ( bool  privacy_enable ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            set  local  gap  appearance  icon 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        icon    -  External  appearance  value ,  these  values  are  defined  by  the  Bluetooth  SIG ,  please  refer  to 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   https : //www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_config_local_icon  ( uint16_t  icon ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief             Add  or  remove  device  from  white  list  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         add_remove :  the  value  is  true  if  added  the  ble  device  to  the  white  list ,  and  false  remove  to  the  white  list .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         remote_bda :  the  remote  device  address  add / remove  from  the  white  list .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                      -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                      -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_update_whitelist ( bool  add_remove ,  esp_bd_addr_t  remote_bda ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief             Get  the  whitelist  size  in  the  controller  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ out ]        length :  the  white  list  length .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                      -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                      -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_get_whitelist_size ( uint16_t  * length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief             This  function  is  called  to  set  the  preferred  connection  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                    parameters  when  default  connection  parameter  is  not  desired  before  connecting .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                    This  API  can  only  be  used  in  the  master  role .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         bd_addr :  BD  address  of  the  peripheral  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         min_conn_int :  minimum  preferred  connection  interval  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         max_conn_int :  maximum  preferred  connection  interval  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         slave_latency :  preferred  slave  latency  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]         supervision_tout :  preferred  supervision  timeout  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                    -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                    -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_prefer_conn_params ( esp_bd_addr_t  bd_addr ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                                 uint16_t  min_conn_int ,  uint16_t  max_conn_int , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                                                 uint16_t  slave_latency ,  uint16_t  supervision_tout ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            Set  device  name  to  the  local  device 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        name    -   device  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_device_name ( const  char  * name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-04-07 09:45:18 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief           This  function  is  called  to  get  local  used  address  and  adress  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                  uint8_t  * esp_bt_dev_get_address ( void )  get  the  public  address 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        local_used_addr  -  current  local  used  ble  address  ( six  bytes ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        addr_type    -  ble  address  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return           -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_get_local_used_addr ( esp_bd_addr_t  local_used_addr ,  uint8_t  *  addr_type ) ;  
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief           This  function  is  called  to  get  ADV  data  for  a  specific  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        adv_data  -  pointer  of  ADV  data  which  to  be  resolved 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        type    -  finding  ADV  data  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ out ]       length  -  return  the  length  of  ADV  data  not  including  type 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return           pointer  of  ADV  data 
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								uint8_t  * esp_ble_resolve_adv_data ( uint8_t  * adv_data ,  uint8_t  type ,  uint8_t  * length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  set  raw  advertising  data .  User  need  to  fill 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   ADV  data  by  self . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        raw_data  :  raw  advertising  data 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        raw_data_len  :  raw  advertising  data  length  ,  less  than  31  bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_config_adv_data_raw ( uint8_t  * raw_data ,  uint32_t  raw_data_len ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  set  raw  scan  response  data .  User  need  to  fill 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   scan  response  data  by  self . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        raw_data  :  raw  scan  response  data 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        raw_data_len  :  raw  scan  response  data  length  ,  less  than  31  bytes 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_config_scan_rsp_data_raw ( uint8_t  * raw_data ,  uint32_t  raw_data_len ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  read  the  RSSI  of  remote  device . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   The  address  of  link  policy  results  are  returned  in  the  gap  callback  function  with 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT  event . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        remote_addr  :  The  remote  connection  device  address . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_read_rssi ( esp_bd_addr_t  remote_addr ) ;  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  add  a  device  info  into  the  duplicate  scan  exceptional  list . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        type :  device  info  type ,  it  is  defined  in  esp_ble_duplicate_exceptional_info_type_t 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-12 18:52:23 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *                   when  type  is  MESH_BEACON_TYPE ,  MESH_PROV_SRV_ADV  or  MESH_PROXY_SRV_ADV  ,  device_info  is  invalid . 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        device_info :  the  device  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_add_duplicate_scan_exceptional_device ( esp_ble_duplicate_exceptional_info_type_t  type ,  esp_duplicate_info_t  device_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  remove  a  device  info  from  the  duplicate  scan  exceptional  list . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        type :  device  info  type ,  it  is  defined  in  esp_ble_duplicate_exceptional_info_type_t 
							 
						 
					
						
							
								
									
										
										
										
											2019-05-12 18:52:23 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *                   when  type  is  MESH_BEACON_TYPE ,  MESH_PROV_SRV_ADV  or  MESH_PROXY_SRV_ADV  ,  device_info  is  invalid . 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-26 23:22:11 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        device_info :  the  device  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_remove_duplicate_scan_exceptional_device ( esp_ble_duplicate_exceptional_info_type_t  type ,  esp_duplicate_info_t  device_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ brief            This  function  is  called  to  clean  the  duplicate  scan  exceptional  list . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   This  API  will  delete  all  device  information  in  the  duplicate  scan  exceptional  list . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ param [ in ]        list_type :  duplicate  scan  exceptional  list  type ,  the  value  can  be  one  or  more  of  esp_duplicate_scan_exceptional_list_type_t . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  ESP_OK  :  success 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 *                   -  other   :  failed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_clean_duplicate_scan_exceptional_list ( esp_duplicate_scan_exceptional_list_type_t  list_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								# if (SMP_INCLUDED == TRUE) 
  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief              Set  a  GAP  security  parameter  value .  Overrides  the  default  value .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
									
										
										
										
											2017-10-13 22:07:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        param_type  :  the  type  of  the  param  which  to  be  set  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        value   :  the  param  value  
						 
					
						
							
								
									
										
										
										
											2017-10-13 22:07:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        len  :  the  length  of  the  param  value  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                        -  other   :  failed  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_set_security_param ( esp_ble_sm_param_t  param_type ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								                                         void  * value ,  uint8_t  len ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief              Grant  security  request  access .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        bd_addr  :  BD  address  of  the  peer  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        accept   :   accept  the  security  request  or  not  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                     -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_security_rsp ( esp_bd_addr_t  bd_addr ,   bool  accept ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief              Set  a  gap  parameter  value .  Use  this  function  to  change  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                     the  default  GAP  parameter  values .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        bd_addr  :  the  address  of  the  peer  device  need  to  encryption  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        sec_act   :  This  is  the  security  action  to  indicate  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                                    what  kind  of  BLE  security  level  is  required  for  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                                    the  BLE  link  if  the  BLE  is  supported  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                        -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_set_encryption ( esp_bd_addr_t  bd_addr ,  esp_ble_sec_act_t  sec_act ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief           Reply  the  key  value  to  the  peer  device  in  the  legacy  connection  stage .  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]       bd_addr  :  BD  address  of  the  peer  
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]       accept  :  passkey  entry  successful  or  declined .  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]       passkey  :  passkey  value ,  must  be  a  6  digit  number ,  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                                      can  be  lead  by  0.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_passkey_reply ( esp_bd_addr_t  bd_addr ,  bool  accept ,  uint32_t  passkey ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2019-04-12 15:43:53 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief            Reply  the  confirm  value  to  the  peer  device  in  the  legacy  connection  stage .  
						 
					
						
							
								
									
										
										
										
											2017-05-06 20:29:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        bd_addr  :  BD  address  of  the  peer  device  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        accept  :  numbers  to  compare  are  the  same  or  different .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                        -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_confirm_reply ( esp_bd_addr_t  bd_addr ,  bool  accept ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief            Removes  a  device  from  the  security  database  list  of  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   peer  device .  It  manages  unpairing  event  while  connected .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        bd_addr  :  BD  address  of  the  peer  device  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                        -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_remove_bond_device ( esp_bd_addr_t  bd_addr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief            Get  the  device  number  from  the  security  database  list  of  peer  device .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   It  will  return  the  device  bonded  number  immediately .  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return           -  > =  0  :  bonded  devices  number .  
						 
					
						
							
								
									
										
										
										
											2018-06-27 09:01:06 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                   -  ESP_FAIL   :  failed  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								int  esp_ble_get_bond_device_num ( void ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief            Get  the  device  from  the  security  database  list  of  peer  device .  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                   It  will  return  the  device  bonded  information  immediately .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ inout ]     dev_num :  Indicate  the  dev_list  array ( buffer )  size  as  input .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                            If  dev_num  is  large  enough ,  it  means  the  actual  number  as  output .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                            Suggest  that  dev_num  value  equal  to  esp_ble_get_bond_device_num ( ) .  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ out ]       dev_list :  an  array ( buffer )  of  ` esp_ble_bond_dev_t `  type .  Use  for  storing  the  bonded  devices  address .  
						 
					
						
							
								
									
										
										
										
											2018-01-18 00:56:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                             The  dev_list  should  be  allocated  by  who  call  this  API .  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return           -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   -  other   :  failed  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
									
										
										
										
											2017-09-22 17:28:54 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_get_bond_device_list ( int  * dev_num ,  esp_ble_bond_dev_t  * dev_list ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# endif  /* #if (SMP_INCLUDED == TRUE) */ 
  
						 
					
						
							
								
									
										
										
										
											2017-09-12 09:40:52 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ brief            This  function  is  to  disconnect  the  physical  connection  of  the  peer  device  
						 
					
						
							
								
									
										
										
										
											2018-09-21 08:39:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                   gattc  may  have  multiple  virtual  GATT  server  connections  when  multiple  app_id  registered .  
						 
					
						
							
								
									
										
										
										
											2017-10-16 21:25:41 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*                   esp_ble_gattc_close  ( esp_gatt_if_t  gattc_if ,  uint16_t  conn_id )  only  close  one  virtual  GATT  server  connection .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   if  there  exist  other  virtual  GATT  server  connections ,  it  does  not  disconnect  the  physical  connection .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                   esp_ble_gap_disconnect ( esp_bd_addr_t  remote_device )  disconnect  the  physical  connection  directly .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
									
										
										
										
											2017-08-01 08:51:04 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ param [ in ]        remote_device  :  BD  address  of  the  peer  device  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  @ return             -  ESP_OK  :  success  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*                     -  other   :  failed  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								esp_err_t  esp_ble_gap_disconnect ( esp_bd_addr_t  remote_device ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-02-06 15:17:11 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
								
									
								 
							
							
								# endif  /* __ESP_GAP_BLE_API_H__ */