component/bt : cleanup the function comment as doxygen type
This commit is contained in:
parent
281a9c2761
commit
c6ec70b67b
7 changed files with 834 additions and 752 deletions
|
@ -27,16 +27,19 @@
|
||||||
#define ESP_BLUFI_EVENT_DEINIT_FINISH 1
|
#define ESP_BLUFI_EVENT_DEINIT_FINISH 1
|
||||||
#define ESP_BLUFI_EVENT_RECV_DATA 2
|
#define ESP_BLUFI_EVENT_RECV_DATA 2
|
||||||
|
|
||||||
|
/// BLUFI config status
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ESP_BLUFI_CONFIG_OK = 0,
|
ESP_BLUFI_CONFIG_OK = 0,
|
||||||
ESP_BLUFI_CONFIG_FAILED,
|
ESP_BLUFI_CONFIG_FAILED,
|
||||||
} esp_blufi_config_state_t;
|
} esp_blufi_config_state_t;
|
||||||
|
|
||||||
|
/// BLUFI init status
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ESP_BLUFI_INIT_OK = 0,
|
ESP_BLUFI_INIT_OK = 0,
|
||||||
ESP_BLUFI_INIT_FAILED = 0,
|
ESP_BLUFI_INIT_FAILED = 0,
|
||||||
} esp_blufi_init_state_t;
|
} esp_blufi_init_state_t;
|
||||||
|
|
||||||
|
/// BLUFI deinit status
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ESP_BLUFI_DEINIT_OK = 0,
|
ESP_BLUFI_DEINIT_OK = 0,
|
||||||
ESP_BLUFI_DEINIT_FAILED = 0,
|
ESP_BLUFI_DEINIT_FAILED = 0,
|
||||||
|
@ -69,52 +72,52 @@ typedef union {
|
||||||
} recv_data; /*!< Blufi callback param of ESP_BLUFI_EVENT_RECV_DATA */
|
} recv_data; /*!< Blufi callback param of ESP_BLUFI_EVENT_RECV_DATA */
|
||||||
} esp_blufi_cb_param_t;
|
} esp_blufi_cb_param_t;
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_blufi_register_callback
|
* @function esp_blufi_register_callback
|
||||||
**
|
*
|
||||||
** @brief This function is called to receive blufi callback event
|
* @brief This function is called to receive blufi callback event
|
||||||
**
|
*
|
||||||
** @param[in] callback: callback function
|
* @param[in] callback: callback function
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return ESP_OK - success, other - failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_blufi_register_callback(esp_profile_cb_t callback);
|
esp_err_t esp_blufi_register_callback(esp_profile_cb_t callback);
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_blufi_send_config_state
|
* @function esp_blufi_send_config_state
|
||||||
**
|
*
|
||||||
** @brief This function is called to send config state to phone
|
* @brief This function is called to send config state to phone
|
||||||
**
|
*
|
||||||
** @param[in] state: blufi config OK or not
|
* @param[in] state: blufi config OK or not
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return ESP_OK - success, other - failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_blufi_send_config_state(esp_blufi_config_state_t state);
|
esp_err_t esp_blufi_send_config_state(esp_blufi_config_state_t state);
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_blufi_profile_init
|
* @function esp_blufi_profile_init
|
||||||
**
|
*
|
||||||
** @brief This function is called to initialize blufi_profile
|
* @brief This function is called to initialize blufi_profile
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return ESP_OK - success, other - failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_blufi_profile_init(void);
|
esp_err_t esp_blufi_profile_init(void);
|
||||||
|
|
||||||
/*******************************************************************************
|
/*
|
||||||
**
|
*
|
||||||
** @function esp_blufi_profile_deinit
|
* @function esp_blufi_profile_deinit
|
||||||
**
|
*
|
||||||
** @brief This function is called to de-initialize blufi_profile
|
* @brief This function is called to de-initialize blufi_profile
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return ESP_OK - success, other - failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_blufi_profile_deinit(void);
|
esp_err_t esp_blufi_profile_deinit(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
/* Status Return Value */
|
/// Status Return Value
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ESP_BT_STATUS_SUCCESS = 0, /* Successful operation. */
|
ESP_BT_STATUS_SUCCESS = 0, /* Successful operation. */
|
||||||
ESP_BT_STATUS_FAILURE = 1, /* Generic failure. */
|
ESP_BT_STATUS_FAILURE = 1, /* Generic failure. */
|
||||||
|
@ -28,12 +28,16 @@ typedef enum {
|
||||||
ESP_BT_STATUS_WRONG_MODE = 5,
|
ESP_BT_STATUS_WRONG_MODE = 5,
|
||||||
} esp_bt_status_t;
|
} esp_bt_status_t;
|
||||||
|
|
||||||
|
/// Default GATT interface id
|
||||||
#define ESP_DEFAULT_GATT_IF 0xff
|
#define ESP_DEFAULT_GATT_IF 0xff
|
||||||
|
|
||||||
|
/// Default BLE connection param, if the value doesn't be overwritten
|
||||||
#define ESP_BLE_CONN_PARAM_UNDEF 0xffff /* use this value when a specific value not to be overwritten */
|
#define ESP_BLE_CONN_PARAM_UNDEF 0xffff /* use this value when a specific value not to be overwritten */
|
||||||
|
|
||||||
|
/// Check the param is valid or not
|
||||||
#define ESP_BLE_IS_VALID_PARAM(x, min, max) (((x) >= (min) && (x) <= (max)) || ((x) == ESP_BLE_CONN_PARAM_UNDEF))
|
#define ESP_BLE_IS_VALID_PARAM(x, min, max) (((x) >= (min) && (x) <= (max)) || ((x) == ESP_BLE_CONN_PARAM_UNDEF))
|
||||||
|
|
||||||
|
/// UUID type
|
||||||
typedef struct {
|
typedef struct {
|
||||||
#define ESP_UUID_LEN_16 2
|
#define ESP_UUID_LEN_16 2
|
||||||
#define ESP_UUID_LEN_32 4
|
#define ESP_UUID_LEN_32 4
|
||||||
|
@ -46,14 +50,18 @@ typedef struct {
|
||||||
} uuid; /*!< UUID */
|
} uuid; /*!< UUID */
|
||||||
} __attribute__((packed)) esp_bt_uuid_t;
|
} __attribute__((packed)) esp_bt_uuid_t;
|
||||||
|
|
||||||
|
/// Bluetooth device type
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ESP_BT_DEVICE_TYPE_BREDR = 0x01,
|
ESP_BT_DEVICE_TYPE_BREDR = 0x01,
|
||||||
ESP_BT_DEVICE_TYPE_BLE = 0x02,
|
ESP_BT_DEVICE_TYPE_BLE = 0x02,
|
||||||
ESP_BT_DEVICE_TYPE_DUMO = 0x03,
|
ESP_BT_DEVICE_TYPE_DUMO = 0x03,
|
||||||
} esp_bt_dev_type_t;
|
} esp_bt_dev_type_t;
|
||||||
|
|
||||||
|
/// Bluetooth address length
|
||||||
#define ESP_BD_ADDR_LEN 6
|
#define ESP_BD_ADDR_LEN 6
|
||||||
typedef uint8_t esp_bd_addr_t[ESP_BD_ADDR_LEN]; /*!< Bluetooth device address */
|
|
||||||
|
/// Bluetooth device address
|
||||||
|
typedef uint8_t esp_bd_addr_t[ESP_BD_ADDR_LEN];
|
||||||
|
|
||||||
/// Own BD address source of the device
|
/// Own BD address source of the device
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -71,6 +79,7 @@ typedef enum {
|
||||||
BD_ADDR_PROVIDED_RECON,
|
BD_ADDR_PROVIDED_RECON,
|
||||||
} esp_bd_addr_type_t;
|
} esp_bd_addr_type_t;
|
||||||
|
|
||||||
|
/// BLE device address type
|
||||||
typedef enum {
|
typedef enum {
|
||||||
BLE_ADDR_TYPE_PUBLIC = 0x00,
|
BLE_ADDR_TYPE_PUBLIC = 0x00,
|
||||||
BLE_ADDR_TYPE_RANDOM = 0x01,
|
BLE_ADDR_TYPE_RANDOM = 0x01,
|
||||||
|
@ -78,9 +87,16 @@ typedef enum {
|
||||||
BLE_ADDR_TYPE_RPA_RANDOM = 0x03,
|
BLE_ADDR_TYPE_RPA_RANDOM = 0x03,
|
||||||
} esp_ble_addr_type_t;
|
} esp_ble_addr_type_t;
|
||||||
|
|
||||||
|
/// Minimum of the application id
|
||||||
#define ESP_APP_ID_MIN 0x0000
|
#define ESP_APP_ID_MIN 0x0000
|
||||||
|
/// Maximum of the application id
|
||||||
#define ESP_APP_ID_MAX 0x7fff
|
#define ESP_APP_ID_MAX 0x7fff
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Each profile callback function type
|
||||||
|
* @param event : Event type
|
||||||
|
* @param param : Point to callback parameter, currently is union type
|
||||||
|
*/
|
||||||
typedef void (* esp_profile_cb_t)(uint32_t event, void *param);
|
typedef void (* esp_profile_cb_t)(uint32_t event, void *param);
|
||||||
|
|
||||||
#endif ///__ESP_BT_DEFS_H__
|
#endif ///__ESP_BT_DEFS_H__
|
||||||
|
|
|
@ -18,12 +18,44 @@
|
||||||
#include "btc_main.h"
|
#include "btc_main.h"
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @function esp_enable_bluetooth
|
||||||
|
*
|
||||||
|
* @brief Enable bluetooth, must after esp_init_bluetooth()
|
||||||
|
*
|
||||||
|
* @return - ESP_OK : Succeed
|
||||||
|
* - Other : Failed
|
||||||
|
*/
|
||||||
esp_err_t esp_enable_bluetooth(void);
|
esp_err_t esp_enable_bluetooth(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @function esp_disable_bluetooth
|
||||||
|
*
|
||||||
|
* @brief Disable bluetooth, must prior to esp_deinit_bluetooth()
|
||||||
|
*
|
||||||
|
* @return - ESP_OK : Succeed
|
||||||
|
* - Other : Failed
|
||||||
|
*/
|
||||||
esp_err_t esp_disable_bluetooth(void);
|
esp_err_t esp_disable_bluetooth(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @function esp_init_bluetooth
|
||||||
|
*
|
||||||
|
* @brief Init and alloc the resource for bluetooth, must be prior to every bluetooth stuff
|
||||||
|
*
|
||||||
|
* @return - ESP_OK : Succeed
|
||||||
|
* - Other : Failed
|
||||||
|
*/
|
||||||
esp_err_t esp_init_bluetooth(void);
|
esp_err_t esp_init_bluetooth(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @function esp_deinit_bluetooth
|
||||||
|
*
|
||||||
|
* @brief Deinit and free the resource for bluetooth, must be after every bluetooth stuff
|
||||||
|
*
|
||||||
|
* @return - ESP_OK : Succeed
|
||||||
|
* - Other : Failed
|
||||||
|
*/
|
||||||
esp_err_t esp_deinit_bluetooth(void);
|
esp_err_t esp_deinit_bluetooth(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -21,42 +21,45 @@
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
#include "esp_bt_defs.h"
|
#include "esp_bt_defs.h"
|
||||||
|
|
||||||
#define ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT 0
|
/// GAP BLE callback event type
|
||||||
#define ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT 1
|
typedef enum {
|
||||||
#define ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT 2
|
ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT = 0, /*!< When advertising data set complete, the event comes */
|
||||||
#define ESP_GAP_BLE_SCAN_RESULT_EVT 3
|
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_cb_event_t;
|
||||||
|
|
||||||
|
/// Advertising data maximum length
|
||||||
#define ESP_BLE_ADV_DATA_LEN_MAX 31
|
#define ESP_BLE_ADV_DATA_LEN_MAX 31
|
||||||
|
|
||||||
/****************** define the adv type macro***************************************/
|
/// The type of advertising data(not adv_type)
|
||||||
#define ESP_BLE_AD_TYPE_FLAG 0x01
|
typedef enum {
|
||||||
#define ESP_BLE_AD_TYPE_16SRV_PART 0x02
|
ESP_BLE_AD_TYPE_FLAG = 0x01,
|
||||||
#define ESP_BLE_AD_TYPE_16SRV_CMPL 0x03
|
ESP_BLE_AD_TYPE_16SRV_PART = 0x02,
|
||||||
#define ESP_BLE_AD_TYPE_32SRV_PART 0x04
|
ESP_BLE_AD_TYPE_16SRV_CMPL = 0x03,
|
||||||
#define ESP_BLE_AD_TYPE_32SRV_CMPL 0x05
|
ESP_BLE_AD_TYPE_32SRV_PART = 0x04,
|
||||||
#define ESP_BLE_AD_TYPE_128SRV_PART 0x06
|
ESP_BLE_AD_TYPE_32SRV_CMPL = 0x05,
|
||||||
#define ESP_BLE_AD_TYPE_128SRV_CMPL 0x07
|
ESP_BLE_AD_TYPE_128SRV_PART = 0x06,
|
||||||
#define ESP_BLE_AD_TYPE_NAME_SHORT 0x08
|
ESP_BLE_AD_TYPE_128SRV_CMPL = 0x07,
|
||||||
#define ESP_BLE_AD_TYPE_NAME_CMPL 0x09
|
ESP_BLE_AD_TYPE_NAME_SHORT = 0x08,
|
||||||
#define ESP_BLE_AD_TYPE_TX_PWR 0x0A
|
ESP_BLE_AD_TYPE_NAME_CMPL = 0x09,
|
||||||
#define ESP_BLE_AD_TYPE_DEV_CLASS 0x0D
|
ESP_BLE_AD_TYPE_TX_PWR = 0x0A,
|
||||||
#define ESP_BLE_AD_TYPE_SM_TK 0x10
|
ESP_BLE_AD_TYPE_DEV_CLASS = 0x0D,
|
||||||
#define ESP_BLE_AD_TYPE_SM_OOB_FLAG 0x11
|
ESP_BLE_AD_TYPE_SM_TK = 0x10,
|
||||||
#define ESP_BLE_AD_TYPE_INT_RANGE 0x12
|
ESP_BLE_AD_TYPE_SM_OOB_FLAG = 0x11,
|
||||||
#define ESP_BLE_AD_TYPE_SOL_SRV_UUID 0x14
|
ESP_BLE_AD_TYPE_INT_RANGE = 0x12,
|
||||||
#define ESP_BLE_AD_TYPE_128SOL_SRV_UUID 0x15
|
ESP_BLE_AD_TYPE_SOL_SRV_UUID = 0x14,
|
||||||
#define ESP_BLE_AD_TYPE_SERVICE_DATA 0x16
|
ESP_BLE_AD_TYPE_128SOL_SRV_UUID = 0x15,
|
||||||
#define ESP_BLE_AD_TYPE_PUBLIC_TARGET 0x17
|
ESP_BLE_AD_TYPE_SERVICE_DATA = 0x16,
|
||||||
#define ESP_BLE_AD_TYPE_RANDOM_TARGET 0x18
|
ESP_BLE_AD_TYPE_PUBLIC_TARGET = 0x17,
|
||||||
#define ESP_BLE_AD_TYPE_APPEARANCE 0x19
|
ESP_BLE_AD_TYPE_RANDOM_TARGET = 0x18,
|
||||||
#define ESP_BLE_AD_TYPE_ADV_INT 0x1A
|
ESP_BLE_AD_TYPE_APPEARANCE = 0x19,
|
||||||
#define ESP_BLE_AD_TYPE_32SOL_SRV_UUID 0x1B
|
ESP_BLE_AD_TYPE_ADV_INT = 0x1A,
|
||||||
#define ESP_BLE_AD_TYPE_32SERVICE_DATA 0x1C
|
ESP_BLE_AD_TYPE_32SOL_SRV_UUID = 0x1B,
|
||||||
#define ESP_BLE_AD_TYPE_128SERVICE_DATA 0x1D
|
ESP_BLE_AD_TYPE_32SERVICE_DATA = 0x1C,
|
||||||
#define ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE 0xFF
|
ESP_BLE_AD_TYPE_128SERVICE_DATA = 0x1D,
|
||||||
|
ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE = 0xFF,
|
||||||
|
} esp_ble_adv_data_type;
|
||||||
typedef uint32_t esp_gap_ble_event_t;
|
|
||||||
|
|
||||||
/// Advertising mode
|
/// Advertising mode
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -189,17 +192,15 @@ typedef struct {
|
||||||
Time Range: 100 msec to 32 seconds */
|
Time Range: 100 msec to 32 seconds */
|
||||||
} esp_ble_conn_update_params_t;
|
} esp_ble_conn_update_params_t;
|
||||||
|
|
||||||
typedef void (*esp_gap_ble_cb_t)(esp_gap_ble_event_t event, void *param);
|
/// Sub Event of ESP_GAP_BLE_SCAN_RESULT_EVT
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
/* Search callback events */
|
ESP_GAP_SEARCH_INQ_RES_EVT = 0, /*!< Inquiry result for a peer device. */
|
||||||
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_INQ_CMPL_EVT = 1, /* Inquiry complete. */
|
ESP_GAP_SEARCH_DISC_RES_EVT = 2, /*!< Discovery result for a peer device. */
|
||||||
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_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_DISC_CMPL_EVT = 4, /* Discovery complete. */
|
ESP_GAP_SEARCH_DI_DISC_CMPL_EVT = 5, /*!< Discovery complete. */
|
||||||
ESP_GAP_SEARCH_DI_DISC_CMPL_EVT = 5, /* Discovery complete. */
|
ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT = 6, /*!< Search cancelled */
|
||||||
ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT = 6, /* Search cancelled */
|
|
||||||
} esp_gap_search_evt_t;
|
} esp_gap_search_evt_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -239,192 +240,189 @@ typedef union {
|
||||||
} scan_rst; /*!< Event parameter of ESP_GAP_BLE_SCAN_RESULT_EVT */
|
} scan_rst; /*!< Event parameter of ESP_GAP_BLE_SCAN_RESULT_EVT */
|
||||||
} esp_ble_gap_cb_param_t;
|
} esp_ble_gap_cb_param_t;
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_register_callback
|
||||||
** @function esp_ble_gap_register_callback
|
*
|
||||||
**
|
* @brief This function is called to occur gap event, such as scan result
|
||||||
** @brief This function is called to occur gap event, such as scan result
|
*
|
||||||
**
|
* @param[in] callback: callback function
|
||||||
** @param[in] callback: callback function
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
|
|
||||||
esp_err_t esp_ble_gap_register_callback(esp_profile_cb_t callback);
|
esp_err_t esp_ble_gap_register_callback(esp_profile_cb_t callback);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_config_adv_data
|
||||||
** @function esp_ble_gap_config_adv_data
|
*
|
||||||
**
|
* @brief This function is called to override the BTA default ADV parameters.
|
||||||
** @brief This function is called to override the BTA default ADV parameters.
|
*
|
||||||
**
|
* @param[in] adv_data: Pointer to User defined ADV data structure. This
|
||||||
** @param[in] adv_data: Pointer to User defined ADV data structure. This
|
* memory space can not be freed until callback of config_adv_data
|
||||||
** memory space can not be freed until callback of config_adv_data
|
* is received.
|
||||||
** is received.
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_config_adv_data (esp_ble_adv_data_t *adv_data);
|
esp_err_t esp_ble_gap_config_adv_data (esp_ble_adv_data_t *adv_data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_set_scan_params
|
||||||
** @function esp_ble_gap_set_scan_params
|
*
|
||||||
**
|
* @brief This function is called to set scan parameters
|
||||||
** @brief This function is called to set scan parameters
|
*
|
||||||
**
|
* @param[in] esp_ble_scan_params: Pointer to User defined scan_params data structure. This
|
||||||
** @param[in] esp_ble_scan_params: Pointer to User defined scan_params data structure. This
|
* memory space can not be freed until callback of set_scan_params
|
||||||
** memory space can not be freed until callback of set_scan_params
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_set_scan_params(esp_ble_scan_params_t *scan_params);
|
esp_err_t esp_ble_gap_set_scan_params(esp_ble_scan_params_t *scan_params);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_start_scanning
|
||||||
** @function esp_ble_gap_start_scanning
|
*
|
||||||
**
|
* @brief This procedure keep the device scanning the peer device which advertising on the air
|
||||||
** @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.
|
||||||
** @param[in] duration: Keeping the scanning time, the unit is second.
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_start_scanning(uint32_t duration);
|
esp_err_t esp_ble_gap_start_scanning(uint32_t duration);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_stop_scanning
|
||||||
** @function esp_ble_gap_stop_scanning
|
*
|
||||||
**
|
* @brief This function call to stop the device scanning the peer device which advertising on the air
|
||||||
** @brief This function call to stop the device scanning the peer device which advertising on the air
|
* @param void
|
||||||
** @param void
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_stop_scanning(void);
|
esp_err_t esp_ble_gap_stop_scanning(void);
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_start_advertising
|
||||||
** @function esp_ble_gap_start_advertising
|
*
|
||||||
**
|
* @brief This function is called to start advertising.
|
||||||
** @brief This function is called to start advertising.
|
*
|
||||||
**
|
* @param[in] esp_ble_adv_params_all_t: pointer to User defined adv_params data structure.
|
||||||
** @param[in] esp_ble_adv_params_all_t: pointer to User defined adv_params data structure.
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_start_advertising (esp_ble_adv_params_t *adv_params);
|
esp_err_t esp_ble_gap_start_advertising (esp_ble_adv_params_t *adv_params);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_gap_ble_stop_advertising
|
||||||
** @function esp_gap_ble_stop_advertising
|
*
|
||||||
**
|
* @brief This function is called to stop advertising.
|
||||||
** @brief This function is called to stop advertising.
|
*
|
||||||
**
|
* @param None
|
||||||
** @param None
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_stop_advertising(void);
|
esp_err_t esp_ble_gap_stop_advertising(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_update_conn_params
|
||||||
** @function esp_ble_update_conn_params
|
*
|
||||||
**
|
* @brief Update connection parameters, can only be used when connection is up.
|
||||||
** @brief Update connection parameters, can only be used when connection is up.
|
*
|
||||||
**
|
* @param[in] param - connection update parameters
|
||||||
** @param[in] param - connection update parameters
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_update_conn_params(esp_ble_conn_update_params_t *params);
|
esp_err_t esp_ble_gap_update_conn_params(esp_ble_conn_update_params_t *params);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_set_pkt_data_len
|
||||||
** @function esp_ble_gap_set_pkt_data_len
|
*
|
||||||
**
|
* @brief This function is to set maximum LE data packet size
|
||||||
** @brief This function is to set maximum LE data packet size
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_set_pkt_data_len(esp_bd_addr_t remote_device, uint16_t tx_data_length);
|
esp_err_t esp_ble_gap_set_pkt_data_len(esp_bd_addr_t remote_device, uint16_t tx_data_length);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_set_rand_addr
|
||||||
** @function esp_ble_gap_set_rand_addr
|
*
|
||||||
**
|
* @brief This function set the random address for the application
|
||||||
** @brief This function set the random address for the application
|
*
|
||||||
**
|
* @param[in] rand_addr: the random address which should be setting
|
||||||
** @param[in] rand_addr: the random address which should be setting
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
**
|
*/
|
||||||
*******************************************************************************/
|
|
||||||
esp_err_t esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr);
|
esp_err_t esp_ble_gap_set_rand_addr(esp_bd_addr_t rand_addr);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_config_local_privacy
|
||||||
** @function esp_ble_gap_config_local_privacy
|
*
|
||||||
**
|
* @brief Enable/disable privacy on the local device
|
||||||
** @brief Enable/disable privacy on the local device
|
*
|
||||||
**
|
* @param[in] privacy_enable - enable/disable privacy on remote device.
|
||||||
** @param[in] privacy_enable - enable/disable privacy on remote device.
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_config_local_privacy (bool privacy_enable);
|
esp_err_t esp_ble_gap_config_local_privacy (bool privacy_enable);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_gap_set_device_name
|
||||||
** @function esp_ble_gap_set_device_name
|
*
|
||||||
**
|
* @brief Set device name to the local device
|
||||||
** @brief Set device name to the local device
|
*
|
||||||
**
|
* @param[in] name - device name.
|
||||||
** @param[in] name - device name.
|
*
|
||||||
**
|
* @return - ESP_OK : success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other : failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gap_set_device_name(const char *name);
|
esp_err_t esp_ble_gap_set_device_name(const char *name);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
* @function esp_ble_resolve_adv_data
|
||||||
** @function esp_ble_resolve_adv_data
|
*
|
||||||
**
|
* @brief This function is called to get ADV data for a specific type.
|
||||||
** @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] adv_data - pointer of ADV data which to be resolved
|
* @param[in] type - finding ADV data type
|
||||||
** @param[in] type - finding ADV data type
|
* @param[out] length - return the length of ADV data not including type
|
||||||
** @param[out] length - return the length of ADV data not including type
|
*
|
||||||
**
|
* @return pointer of ADV data
|
||||||
** @return pointer of ADV data
|
*
|
||||||
**
|
*/
|
||||||
*******************************************************************************/
|
|
||||||
uint8_t *esp_ble_resolve_adv_data(uint8_t *adv_data, uint8_t type, uint8_t *p_length);
|
uint8_t *esp_ble_resolve_adv_data(uint8_t *adv_data, uint8_t type, uint8_t *p_length);
|
||||||
|
|
||||||
#endif /* __ESP_GAP_BLE_API_H__ */
|
#endif /* __ESP_GAP_BLE_API_H__ */
|
||||||
|
|
|
@ -17,9 +17,11 @@
|
||||||
|
|
||||||
#include "esp_bt_defs.h"
|
#include "esp_bt_defs.h"
|
||||||
|
|
||||||
/* attribute request data from the client */
|
/// Attribute write data type from the client
|
||||||
#define ESP_GATT_PREP_WRITE_CANCEL 0x00
|
typedef enum {
|
||||||
#define ESP_GATT_PREP_WRITE_EXEC 0x01
|
ESP_GATT_PREP_WRITE_CANCEL = 0x00, /*!< Prepare write cancel */
|
||||||
|
ESP_GATT_PREP_WRITE_EXEC = 0x01, /*!< Prepare write execute */
|
||||||
|
} esp_gatt_prep_write_type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief GATT success code and error codes
|
* @brief GATT success code and error codes
|
||||||
|
@ -144,6 +146,7 @@ typedef enum {
|
||||||
ESP_GATT_CHAR_PROP_BIT_EXT_PROP = (1 << 7), /* 0x80 */
|
ESP_GATT_CHAR_PROP_BIT_EXT_PROP = (1 << 7), /* 0x80 */
|
||||||
} esp_gatt_char_prop_t;
|
} esp_gatt_char_prop_t;
|
||||||
|
|
||||||
|
/// GATT maximum attribute length
|
||||||
#define ESP_GATT_MAX_ATTR_LEN 600 //as same as GATT_MAX_ATTR_LEN
|
#define ESP_GATT_MAX_ATTR_LEN 600 //as same as GATT_MAX_ATTR_LEN
|
||||||
|
|
||||||
/// Gatt attribute value
|
/// Gatt attribute value
|
||||||
|
@ -169,6 +172,6 @@ typedef enum {
|
||||||
ESP_GATT_WRITE_TYPE_RSP, /*!< Gatt write attribute need remote response */
|
ESP_GATT_WRITE_TYPE_RSP, /*!< Gatt write attribute need remote response */
|
||||||
} esp_gatt_write_type_t;
|
} esp_gatt_write_type_t;
|
||||||
|
|
||||||
typedef uint32_t esp_gatt_if_t; /* Gatt interface type, different application on GATT client use different gatt_if */
|
typedef uint32_t esp_gatt_if_t; /*!< Gatt interface type, different application on GATT client use different gatt_if */
|
||||||
|
|
||||||
#endif /* __ESP_GATT_DEFS_H__ */
|
#endif /* __ESP_GATT_DEFS_H__ */
|
||||||
|
|
631
components/bt/bluedroid/api/include/esp_gattc_api.h
Normal file → Executable file
631
components/bt/bluedroid/api/include/esp_gattc_api.h
Normal file → Executable file
|
@ -20,50 +20,53 @@
|
||||||
#include "esp_gatt_defs.h"
|
#include "esp_gatt_defs.h"
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
|
|
||||||
/* Client callback function events */
|
/// GATT Client callback function events
|
||||||
#define ESP_GATTC_REG_EVT 0 /* GATT client is registered. */
|
typedef enum {
|
||||||
#define ESP_GATTC_UNREG_EVT 1 /* GATT client unregistered event */
|
ESP_GATTC_REG_EVT = 0, /*!> when GATT client is registered */
|
||||||
#define ESP_GATTC_OPEN_EVT 2 /* GATTC open request status event */
|
ESP_GATTC_UNREG_EVT, /*!> when GATT client is unregistered */
|
||||||
#define ESP_GATTC_READ_CHAR_EVT 3 /* GATT read characteristic event */
|
ESP_GATTC_OPEN_EVT, /*!> when GATT connection is set up */
|
||||||
#define ESP_GATTC_WRITE_CHAR_EVT 4 /* GATT write characteristic or char descriptor event */
|
ESP_GATTC_READ_CHAR_EVT, /*!> when GATT characteristic is read */
|
||||||
#define ESP_GATTC_CLOSE_EVT 5 /* GATTC close request status event */
|
ESP_GATTC_WRITE_CHAR_EVT, /*!> when GATT characteristic write operation completes */
|
||||||
#define ESP_GATTC_SEARCH_CMPL_EVT 6 /* GATT discovery complete event */
|
ESP_GATTC_CLOSE_EVT, /*!> when GATT connection is closed */
|
||||||
#define ESP_GATTC_SEARCH_RES_EVT 7 /* GATT discovery result event */
|
ESP_GATTC_SEARCH_CMPL_EVT, /*!> when GATT service discovery is completed */
|
||||||
#define ESP_GATTC_READ_DESCR_EVT 8 /* GATT read characteristic descriptor event */
|
ESP_GATTC_SEARCH_RES_EVT, /*!> when GATT service discovery result is got */
|
||||||
#define ESP_GATTC_WRITE_DESCR_EVT 9 /* GATT write characteristic descriptor event */
|
ESP_GATTC_READ_DESCR_EVT, /*!> when GATT characteristic descriptor read completes */
|
||||||
#define ESP_GATTC_NOTIFY_EVT 10 /* GATT attribute notification event */
|
ESP_GATTC_WRITE_DESCR_EVT, /*!> when GATT characteristic descriptor write completes */
|
||||||
#define ESP_GATTC_PREP_WRITE_EVT 11 /* GATT prepare write event */
|
ESP_GATTC_NOTIFY_EVT, /*!> when GATT notification or indication arrives */
|
||||||
#define ESP_GATTC_EXEC_EVT 12 /* execute write complete event */
|
ESP_GATTC_PREP_WRITE_EVT, /*!> when GATT prepare-write operation conpletes */
|
||||||
#define ESP_GATTC_ACL_EVT 13 /* ACL up event */
|
ESP_GATTC_EXEC_EVT, /*!> when write execution completes */
|
||||||
#define ESP_GATTC_CANCEL_OPEN_EVT 14 /* cancel open event */
|
ESP_GATTC_ACL_EVT, /*!> when ACL connection is up */
|
||||||
#define ESP_GATTC_SRVC_CHG_EVT 15 /* service change event */
|
ESP_GATTC_CANCEL_OPEN_EVT, /*!> when GATT client ongoing connection is cancelled */
|
||||||
#define ESP_GATTC_ENC_CMPL_CB_EVT 17 /* encryption complete callback event */
|
ESP_GATTC_SRVC_CHG_EVT, /*!> when "service changed" occurs */
|
||||||
#define ESP_GATTC_CFG_MTU_EVT 18 /* configure MTU complete event */
|
ESP_GATTC_ENC_CMPL_CB_EVT, /*!> when encryption procedure completes */
|
||||||
#define ESP_GATTC_ADV_DATA_EVT 19 /* ADV data event */
|
ESP_GATTC_CFG_MTU_EVT, /*!> when configuration of MTU completes */
|
||||||
#define ESP_GATTC_MULT_ADV_ENB_EVT 20 /* Enable Multi ADV event */
|
ESP_GATTC_ADV_DATA_EVT, /*!> when advertising of data */
|
||||||
#define ESP_GATTC_MULT_ADV_UPD_EVT 21 /* Update parameter event */
|
ESP_GATTC_MULT_ADV_ENB_EVT, /*!> when multi-advertising is enabled */
|
||||||
#define ESP_GATTC_MULT_ADV_DATA_EVT 22 /* Multi ADV data event */
|
ESP_GATTC_MULT_ADV_UPD_EVT, /*!> when multi-advertising parameters are updated */
|
||||||
#define ESP_GATTC_MULT_ADV_DIS_EVT 23 /* Disable Multi ADV event */
|
ESP_GATTC_MULT_ADV_DATA_EVT, /*!> when multi-advertising data arrives */
|
||||||
#define ESP_GATTC_CONGEST_EVT 24 /* Congestion event */
|
ESP_GATTC_MULT_ADV_DIS_EVT, /*!> when multi-advertising is disabled */
|
||||||
#define ESP_GATTC_BTH_SCAN_ENB_EVT 25 /* Enable batch scan event */
|
ESP_GATTC_CONGEST_EVT, /*!> when GATT connection congestion comes */
|
||||||
#define ESP_GATTC_BTH_SCAN_CFG_EVT 26 /* Config storage event */
|
ESP_GATTC_BTH_SCAN_ENB_EVT, /*!> when batch scan is enabled */
|
||||||
#define ESP_GATTC_BTH_SCAN_RD_EVT 27 /* Batch scan reports read event */
|
ESP_GATTC_BTH_SCAN_CFG_EVT, /*!> when batch scan storage is configured */
|
||||||
#define ESP_GATTC_BTH_SCAN_THR_EVT 28 /* Batch scan threshold event */
|
ESP_GATTC_BTH_SCAN_RD_EVT, /*!> when Batch scan read event is reported */
|
||||||
#define ESP_GATTC_BTH_SCAN_PARAM_EVT 29 /* Batch scan param event */
|
ESP_GATTC_BTH_SCAN_THR_EVT, /*!> when Batch scan threshold is set */
|
||||||
#define ESP_GATTC_BTH_SCAN_DIS_EVT 30 /* Disable batch scan event */
|
ESP_GATTC_BTH_SCAN_PARAM_EVT, /*!> when Batch scan parameters are set */
|
||||||
#define ESP_GATTC_SCAN_FLT_CFG_EVT 31 /* Scan filter config event */
|
ESP_GATTC_BTH_SCAN_DIS_EVT, /*!> when Batch scan is disabled */
|
||||||
#define ESP_GATTC_SCAN_FLT_PARAM_EVT 32 /* Param filter event */
|
ESP_GATTC_SCAN_FLT_CFG_EVT, /*!> when Scan filter configuration completes */
|
||||||
#define ESP_GATTC_SCAN_FLT_STATUS_EVT 33 /* Filter status event */
|
ESP_GATTC_SCAN_FLT_PARAM_EVT, /*!> when Scan filter parameters are set */
|
||||||
#define ESP_GATTC_ADV_VSC_EVT 34 /* ADV VSC event */
|
ESP_GATTC_SCAN_FLT_STATUS_EVT, /*!> when Scan filter status is reported */
|
||||||
|
ESP_GATTC_ADV_VSC_EVT, /*!> when ADV VSC event is reported*/
|
||||||
#define ESP_GATTC_GET_CHAR_EVT 35 /* get characteristic event */
|
ESP_GATTC_GET_CHAR_EVT, /*!> when characteristic is got from GATT server */
|
||||||
#define ESP_GATTC_GET_DESCR_EVT 36 /* get characteristic descriptor event */
|
ESP_GATTC_GET_DESCR_EVT, /*!> when charcteristic descriptor is got from GATT server */
|
||||||
#define ESP_GATTC_GET_INCL_SRVC_EVT 37 /* get included service event */
|
ESP_GATTC_GET_INCL_SRVC_EVT, /*!> when included service is got from GATT server */
|
||||||
#define ESP_GATTC_REG_FOR_NOTIFY_EVT 38 /* register for notification event */
|
ESP_GATTC_REG_FOR_NOTIFY_EVT, /*!> when registration for notification of a service completes */
|
||||||
#define ESP_GATTC_UNREG_FOR_NOTIFY_EVT 39 /* unregister for notification event */
|
ESP_GATTC_UNREG_FOR_NOTIFY_EVT /*!> when unregistration for notification of a service completes */
|
||||||
|
} esp_gattc_cb_event_t;
|
||||||
|
|
||||||
|
/// Maximum Transmission Unit used in GATT
|
||||||
#define ESP_GATT_DEF_BLE_MTU_SIZE 23
|
#define ESP_GATT_DEF_BLE_MTU_SIZE 23
|
||||||
|
|
||||||
|
/// Maximum Transmission Unit allowed in GATT
|
||||||
#define ESP_GATT_MAX_MTU_SIZE 517
|
#define ESP_GATT_MAX_MTU_SIZE 517
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -242,215 +245,222 @@ typedef union {
|
||||||
} esp_ble_gattc_cb_param_t; /*!< GATT client callback parameter union type */
|
} esp_ble_gattc_cb_param_t; /*!< GATT client callback parameter union type */
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_app_register_callback
|
* @function esp_ble_gattc_app_register_callback
|
||||||
**
|
*
|
||||||
** @brief This function is called to register application callbacks
|
* @brief This function is called to register application callbacks
|
||||||
** with GATTC module.
|
* with GATTC module.
|
||||||
**
|
*
|
||||||
** @param[in] callback : pointer to the application callback function.
|
* @param[in] callback : pointer to the application callback function.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_register_callback(esp_profile_cb_t callback);
|
esp_err_t esp_ble_gattc_register_callback(esp_profile_cb_t callback);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_app_register
|
||||||
** @function esp_ble_gattc_app_register
|
*
|
||||||
**
|
* @brief This function is called to register application callbacks
|
||||||
** @brief This function is called to register application callbacks
|
* with GATTC module.
|
||||||
** with GATTC module.
|
*
|
||||||
**
|
* @param[in] app_id : Application Identify (UUID), for different application
|
||||||
** @param[in] app_id : Application Identify (UUID), for different application
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other: failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gattc_app_register(uint16_t app_id);
|
esp_err_t esp_ble_gattc_app_register(uint16_t app_id);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_app_unregister
|
* @function esp_ble_gattc_app_unregister
|
||||||
**
|
*
|
||||||
** @brief This function is called to unregister an application
|
* @brief This function is called to unregister an application
|
||||||
** from GATTC module.
|
* from GATTC module.
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if : app identifier.
|
* @param[in] gatt_if : app identifier.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_app_unregister(esp_gatt_if_t gatt_if);
|
esp_err_t esp_ble_gattc_app_unregister(esp_gatt_if_t gatt_if);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_conn
|
* @function esp_ble_gattc_conn
|
||||||
**
|
*
|
||||||
** @brief Open a direct connection or add a background auto connection
|
* @brief Open a direct connection or add a background auto connection
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if: application identity.
|
* @param[in] gatt_if: application identity.
|
||||||
** @param[in] remote_bda: remote device bluetooth device address.
|
* @param[in] remote_bda: remote device bluetooth device address.
|
||||||
** @param[in] is_direct: direct connection or background auto connection
|
* @param[in] is_direct: direct connection or background auto connection
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_open(esp_gatt_if_t gatt_if, esp_bd_addr_t remote_bda, bool is_direct);
|
esp_err_t esp_ble_gattc_open(esp_gatt_if_t gatt_if, esp_bd_addr_t remote_bda, bool is_direct);
|
||||||
|
|
||||||
/*******************************************************************************
|
|
||||||
**
|
/**
|
||||||
** @function esp_ble_gattc_close
|
*
|
||||||
**
|
* @function esp_ble_gattc_close
|
||||||
** @brief Close a connection to a GATT server.
|
*
|
||||||
**
|
* @brief Close a connection to a GATT server.
|
||||||
** @param[in] conn_id: connection ID to be closed.
|
*
|
||||||
**
|
* @param[in] conn_id: connection ID to be closed.
|
||||||
** @return ESP_OK - success, other - failed
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
*******************************************************************************/
|
* - other: failed
|
||||||
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_close (uint16_t conn_id);
|
esp_err_t esp_ble_gattc_close (uint16_t conn_id);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_config_mtu
|
||||||
** @function esp_ble_gattc_config_mtu
|
*
|
||||||
**
|
* @brief Configure the MTU size in the GATT channel. This can be done
|
||||||
** @brief Configure the MTU size in the GATT channel. This can be done
|
* only once per connection.
|
||||||
** only once per connection.
|
*
|
||||||
**
|
* @param[in] conn_id: connection ID.
|
||||||
** @param[in] conn_id: connection ID.
|
* mtu: desired MTU size to use.
|
||||||
** mtu: desired MTU size to use.
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other: failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gattc_config_mtu (uint16_t conn_id, uint16_t mtu);
|
esp_err_t esp_ble_gattc_config_mtu (uint16_t conn_id, uint16_t mtu);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_search_service
|
* @function esp_ble_gattc_search_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to request a GATT service discovery
|
* @brief This function is called to request a GATT service discovery
|
||||||
** on a GATT server. This function report service search result
|
* on a GATT server. This function report service search result
|
||||||
** by a callback event, and followed by a service search complete
|
* by a callback event, and followed by a service search complete
|
||||||
** event.
|
* event.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id: connection ID.
|
* @param[in] conn_id: connection ID.
|
||||||
** @param[in] filter_uuid: a UUID of the service application is interested in.
|
* @param[in] filter_uuid: a UUID of the service application is interested in.
|
||||||
** If Null, discover for all services.
|
* If Null, discover for all services.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_search_service(uint16_t conn_id, esp_bt_uuid_t *filter_uuid);
|
esp_err_t esp_ble_gattc_search_service(uint16_t conn_id, esp_bt_uuid_t *filter_uuid);
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_get_characteristic
|
* @function esp_ble_gattc_get_characteristic
|
||||||
**
|
*
|
||||||
** @brief This function is called to find the first characteristic of the
|
* @brief This function is called to find the first characteristic of the
|
||||||
** service on the given server.
|
* service on the given server.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id: connection ID which identify the server.
|
* @param[in] conn_id: connection ID which identify the server.
|
||||||
**
|
*
|
||||||
** @param[in] srvc_id: service ID
|
* @param[in] srvc_id: service ID
|
||||||
**
|
*
|
||||||
** @param[in] start_char_id: the start characteristic ID
|
* @param[in] start_char_id: the start characteristic ID
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*****************************************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_get_characteristic(uint16_t conn_id,
|
esp_err_t esp_ble_gattc_get_characteristic(uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id, esp_gatt_id_t *start_char_id);
|
esp_gatt_srvc_id_t *srvc_id, esp_gatt_id_t *start_char_id);
|
||||||
|
|
||||||
/****************************************************************************************************
|
|
||||||
**
|
/**
|
||||||
** @function esp_ble_gattc_get_descriptor
|
*
|
||||||
**
|
* @function esp_ble_gattc_get_descriptor
|
||||||
** @brief This function is called to find the descriptor of the
|
*
|
||||||
** service on the given server.
|
* @brief This function is called to find the descriptor of the
|
||||||
**
|
* service on the given server.
|
||||||
** @param[in] conn_id: connection ID which identify the server.
|
*
|
||||||
** @param[in] srvc_id: the service ID of which the characteristic is belonged to.
|
* @param[in] conn_id: connection ID which identify the server.
|
||||||
** @param[in] char_id: Characteristic ID, if NULL find the first available
|
* @param[in] srvc_id: the service ID of which the characteristic is belonged to.
|
||||||
** characteristic.
|
* @param[in] char_id: Characteristic ID, if NULL find the first available
|
||||||
** @param[in] start_descr_id: the start descriptor id
|
* characteristic.
|
||||||
**
|
* @param[in] start_descr_id: the start descriptor id
|
||||||
** @return ESP_OK - success, other - failed
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
*****************************************************************************************************/
|
* - other: failed
|
||||||
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_get_descriptor(uint16_t conn_id,
|
esp_err_t esp_ble_gattc_get_descriptor(uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id, esp_gatt_id_t *char_id,
|
esp_gatt_srvc_id_t *srvc_id, esp_gatt_id_t *char_id,
|
||||||
esp_gatt_id_t *start_descr_id);
|
esp_gatt_id_t *start_descr_id);
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_get_include_service
|
* @function esp_ble_gattc_get_include_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to find the first characteristic of the
|
* @brief This function is called to find the first characteristic of the
|
||||||
** service on the given server.
|
* service on the given server.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id: connection ID which identify the server.
|
* @param[in] conn_id: connection ID which identify the server.
|
||||||
** @param[in] srvc_id: the service ID of which the characteristic is belonged to.
|
* @param[in] srvc_id: the service ID of which the characteristic is belonged to.
|
||||||
** @param[in] start_incl_srvc_id: the start include service id
|
* @param[in] start_incl_srvc_id: the start include service id
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*****************************************************************************************************/
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
esp_err_t esp_ble_gattc_get_included_service(uint16_t conn_id,
|
esp_err_t esp_ble_gattc_get_included_service(uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id, esp_gatt_srvc_id_t *start_incl_srvc_id);
|
esp_gatt_srvc_id_t *srvc_id, esp_gatt_srvc_id_t *start_incl_srvc_id);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_read_char
|
||||||
** @function esp_ble_gattc_read_char
|
*
|
||||||
**
|
* @brief This function is called to read a service's characteristics of
|
||||||
** @brief This function is called to read a service's characteristics of
|
* the given characteriistic ID
|
||||||
** the given characteriistic ID
|
*
|
||||||
**
|
* @param[in] conn_id : connection ID.
|
||||||
** @param[in] conn_id : connection ID.
|
* @param[in] srvc_id : service ID.
|
||||||
** @param[in] srvc_id : service ID.
|
* @param[in] char_id : characteristic ID to read.
|
||||||
** @param[in] char_id : characteristic ID to read.
|
* @param[in] auth_req : authenticate request type
|
||||||
** @param[in] auth_req : authenticate request type
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other: failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gattc_read_char (uint16_t conn_id,
|
esp_err_t esp_ble_gattc_read_char (uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id,
|
esp_gatt_id_t *char_id,
|
||||||
esp_gatt_auth_req_t auth_req);
|
esp_gatt_auth_req_t auth_req);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_read_char_descr
|
||||||
** @function esp_ble_gattc_read_char_descr
|
*
|
||||||
**
|
* @brief This function is called to read a characteristics descriptor.
|
||||||
** @brief This function is called to read a characteristics descriptor.
|
*
|
||||||
**
|
* @param[in] conn_id : connection ID.
|
||||||
** @param[in] conn_id : connection ID.
|
* @param[in] srvc_id : service ID.
|
||||||
** @param[in] srvc_id : service ID.
|
* @param[in] descr_id : characteristic descriptor ID to read.
|
||||||
** @param[in] descr_id : characteristic descriptor ID to read.
|
* @param[in] auth_req : authenticate request type
|
||||||
** @param[in] auth_req : authenticate request type
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other: failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gattc_read_char_descr (uint16_t conn_id,
|
esp_err_t esp_ble_gattc_read_char_descr (uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id,
|
esp_gatt_id_t *char_id,
|
||||||
|
@ -458,23 +468,25 @@ esp_err_t esp_ble_gattc_read_char_descr (uint16_t conn_id,
|
||||||
esp_gatt_auth_req_t auth_req);
|
esp_gatt_auth_req_t auth_req);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_write_char
|
* @function esp_ble_gattc_write_char
|
||||||
**
|
*
|
||||||
** @brief This function is called to write characteristic value.
|
* @brief This function is called to write characteristic value.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id : connection ID.
|
* @param[in] conn_id : connection ID.
|
||||||
** @param[in] srvc_id : service ID.
|
* @param[in] srvc_id : service ID.
|
||||||
** @param[in] char_id : characteristic ID to write.
|
* @param[in] char_id : characteristic ID to write.
|
||||||
** @param[in] value_len: length of the value to be written.
|
* @param[in] value_len: length of the value to be written.
|
||||||
** @param[in] value : the value to be written.
|
* @param[in] value : the value to be written.
|
||||||
** @param[in] write_type : the type of attribute write operation.
|
* @param[in] write_type : the type of attribute write operation.
|
||||||
** @param[in] auth_req : authentication request.
|
* @param[in] auth_req : authentication request.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
*******************************************************************************/
|
* - other: failed
|
||||||
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_write_char( uint16_t conn_id,
|
esp_err_t esp_ble_gattc_write_char( uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id,
|
esp_gatt_id_t *char_id,
|
||||||
|
@ -484,25 +496,26 @@ esp_err_t esp_ble_gattc_write_char( uint16_t conn_id,
|
||||||
esp_gatt_auth_req_t auth_req);
|
esp_gatt_auth_req_t auth_req);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_write_char_descr
|
* @function esp_ble_gattc_write_char_descr
|
||||||
**
|
*
|
||||||
** @brief This function is called to write characteristic descriptor value.
|
* @brief This function is called to write characteristic descriptor value.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id : connection ID
|
* @param[in] conn_id : connection ID
|
||||||
** @param[in] srvc_id : service ID.
|
* @param[in] srvc_id : service ID.
|
||||||
** @param[in] char_id : characteristic ID.
|
* @param[in] char_id : characteristic ID.
|
||||||
** @param[in] descr_id : characteristic descriptor ID to write.
|
* @param[in] descr_id : characteristic descriptor ID to write.
|
||||||
** @param[in] value_len: length of the value to be written.
|
* @param[in] value_len: length of the value to be written.
|
||||||
** @param[in] value : the value to be written.
|
* @param[in] value : the value to be written.
|
||||||
** @param[in] write_type : the type of attribute write operation.
|
* @param[in] write_type : the type of attribute write operation.
|
||||||
** @param[in] auth_req : authentication request.
|
* @param[in] auth_req : authentication request.
|
||||||
**
|
*
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_write_char_descr (uint16_t conn_id,
|
esp_err_t esp_ble_gattc_write_char_descr (uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id,
|
esp_gatt_id_t *char_id,
|
||||||
|
@ -513,23 +526,23 @@ esp_err_t esp_ble_gattc_write_char_descr (uint16_t conn_id,
|
||||||
esp_gatt_auth_req_t auth_req);
|
esp_gatt_auth_req_t auth_req);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_prepare_write
|
||||||
** @function esp_ble_gattc_prepare_write
|
*
|
||||||
**
|
* @brief This function is called to prepare write a characteristic value.
|
||||||
** @brief This function is called to prepare write a characteristic value.
|
*
|
||||||
**
|
* @param[in] conn_id : connection ID.
|
||||||
** @param[in] conn_id : connection ID.
|
* @param[in] char_id : GATT characteristic ID of the service.
|
||||||
** @param[in] char_id : GATT characteristic ID of the service.
|
* @param[in] offset : offset of the write value.
|
||||||
** @param[in] offset : offset of the write value.
|
* @param[in] value_len: length of the value to be written.
|
||||||
** @param[in] value_len: length of the value to be written.
|
* @param[in] value : the value to be written.
|
||||||
** @param[in] value : the value to be written.
|
* @param[in] auth_req : authentication request.
|
||||||
** @param[in] auth_req : authentication request.
|
*
|
||||||
**
|
* @return - ESP_OK: success
|
||||||
** @return ESP_OK - success, other - failed
|
* - other: failed
|
||||||
**
|
*
|
||||||
*******************************************************************************/
|
*/
|
||||||
esp_err_t esp_ble_gattc_prepare_write(uint16_t conn_id,
|
esp_err_t esp_ble_gattc_prepare_write(uint16_t conn_id,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id,
|
esp_gatt_id_t *char_id,
|
||||||
|
@ -538,56 +551,60 @@ esp_err_t esp_ble_gattc_prepare_write(uint16_t conn_id,
|
||||||
uint8_t *value,
|
uint8_t *value,
|
||||||
esp_gatt_auth_req_t auth_req);
|
esp_gatt_auth_req_t auth_req);
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_execute_write
|
* @function esp_ble_gattc_execute_write
|
||||||
**
|
*
|
||||||
** @brief This function is called to execute write a prepare write sequence.
|
* @brief This function is called to execute write a prepare write sequence.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id : connection ID.
|
* @param[in] conn_id : connection ID.
|
||||||
** @param[in] is_execute : execute or cancel.
|
* @param[in] is_execute : execute or cancel.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK: success
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gattc_execute_write (uint16_t conn_id, bool is_execute);
|
esp_err_t esp_ble_gattc_execute_write (uint16_t conn_id, bool is_execute);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gattc_register_for_notify
|
* @function esp_ble_gattc_register_for_notify
|
||||||
**
|
*
|
||||||
** @brief This function is called to register for notification of a service.
|
* @brief This function is called to register for notification of a service.
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if : gatt interface id.
|
* @param[in] gatt_if : gatt interface id.
|
||||||
** @param[in] bda : target GATT server.
|
* @param[in] bda : target GATT server.
|
||||||
** @param[in] srvc_id : pointer to GATT service ID.
|
* @param[in] srvc_id : pointer to GATT service ID.
|
||||||
** @param[in] char_id : pointer to GATT characteristic ID.
|
* @param[in] char_id : pointer to GATT characteristic ID.
|
||||||
**
|
*
|
||||||
** @return OK if registration succeed, otherwise failed.
|
*
|
||||||
**
|
* @return - ESP_OK: registration succeeds
|
||||||
*******************************************************************************/
|
* - other: failed
|
||||||
|
*
|
||||||
|
*/
|
||||||
esp_gatt_status_t esp_ble_gattc_register_for_notify (esp_gatt_if_t gatt_if,
|
esp_gatt_status_t esp_ble_gattc_register_for_notify (esp_gatt_if_t gatt_if,
|
||||||
esp_bd_addr_t server_bda,
|
esp_bd_addr_t server_bda,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
esp_gatt_id_t *char_id);
|
esp_gatt_id_t *char_id);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
/*******************************************************************************
|
*
|
||||||
**
|
* @function esp_ble_gattc_unregister_ntf
|
||||||
** @function esp_ble_gattc_unregister_ntf
|
*
|
||||||
**
|
* @brief This function is called to de-register for notification of a service.
|
||||||
** @brief This function is called to de-register for notification of a service.
|
*
|
||||||
**
|
* @param[in] gatt_if : gatt interface id.
|
||||||
** @param[in] gatt_if : gatt interface id.
|
* @param[in] bda : target GATT server.
|
||||||
** @param[in] bda : target GATT server.
|
* @param[in] srvc_id : pointer to GATT service ID.
|
||||||
** @param[in] srvc_id : pointer to GATT service ID.
|
* @param[in] char_id : pointer to GATT characteristic ID.
|
||||||
** @param[in] char_id : pointer to GATT characteristic ID.
|
*
|
||||||
**
|
*
|
||||||
** @return OK if unregister succeed, otherwise failed.
|
* @return - ESP_OK: unregister succeeds
|
||||||
**
|
* - other: failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_gatt_status_t esp_ble_gattc_unregister_for_notify (esp_gatt_if_t gatt_if,
|
esp_gatt_status_t esp_ble_gattc_unregister_for_notify (esp_gatt_if_t gatt_if,
|
||||||
esp_bd_addr_t server_bda,
|
esp_bd_addr_t server_bda,
|
||||||
esp_gatt_srvc_id_t *srvc_id,
|
esp_gatt_srvc_id_t *srvc_id,
|
||||||
|
|
|
@ -21,31 +21,32 @@
|
||||||
#include "bta_gatt_api.h"
|
#include "bta_gatt_api.h"
|
||||||
#include "esp_err.h"
|
#include "esp_err.h"
|
||||||
|
|
||||||
/* GATT Server Data Structure */
|
/// GATT Server callback function events
|
||||||
/* Server callback function events */
|
typedef enum {
|
||||||
#define ESP_GATTS_REG_EVT 0
|
ESP_GATTS_REG_EVT = 0, /*!< When register application id, the event comes */
|
||||||
#define ESP_GATTS_READ_EVT 1
|
ESP_GATTS_READ_EVT = 1, /*!< When gatt client request read operation, the event comes */
|
||||||
#define ESP_GATTS_WRITE_EVT 2
|
ESP_GATTS_WRITE_EVT = 2, /*!< When gatt client request write operation, the event comes */
|
||||||
#define ESP_GATTS_EXEC_WRITE_EVT 3
|
ESP_GATTS_EXEC_WRITE_EVT = 3, /*!< When gatt client request execute write, the event comes */
|
||||||
#define ESP_GATTS_MTU_EVT 4
|
ESP_GATTS_MTU_EVT = 4, /*!< When set mtu complete, the event comes */
|
||||||
#define ESP_GATTS_CONF_EVT 5
|
ESP_GATTS_CONF_EVT = 5, /*!< When receive confirm, the event comes */
|
||||||
#define ESP_GATTS_UNREG_EVT 6
|
ESP_GATTS_UNREG_EVT = 6, /*!< When unregister application id, the event comes */
|
||||||
#define ESP_GATTS_CREATE_EVT 7
|
ESP_GATTS_CREATE_EVT = 7, /*!< When create service complete, the event comes */
|
||||||
#define ESP_GATTS_ADD_INCL_SRVC_EVT 8
|
ESP_GATTS_ADD_INCL_SRVC_EVT = 8, /*!< When add included service complete, the event comes */
|
||||||
#define ESP_GATTS_ADD_CHAR_EVT 9
|
ESP_GATTS_ADD_CHAR_EVT = 9, /*!< When add characteristic complete, the event comes */
|
||||||
#define ESP_GATTS_ADD_CHAR_DESCR_EVT 10
|
ESP_GATTS_ADD_CHAR_DESCR_EVT = 10, /*!< When add descriptor complete, the event comes */
|
||||||
#define ESP_GATTS_DELETE_EVT 11
|
ESP_GATTS_DELETE_EVT = 11, /*!< When delete service complete, the event comes */
|
||||||
#define ESP_GATTS_START_EVT 12
|
ESP_GATTS_START_EVT = 12, /*!< When start service complete, the event comes */
|
||||||
#define ESP_GATTS_STOP_EVT 13
|
ESP_GATTS_STOP_EVT = 13, /*!< When stop service complete, the event comes */
|
||||||
#define ESP_GATTS_CONNECT_EVT 14
|
ESP_GATTS_CONNECT_EVT = 14, /*!< When gatt client connect, the event comes */
|
||||||
#define ESP_GATTS_DISCONNECT_EVT 15
|
ESP_GATTS_DISCONNECT_EVT = 15, /*!< When gatt client disconnect, the event comes */
|
||||||
#define ESP_GATTS_OPEN_EVT 16
|
ESP_GATTS_OPEN_EVT = 16, /*!< When connect to peer, the event comes */
|
||||||
#define ESP_GATTS_CANCEL_OPEN_EVT 17
|
ESP_GATTS_CANCEL_OPEN_EVT = 17, /*!< When disconnect from peer, the event comes */
|
||||||
#define ESP_GATTS_CLOSE_EVT 18
|
ESP_GATTS_CLOSE_EVT = 18, /*!< When gatt server close, the event comes */
|
||||||
#define ESP_GATTS_LISTEN_EVT 19
|
ESP_GATTS_LISTEN_EVT = 19, /*!< When gatt listen to be connected the event comes */
|
||||||
#define ESP_GATTS_CONGEST_EVT 20
|
ESP_GATTS_CONGEST_EVT = 20, /*!< When congest happen, the event comes */
|
||||||
/* following is extra event */
|
/* following is extra event */
|
||||||
#define ESP_GATTS_RESPONSE_EVT 21
|
ESP_GATTS_RESPONSE_EVT = 21, /*!< When gatt send response complete, the event comes */
|
||||||
|
} esp_gatts_cb_event_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gatt server callback parameters union
|
* @brief Gatt server callback parameters union
|
||||||
|
@ -237,243 +238,255 @@ typedef union {
|
||||||
} rsp; /*!< Gatt server callback param of ESP_GATTS_RESPONSE_EVT */
|
} rsp; /*!< Gatt server callback param of ESP_GATTS_RESPONSE_EVT */
|
||||||
} esp_ble_gatts_cb_param_t;
|
} esp_ble_gatts_cb_param_t;
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_register_callback
|
* @function esp_ble_gatts_register_callback
|
||||||
**
|
*
|
||||||
** @brief This function is called to register application callbacks
|
* @brief This function is called to register application callbacks
|
||||||
** with BTA GATTS module.
|
* with BTA GATTS module.
|
||||||
**
|
*
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_register_callback(esp_profile_cb_t callback);
|
esp_err_t esp_ble_gatts_register_callback(esp_profile_cb_t callback);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_app_register
|
* @function esp_ble_gatts_app_register
|
||||||
**
|
*
|
||||||
** @brief This function is called to register application identifier
|
* @brief This function is called to register application identifier
|
||||||
**
|
*
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_app_register(uint16_t app_id);
|
esp_err_t esp_ble_gatts_app_register(uint16_t app_id);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_app_unregister
|
* @function esp_ble_gatts_app_unregister
|
||||||
**
|
*
|
||||||
** @brief unregister with GATT Server.
|
* @brief unregister with GATT Server.
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if: gatt interface id.
|
* @param[in] gatt_if: gatt interface id.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_app_unregister(esp_gatt_if_t gatt_if);
|
esp_err_t esp_ble_gatts_app_unregister(esp_gatt_if_t gatt_if);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_create_service
|
* @function esp_ble_gatts_create_service
|
||||||
**
|
*
|
||||||
** @brief Create a service. When service creation is done, a callback
|
* @brief Create a service. When service creation is done, a callback
|
||||||
** event BTA_GATTS_CREATE_SRVC_EVT is called to report status
|
* event BTA_GATTS_CREATE_SRVC_EVT is called to report status
|
||||||
** and service ID to the profile. The service ID obtained in
|
* and service ID to the profile. The service ID obtained in
|
||||||
** the callback function needs to be used when adding included
|
* the callback function needs to be used when adding included
|
||||||
** service and characteristics/descriptors into the service.
|
* service and characteristics/descriptors into the service.
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if: gatt interface ID
|
* @param[in] gatt_if: gatt interface ID
|
||||||
** @param[in] service_id: service ID.
|
* @param[in] service_id: service ID.
|
||||||
** @param[in] num_handle: number of handle requested for this service.
|
* @param[in] num_handle: number of handle requested for this service.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_create_service(esp_gatt_if_t gatt_if,
|
esp_err_t esp_ble_gatts_create_service(esp_gatt_if_t gatt_if,
|
||||||
esp_gatt_srvc_id_t *service_id, uint16_t num_handle);
|
esp_gatt_srvc_id_t *service_id, uint16_t num_handle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_add_included_service
|
* @function esp_ble_gatts_add_included_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to add an included service. After included
|
* @brief This function is called to add an included service. After included
|
||||||
** service is included, a callback event BTA_GATTS_ADD_INCL_SRVC_EVT
|
* service is included, a callback event BTA_GATTS_ADD_INCL_SRVC_EVT
|
||||||
** is reported the included service ID.
|
* is reported the included service ID.
|
||||||
**
|
*
|
||||||
** @param[in] service_handle: service handle to which this included service is to
|
* @param[in] service_handle: service handle to which this included service is to
|
||||||
** be added.
|
* be added.
|
||||||
** @param[in] included_service_handle: the service ID to be included.
|
* @param[in] included_service_handle: the service ID to be included.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_add_included_service(uint16_t service_handle, uint16_t included_service_handle);
|
esp_err_t esp_ble_gatts_add_included_service(uint16_t service_handle, uint16_t included_service_handle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_add_char
|
* @function esp_ble_gatts_add_char
|
||||||
**
|
*
|
||||||
** @brief This function is called to add a characteristic into a service.
|
* @brief This function is called to add a characteristic into a service.
|
||||||
**
|
*
|
||||||
** @param[in] service_handle: service handle to which this included service is to
|
* @param[in] service_handle: service handle to which this included service is to
|
||||||
** be added.
|
* be added.
|
||||||
** @param[in] char_uuid : Characteristic UUID.
|
* @param[in] char_uuid : Characteristic UUID.
|
||||||
** @param[in] perm : Characteristic value declaration attribute permission.
|
* @param[in] perm : Characteristic value declaration attribute permission.
|
||||||
** @param[in] property : Characteristic Properties
|
* @param[in] property : Characteristic Properties
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_add_char(uint16_t service_handle, esp_bt_uuid_t *char_uuid,
|
esp_err_t esp_ble_gatts_add_char(uint16_t service_handle, esp_bt_uuid_t *char_uuid,
|
||||||
esp_gatt_perm_t perm, esp_gatt_char_prop_t property);
|
esp_gatt_perm_t perm, esp_gatt_char_prop_t property);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
/*******************************************************************************
|
* @function esp_ble_gatts_add_char_descr
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_add_char_descr
|
* @brief This function is called to add characteristic descriptor. When
|
||||||
**
|
* it's done, a callback event BTA_GATTS_ADD_DESCR_EVT is called
|
||||||
** @brief This function is called to add characteristic descriptor. When
|
* to report the status and an ID number for this descriptor.
|
||||||
** it's done, a callback event BTA_GATTS_ADD_DESCR_EVT is called
|
*
|
||||||
** to report the status and an ID number for this descriptor.
|
* @param[in] service_handle: service handle to which this characteristic descriptor is to
|
||||||
**
|
* be added.
|
||||||
** @param[in] service_handle: service handle to which this characteristic descriptor is to
|
* @param[in] perm: descriptor access permission.
|
||||||
** be added.
|
* @param[in] descr_uuid: descriptor UUID.
|
||||||
** @param[in] perm: descriptor access permission.
|
*
|
||||||
** @param[in] descr_uuid: descriptor UUID.
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
** @return ESP_OK - success, other - failed
|
*
|
||||||
**
|
*/
|
||||||
*******************************************************************************/
|
|
||||||
esp_err_t esp_ble_gatts_add_char_descr (uint16_t service_handle,
|
esp_err_t esp_ble_gatts_add_char_descr (uint16_t service_handle,
|
||||||
esp_bt_uuid_t *descr_uuid,
|
esp_bt_uuid_t *descr_uuid,
|
||||||
esp_gatt_perm_t perm);
|
esp_gatt_perm_t perm);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_delete_service
|
* @function esp_ble_gatts_delete_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to delete a service. When this is done,
|
* @brief This function is called to delete a service. When this is done,
|
||||||
** a callback event BTA_GATTS_DELETE_EVT is report with the status.
|
* a callback event BTA_GATTS_DELETE_EVT is report with the status.
|
||||||
**
|
*
|
||||||
** @param[in] service_handled: service_handle to be deleted.
|
* @param[in] service_handled: service_handle to be deleted.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_delete_service(uint16_t service_handle);
|
esp_err_t esp_ble_gatts_delete_service(uint16_t service_handle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_start_service
|
* @function esp_ble_gatts_start_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to start a service.
|
* @brief This function is called to start a service.
|
||||||
**
|
*
|
||||||
** @param[in] service_handle: the service handle to be started.
|
* @param[in] service_handle: the service handle to be started.
|
||||||
** @param[in] sup_transport: supported transport.
|
* @param[in] sup_transport: supported transport.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_start_service(uint16_t service_handle);
|
esp_err_t esp_ble_gatts_start_service(uint16_t service_handle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_stop_service
|
* @function esp_ble_gatts_stop_service
|
||||||
**
|
*
|
||||||
** @brief This function is called to stop a service.
|
* @brief This function is called to stop a service.
|
||||||
**
|
*
|
||||||
** @param[in] service_handle - service to be topped.
|
* @param[in] service_handle - service to be topped.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_stop_service(uint16_t service_handle);
|
esp_err_t esp_ble_gatts_stop_service(uint16_t service_handle);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_send_indicate
|
* @function esp_ble_gatts_send_indicate
|
||||||
**
|
*
|
||||||
** @brief This function is called to read a characteristics descriptor.
|
* @brief This function is called to read a characteristics descriptor.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id - connection id to indicate.
|
* @param[in] conn_id - connection id to indicate.
|
||||||
** @param[in] attribute_handle - attribute handle to indicate.
|
* @param[in] attribute_handle - attribute handle to indicate.
|
||||||
** @param[in] value_len - indicate value length.
|
* @param[in] value_len - indicate value length.
|
||||||
** @param[in] value: value to indicate.
|
* @param[in] value: value to indicate.
|
||||||
** @param[in] need_confirm - if this indication expects a confirmation or not.
|
* @param[in] need_confirm - if this indication expects a confirmation or not.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_send_indicate(uint16_t conn_id, uint16_t attr_handle,
|
esp_err_t esp_ble_gatts_send_indicate(uint16_t conn_id, uint16_t attr_handle,
|
||||||
uint16_t value_len, uint8_t *value, bool need_confirm);
|
uint16_t value_len, uint8_t *value, bool need_confirm);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_send_rsp
|
* @function esp_ble_gatts_send_rsp
|
||||||
**
|
*
|
||||||
** @brief This function is called to send a response to a request.
|
* @brief This function is called to send a response to a request.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id - connection identifier.
|
* @param[in] conn_id - connection identifier.
|
||||||
** @param[in] trans_id - transfer id
|
* @param[in] trans_id - transfer id
|
||||||
** @param[in] status - response status
|
* @param[in] status - response status
|
||||||
** @param[in] rsp - response data.
|
* @param[in] rsp - response data.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_send_response(uint16_t conn_id, uint32_t trans_id,
|
esp_err_t esp_ble_gatts_send_response(uint16_t conn_id, uint32_t trans_id,
|
||||||
esp_gatt_status_t status, esp_gatt_rsp_t *rsp);
|
esp_gatt_status_t status, esp_gatt_rsp_t *rsp);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_open
|
* @function esp_ble_gatts_open
|
||||||
**
|
*
|
||||||
** @brief Open a direct open connection or add a background auto connection
|
* @brief Open a direct open connection or add a background auto connection
|
||||||
**
|
*
|
||||||
** @param[in] gatt_if: application ID.
|
* @param[in] gatt_if: application ID.
|
||||||
** @param[in] remote_bda: remote device bluetooth device address.
|
* @param[in] remote_bda: remote device bluetooth device address.
|
||||||
** @param[in] is_direct: direct connection or background auto connection
|
* @param[in] is_direct: direct connection or background auto connection
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_open(esp_gatt_if_t gatt_if, esp_bd_addr_t remote_bda, bool is_direct);
|
esp_err_t esp_ble_gatts_open(esp_gatt_if_t gatt_if, esp_bd_addr_t remote_bda, bool is_direct);
|
||||||
|
|
||||||
/*******************************************************************************
|
/**
|
||||||
**
|
*
|
||||||
** @function esp_ble_gatts_close
|
* @function esp_ble_gatts_close
|
||||||
**
|
*
|
||||||
** @brief Close a connection a remote device.
|
* @brief Close a connection a remote device.
|
||||||
**
|
*
|
||||||
** @param[in] conn_id: connection ID to be closed.
|
* @param[in] conn_id: connection ID to be closed.
|
||||||
**
|
*
|
||||||
** @return ESP_OK - success, other - failed
|
* @return - ESP_OK : success
|
||||||
**
|
* - other : failed
|
||||||
*******************************************************************************/
|
*
|
||||||
|
*/
|
||||||
esp_err_t esp_ble_gatts_close(uint16_t conn_id);
|
esp_err_t esp_ble_gatts_close(uint16_t conn_id);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue