mirror of
https://github.com/espressif/esp-idf.git
synced 2025-10-05 04:49:21 +00:00
component/bt: add BLE v5.0 feature for bluedroid host
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "bt_common.h"
|
||||
#include "osi/semaphore.h"
|
||||
|
||||
typedef uint8_t UINT8;
|
||||
typedef uint16_t UINT16;
|
||||
@@ -194,6 +195,7 @@ typedef struct {
|
||||
uint16_t len;
|
||||
uint16_t offset;
|
||||
uint16_t layer_specific;
|
||||
osi_sem_t sem;
|
||||
uint8_t data[];
|
||||
} BT_HDR;
|
||||
|
||||
|
@@ -105,7 +105,7 @@ typedef UINT8 tBTM_BLE_SFP;
|
||||
#endif
|
||||
|
||||
/* adv parameter boundary values */
|
||||
#define BTM_BLE_ADV_INT_MIN 0x0010
|
||||
#define BTM_BLE_ADV_INT_MIN 0x0020
|
||||
#define BTM_BLE_ADV_INT_MAX 0x4000
|
||||
|
||||
/* Full scan boundary values */
|
||||
@@ -373,7 +373,11 @@ typedef UINT8 tBTM_BLE_AD_TYPE;
|
||||
/* Preferred maximum number of microseconds that the local Controller
|
||||
should use to transmit a single Link Layer Data Channel PDU. */
|
||||
#define BTM_BLE_DATA_TX_TIME_MIN 0x0148
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define BTM_BLE_DATA_TX_TIME_MAX 0x04290 // define by spec v5.0
|
||||
#else
|
||||
#define BTM_BLE_DATA_TX_TIME_MAX 0x0848
|
||||
#endif
|
||||
|
||||
/* adv tx power level */
|
||||
#define BTM_BLE_ADV_TX_POWER_MIN 0 /* minimum tx power */
|
||||
@@ -692,7 +696,127 @@ typedef void (tBTM_BLE_PF_STATUS_CBACK) (UINT8 action, tBTM_STATUS status,
|
||||
typedef void (tBTM_BLE_PF_PARAM_CBACK) (tBTM_BLE_PF_ACTION action_type,
|
||||
tBTM_BLE_PF_AVBL_SPACE avbl_space,
|
||||
tBTM_BLE_REF_VALUE ref_value, tBTM_STATUS status);
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define MAX_BLE_ADV_INSTANCE 10
|
||||
typedef struct {
|
||||
UINT8 inst_id;
|
||||
BOOLEAN in_use;
|
||||
UINT8 adv_evt;
|
||||
BOOLEAN configured;
|
||||
BOOLEAN legacy_pdu;
|
||||
|
||||
|
||||
BOOLEAN directed;
|
||||
BOOLEAN scannable;
|
||||
BOOLEAN connetable;
|
||||
} tBTM_BLE_EXTENDED_INST;
|
||||
|
||||
typedef struct {
|
||||
tBTM_BLE_EXTENDED_INST inst[MAX_BLE_ADV_INSTANCE]; /* dynamic array to store adv instance */
|
||||
UINT8 scan_duplicate;
|
||||
tBTM_BLE_MULTI_ADV_OPQ op_q;
|
||||
} tBTM_BLE_EXTENDED_CB;
|
||||
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE (1 << 0)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_SCANNABLE (1 << 1)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_DIRECTED (1 << 2)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_HD_DIRECTED (1 << 3)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY (1 << 4)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_ANON_ADV (1 << 5)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_INCLUDE_TX_PWR (1 << 6)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_MASK (0x7F)
|
||||
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_IND (ESP_BLE_GAP_SET_EXT_ADV_PROP_LEGACY |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_SCANNABLE)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_LD_DIR (ESP_BLE_GAP_SET_EXT_ADV_PROP_LEGACY |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_DIRECTED)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_HD_DIR (ESP_BLE_GAP_SET_EXT_ADV_PROP_LEGACY |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_CONNECTABLE |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_HD_DIRECTED)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_SCAN (ESP_BLE_GAP_SET_EXT_ADV_PROP_LEGACY |\
|
||||
ESP_BLE_GAP_SET_EXT_ADV_PROP_SCANNABLE)
|
||||
#define BTM_BLE_GAP_SET_EXT_ADV_PROP_LEGACY_NONCONN (ESP_BLE_GAP_SET_EXT_ADV_PROP_LEGACY)
|
||||
typedef UINT16 tBTM_BLE_EXT_ADV_TYPE_MASK;
|
||||
|
||||
#define BTM_BLE_GAP_PHY_1M 1
|
||||
#define BTM_BLE_GAP_PHY_2M 2
|
||||
#define BTM_BLE_GAP_PHY_CODED 3
|
||||
typedef UINT8 tBTM_BLE_GAP_PHY;
|
||||
|
||||
#define BTM_BLE_GAP_PHY_NO_TX_PREF_MASK (0x01)
|
||||
#define BTM_BLE_GAP_PHY_NO_RX_PREF_MASK (0x02)
|
||||
#define BTM_BLE_GAP_PHY_1M_PREF_MASK (0x03)
|
||||
#define BTM_BLE_GAP_PHY_2M_PREF_MASK (0x04)
|
||||
#define BTM_BLE_GAP_PHY_CODED_PREF_MASK (0x05)
|
||||
typedef UINT8 tBTM_BLE_GAP_PHY_MASK;
|
||||
|
||||
#define BTM_BLE_GAP_EXT_SCAN_UNCODE_MASK 0x01
|
||||
#define BTM_BLE_GAP_EXT_SCAN_CODE_MASK 0x02
|
||||
typedef UINT8 tBTM_BLE_EXT_SCAN_CFG_MASK;
|
||||
|
||||
typedef struct {
|
||||
tBTM_BLE_EXT_ADV_TYPE_MASK type;
|
||||
UINT32 interval_min;
|
||||
UINT32 interval_max;
|
||||
tBTM_BLE_ADV_CHNL_MAP channel_map;
|
||||
tBLE_ADDR_TYPE own_addr_type;
|
||||
tBLE_ADDR_TYPE peer_addr_type;
|
||||
BD_ADDR peer_addr;
|
||||
tBTM_BLE_AFP filter_policy;
|
||||
UINT8 tx_power;
|
||||
tBTM_BLE_GAP_PHY primary_phy;
|
||||
UINT8 max_skip;
|
||||
tBTM_BLE_GAP_PHY secondary_phy;
|
||||
UINT8 sid;
|
||||
BOOLEAN scan_req_notif;
|
||||
} tBTM_BLE_GAP_EXT_ADV_PARAMS;
|
||||
|
||||
typedef struct {
|
||||
UINT8 instance;
|
||||
int duration;
|
||||
int max_events;
|
||||
} tBTM_BLE_EXT_ADV;
|
||||
|
||||
|
||||
typedef struct {
|
||||
tBLE_SCAN_MODE scan_type;
|
||||
UINT16 scan_interval;
|
||||
UINT16 scan_window;
|
||||
} tBTM_BLE_EXT_SCAN_CFG;
|
||||
|
||||
typedef struct {
|
||||
tBLE_ADDR_TYPE own_addr_type;
|
||||
UINT8 filter_policy;
|
||||
UINT8 scan_duplicate;
|
||||
tBTM_BLE_EXT_SCAN_CFG_MASK cfg_mask;
|
||||
tBTM_BLE_EXT_SCAN_CFG uncoded_cfg;
|
||||
tBTM_BLE_EXT_SCAN_CFG coded_cfg;
|
||||
} tBTM_BLE_EXT_SCAN_PARAMS;
|
||||
|
||||
typedef struct {
|
||||
UINT16 interval_min;
|
||||
UINT16 interval_max;
|
||||
UINT8 properties;
|
||||
} tBTM_BLE_Periodic_Adv_Params;
|
||||
|
||||
typedef struct {
|
||||
UINT8 filter_policy;
|
||||
UINT8 sid;
|
||||
tBLE_ADDR_TYPE addr_type;
|
||||
BD_ADDR addr;
|
||||
UINT16 skip;
|
||||
UINT16 sync_timeout;
|
||||
} tBTM_BLE_Periodic_Sync_Params;
|
||||
|
||||
typedef struct {
|
||||
uint8_t status;
|
||||
uint16_t conn_idx;
|
||||
uint8_t tx_phy;
|
||||
uint8_t rx_phy;
|
||||
} tBTM_BLE_UPDATE_PHY;
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
typedef union {
|
||||
UINT16 uuid16_mask;
|
||||
UINT32 uuid32_mask;
|
||||
@@ -870,7 +994,297 @@ typedef void (tBTM_START_ADV_CMPL_CBACK) (UINT8 status);
|
||||
typedef void (tBTM_START_STOP_ADV_CMPL_CBACK) (UINT8 status);
|
||||
|
||||
typedef void (tBTM_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_CMPL_CBACK) (tBTM_STATUS status, uint8_t subcode, uint32_t length, uint8_t *device_info);
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define BTM_BLE_5_GAP_READ_PHY_COMPLETE_EVT 1
|
||||
#define BTM_BLE_5_GAP_SET_PREFERED_DEFAULT_PHY_COMPLETE_EVT 2
|
||||
#define BTM_BLE_5_GAP_SET_PREFERED_PHY_COMPLETE_EVT 3
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_SET_RAND_ADDR_COMPLETE_EVT 4
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_SET_PARAMS_COMPLETE_EVT 5
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_DATA_SET_COMPLETE_EVT 6
|
||||
#define BTM_BLE_5_GAP_EXT_SCAN_RSP_DATA_SET_COMPLETE_EVT 7
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_START_COMPLETE_EVT 8
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_STOP_COMPLETE_EVT 9
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_SET_REMOVE_COMPLETE_EVT 10
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_SET_CLEAR_COMPLETE_EVT 11
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_SET_PARAMS_COMPLETE_EVT 12
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_DATA_SET_COMPLETE_EVT 13
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_START_COMPLETE_EVT 14
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_STOP_COMPLETE_EVT 15
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_CREATE_SYNC_COMPLETE_EVT 16
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_SYNC_CANCEL_COMPLETE_EVT 17
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_SYNC_TERMINATE_COMPLETE_EVT 18
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_ADD_DEV_COMPLETE_EVT 19
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_REMOVE_DEV_COMPLETE_EVT 20
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_CLEAR_DEV_COMPLETE_EVT 21
|
||||
#define BTM_BLE_5_GAP_SET_EXT_SCAN_PARAMS_COMPLETE_EVT 22
|
||||
#define BTM_BLE_5_GAP_EXT_SCAN_START_COMPLETE_EVT 23
|
||||
#define BTM_BLE_5_GAP_EXT_SCAN_STOP_COMPLETE_EVT 24
|
||||
#define BTM_BLE_5_GAP_PREFER_EXT_CONN_PARAMS_SET_COMPLETE_EVT 25
|
||||
#define BTM_BLE_5_GAP_PHY_UPDATE_COMPLETE_EVT 26
|
||||
#define BTM_BLE_5_GAP_EXT_ADV_REPORT_EVT 27
|
||||
#define BTM_BLE_5_GAP_SCAN_TIMEOUT_EVT 28
|
||||
#define BTM_BLE_5_GAP_ADV_TERMINATED_EVT 29
|
||||
#define BTM_BLE_5_GAP_SCAN_REQ_RECEIVED_EVT 30
|
||||
#define BTM_BLE_5_GAP_CHANNEL_SELETE_ALGORITHM_EVT 31
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_REPORT_EVT 32
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_SYNC_LOST_EVT 33
|
||||
#define BTM_BLE_5_GAP_PERIODIC_ADV_SYNC_ESTAB_EVT 34
|
||||
#define BTM_BLE_5_GAP_UNKNOWN_EVT 35
|
||||
typedef UINT8 tBTM_BLE_5_GAP_EVENT;
|
||||
|
||||
#define BTM_BLE_EXT_ADV_DATA_COMPLETE 0x00
|
||||
#define BTM_BLE_EXT_ADV_DATA_INCOMPLETE 0x01
|
||||
#define BTM_BLE_EXT_ADV_DATA_TRUNCATED 0x02
|
||||
typedef UINT8 tBTM_BLE_EXT_ADV_DATA_STATUS;
|
||||
|
||||
#define BTM_BLE_ADV_DATA_COMPLETE_MASK (0x0000)
|
||||
#define BTM_BLE_ADV_DATA_INCOMPLETE_MASK (0x0020)
|
||||
#define BTM_BLE_ADV_DATA_TRUNCATED_MASK (0x0040)
|
||||
#define BTM_BLE_ADV_DATA_STATUS_MASK (0x0060)
|
||||
|
||||
|
||||
//#define BTM_BLE_ADV_CONN_MASK (0x0001)
|
||||
//#define BTM_BLE_ADV_SCAN_MASK (0x0002)
|
||||
//#define BTM_BLE_ADV_DIRECT_MASK (0x0004)
|
||||
//#define BTM_BLE_SCAN_RSP_MASK (0x0008)
|
||||
#define BTM_BLE_ADV_LEGACY_MASK (0x0010)
|
||||
typedef UINT8 tBTM_BLE_ADV_MASK;
|
||||
|
||||
// /* Advertising report */
|
||||
// #define BTM_BLE_ADV_REPORT_ADV_IND (0)
|
||||
// #define BTM_BLE_ADV_REPORT_DIR_IND (1)
|
||||
// #define BTM_BLE_ADV_REPORT_SCAN_IND (2)
|
||||
// #define BTM_BLE_ADV_REPORT_NONCONN_IND (3)
|
||||
// #define BTM_BLE_ADV_REPORT_SCAN_RSP (4)
|
||||
|
||||
// /* Bluetooth 5.0, Vol 2, Part E, 7.7.65.13 */
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_IND (0x13)
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_DIRECT_IND (0x15)
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_SCAN_IND (0x12)
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_NONCON_IND (0x10)
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_SCAN_RSP_ADV_IND (0x1b)
|
||||
// #define BTM_BLE_LEGACY_ADV_TYPE_SCAN_RSP_ADV_SCAN_IND (0x1a)
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
BD_ADDR addr;
|
||||
UINT8 tx_phy;
|
||||
UINT8 rx_phy;
|
||||
} tBTM_BLE_READ_PHY_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_SET_PREF_DEF_PHY_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_SET_PERF_PHY_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_SET_RAND_ADDR_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_SET_PARAMS_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_DATA_SET_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_SCAN_RSP_DATA_SET_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_START_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_ADV_STOP_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_SET_PARAMS_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_DATA_SET_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_START_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_STOP_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_SYNC_CREATE_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_SYNC_CANCEL_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_SYNC_TEMINAT_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_ADD_DEV_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PERIOD_ADV_REMOVE_DEV_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PEROID_ADV_CLEAR_DEV_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_SET_EXT_SCAN_PARAMS_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_SCAN_START_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_EXT_SCAN_STOP_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} tBTM_BLE_PREF_EXT_CONN_SET_PARAMS_CMPL;
|
||||
|
||||
typedef struct {
|
||||
uint8_t status;
|
||||
BD_ADDR addr;
|
||||
uint8_t tx_phy;
|
||||
uint8_t rx_phy;
|
||||
} tBTM_BLE_PHY_UPDATE_CMPL;
|
||||
|
||||
typedef struct {
|
||||
// UINT8 props;
|
||||
// UINT8 legacy_event_type;
|
||||
UINT8 event_type;
|
||||
tBLE_ADDR_TYPE addr_type;
|
||||
BD_ADDR addr;
|
||||
UINT8 primary_phy;
|
||||
UINT8 secondry_phy;
|
||||
UINT8 sid;
|
||||
UINT8 tx_power;
|
||||
UINT8 rssi;
|
||||
UINT16 per_adv_interval;
|
||||
tBLE_ADDR_TYPE dir_addr_type;
|
||||
BD_ADDR dir_addr;
|
||||
tBTM_BLE_EXT_ADV_DATA_STATUS data_status;
|
||||
UINT8 adv_data_len;
|
||||
UINT8 *adv_data;
|
||||
} tBTM_BLE_EXT_ADV_REPORT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT8 adv_handle;
|
||||
UINT16 conn_handle;
|
||||
UINT8 completed_event;
|
||||
} tBTM_BLE_ADV_TERMINAT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 adv_handle;
|
||||
tBLE_ADDR_TYPE scan_addr_type;
|
||||
BD_ADDR scan_addr;
|
||||
} tBTM_BLE_SCAN_REQ_RECEIVED;
|
||||
|
||||
typedef struct {
|
||||
UINT16 conn_handle;
|
||||
UINT8 channel_sel_alg;
|
||||
} tBTM_BLE_CHANNEL_SEL_ALG;
|
||||
|
||||
typedef struct {
|
||||
UINT16 sync_handle;
|
||||
UINT8 tx_power;
|
||||
INT8 rssi;
|
||||
tBTM_BLE_EXT_ADV_DATA_STATUS data_status;
|
||||
UINT8 data_length;
|
||||
UINT8 *data;
|
||||
} tBTM_PERIOD_ADV_REPORT;
|
||||
|
||||
typedef struct {
|
||||
UINT16 sync_handle;
|
||||
} tBTM_BLE_PERIOD_ADV_SYNC_LOST;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 sync_handle;
|
||||
UINT8 sid;
|
||||
tBLE_ADDR_TYPE adv_addr_type;
|
||||
BD_ADDR adv_addr;
|
||||
UINT8 adv_phy;
|
||||
UINT16 period_adv_interval;
|
||||
UINT8 adv_clk_accuracy;
|
||||
} tBTM_BLE_PERIOD_ADV_SYNC_ESTAB;
|
||||
|
||||
typedef struct {
|
||||
UINT16 scan_interval;
|
||||
UINT16 scan_window;
|
||||
UINT16 interval_min;
|
||||
UINT16 interval_max;
|
||||
UINT16 latency;
|
||||
UINT16 supervision_timeout;
|
||||
UINT16 min_ce_len;
|
||||
UINT16 max_ce_len;
|
||||
} tBTM_BLE_CONN_PARAMS;
|
||||
|
||||
|
||||
typedef union {
|
||||
UINT8 status;
|
||||
tBTM_BLE_READ_PHY_CMPL read_phy;
|
||||
tBTM_BLE_SET_PREF_DEF_PHY_CMPL set_perf_def_phy;
|
||||
tBTM_BLE_SET_PERF_PHY_CMPL set_perf_phy;
|
||||
tBTM_BLE_EXT_ADV_SET_RAND_ADDR_CMPL set_ext_rand_addr;
|
||||
tBTM_BLE_EXT_ADV_SET_PARAMS_CMPL set_params;
|
||||
tBTM_BLE_EXT_ADV_DATA_SET_CMPL adv_data_set;
|
||||
tBTM_BLE_EXT_ADV_SCAN_RSP_DATA_SET_CMPL scan_rsp_data_set;
|
||||
tBTM_BLE_EXT_ADV_START_CMPL adv_start;
|
||||
tBTM_BLE_EXT_ADV_STOP_CMPL adv_stop;
|
||||
tBTM_BLE_PERIOD_ADV_SET_PARAMS_CMPL per_adv_set_params;
|
||||
tBTM_BLE_PERIOD_ADV_DATA_SET_CMPL per_adv_data_set;
|
||||
tBTM_BLE_PERIOD_ADV_START_CMPL per_adv_start;
|
||||
tBTM_BLE_PERIOD_ADV_STOP_CMPL per_adv_stop;
|
||||
tBTM_BLE_PERIOD_ADV_SYNC_CREATE_CMPL per_adv_sync_create;
|
||||
tBTM_BLE_PERIOD_ADV_SYNC_CANCEL_CMPL per_adv_sync_cancel;
|
||||
tBTM_BLE_PERIOD_ADV_SYNC_TEMINAT_CMPL per_adv_sync_term;
|
||||
tBTM_BLE_PERIOD_ADV_ADD_DEV_CMPL per_adv_add_dev;
|
||||
tBTM_BLE_PERIOD_ADV_REMOVE_DEV_CMPL per_adv_remove_dev;
|
||||
tBTM_BLE_PEROID_ADV_CLEAR_DEV_CMPL per_adv_clear_dev;
|
||||
tBTM_BLE_SET_EXT_SCAN_PARAMS_CMPL ext_scan;
|
||||
tBTM_BLE_EXT_SCAN_START_CMPL scan_start;
|
||||
tBTM_BLE_EXT_SCAN_STOP_CMPL scan_stop;
|
||||
tBTM_BLE_PREF_EXT_CONN_SET_PARAMS_CMPL ext_conn_set_params;
|
||||
tBTM_BLE_PHY_UPDATE_CMPL phy_update;
|
||||
tBTM_BLE_EXT_ADV_REPORT ext_adv_report;
|
||||
tBTM_BLE_ADV_TERMINAT adv_term;
|
||||
tBTM_BLE_SCAN_REQ_RECEIVED scan_req;
|
||||
tBTM_BLE_CHANNEL_SEL_ALG channel_sel;
|
||||
tBTM_PERIOD_ADV_REPORT period_adv_report;
|
||||
tBTM_BLE_PERIOD_ADV_SYNC_LOST sync_lost;
|
||||
tBTM_BLE_PERIOD_ADV_SYNC_ESTAB sync_estab;
|
||||
} tBTM_BLE_5_GAP_CB_PARAMS;
|
||||
|
||||
typedef struct {
|
||||
UINT8 phy_mask;
|
||||
tBTM_BLE_CONN_PARAMS phy_1m_conn_params;
|
||||
tBTM_BLE_CONN_PARAMS phy_2m_conn_params;
|
||||
tBTM_BLE_CONN_PARAMS phy_coded_conn_params;
|
||||
} tBTM_EXT_CONN_PARAMS;
|
||||
|
||||
typedef void (*tBTM_BLE_5_HCI_CBACK)(tBTM_BLE_5_GAP_EVENT event, tBTM_BLE_5_GAP_CB_PARAMS *params);
|
||||
|
||||
#endif //#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
/*****************************************************************************
|
||||
** EXTERNAL FUNCTION DECLARATIONS
|
||||
@@ -2153,5 +2567,52 @@ BOOLEAN BTM_Ble_Authorization(BD_ADDR bd_addr, BOOLEAN authorize);
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
void BTM_BleGapRegisterCallback(tBTM_BLE_5_HCI_CBACK cb);
|
||||
|
||||
tBTM_STATUS BTM_BleReadPhy(BD_ADDR bd_addr, UINT8 *tx_phy, UINT8 *rx_phy);
|
||||
|
||||
tBTM_STATUS BTM_BleSetPreferDefaultPhy(UINT8 tx_phy_mask, UINT8 rx_phy_mask);
|
||||
|
||||
tBTM_STATUS BTM_BleSetPreferPhy(BD_ADDR bd_addr, UINT8 all_phys, UINT8 tx_phy_mask,
|
||||
UINT8 rx_phy_mask, UINT16 phy_options);
|
||||
|
||||
tBTM_STATUS BTM_BleSetExtendedAdvRandaddr(UINT8 instance, BD_ADDR rand_addr);
|
||||
|
||||
tBTM_STATUS BTM_BleSetExtendedAdvParams(UINT8 instance, tBTM_BLE_GAP_EXT_ADV_PARAMS *params);
|
||||
|
||||
tBTM_STATUS BTM_BleConfigExtendedAdvDataRaw(BOOLEAN is_scan_rsp, UINT8 instance, UINT16 len, UINT8 *data);
|
||||
|
||||
tBTM_STATUS BTM_BleStartExtAdv(BOOLEAN enable, UINT8 num, tBTM_BLE_EXT_ADV *ext_adv);
|
||||
|
||||
tBTM_STATUS BTM_BleExtAdvSetRemove(UINT8 instance);
|
||||
|
||||
tBTM_STATUS BTM_BleExtAdvSetClear(void);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvSetParams(UINT8 instance, tBTM_BLE_Periodic_Adv_Params *params);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvCfgDataRaw(UINT8 instance, UINT16 len, UINT8 *data);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvEnable(UINT8 instance, BOOLEAN enable);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvCreateSync(tBTM_BLE_Periodic_Sync_Params *params);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvSyncCancel(void);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvSyncTerm(UINT16 sync_handle);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvAddDevToList(tBLE_ADDR_TYPE addr_type, BD_ADDR addr, UINT16 sid);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvRemoveDevFromList(tBLE_ADDR_TYPE addr_type, BD_ADDR addr, UINT16 sid);
|
||||
|
||||
tBTM_STATUS BTM_BlePeriodicAdvClearDev(void);
|
||||
|
||||
tBTM_STATUS BTM_BleSetExtendedScanParams(tBTM_BLE_EXT_SCAN_PARAMS *params);
|
||||
|
||||
tBTM_STATUS BTM_BleExtendedScan(BOOLEAN enable, UINT16 duration, UINT16 period);
|
||||
|
||||
void BTM_BleSetPreferExtenedConnParams(BD_ADDR bd_addr, tBTM_EXT_CONN_PARAMS *params);
|
||||
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
#endif
|
||||
|
@@ -274,6 +274,9 @@ void btu_check_bt_sleep (void);
|
||||
*/
|
||||
void btu_hcif_process_event (UINT8 controller_id, BT_HDR *p_buf);
|
||||
void btu_hcif_send_cmd (UINT8 controller_id, BT_HDR *p_msg);
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
UINT8 btu_hcif_send_cmd_sync (UINT8 controller_id, BT_HDR *p_buf);
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
void btu_hcif_send_host_rdy_for_data(void);
|
||||
void btu_hcif_cmd_timeout (UINT8 controller_id);
|
||||
|
||||
|
@@ -1111,7 +1111,7 @@ extern void GATT_StartIf (tGATT_IF gatt_if);
|
||||
**
|
||||
*******************************************************************************/
|
||||
extern BOOLEAN GATT_Connect (tGATT_IF gatt_if, BD_ADDR bd_addr, tBLE_ADDR_TYPE bd_addr_type,
|
||||
BOOLEAN is_direct, tBT_TRANSPORT transport);
|
||||
BOOLEAN is_direct, tBT_TRANSPORT transport, BOOLEAN is_aux);
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
|
@@ -352,6 +352,39 @@
|
||||
#define HCI_BLE_READ_RESOLVABLE_ADDR_LOCAL (0x002C | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_ADDR_RESOLUTION_ENABLE (0x002D | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_RAND_PRIV_ADDR_TIMOUT (0x002E | HCI_GRP_BLE_CMDS)
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCI_BLE_READ_PHY (0x0030 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_DEFAULT_PHY (0x0031 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_PHY (0x0032 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_ENH_RX_TEST (0x0033 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_ENH_TX_TEST (0x0034 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_ADV_RAND_ADDR (0x0035 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_ADV_PARAM (0x0036 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_ADV_DATA (0x0037 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_SCAN_RSP_DATA (0x0038 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_ADV_ENABLE (0x0039 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_RD_MAX_ADV_DATA_LEN (0x003A | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_RD_NUM_OF_ADV_SETS (0x003B | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_REMOVE_ADV_SET (0x003C | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_CLEAR_ADV_SETS (0x003D | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_PERIOD_ADV_PARAMS (0x003E | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_PERIOD_ADV_DATA (0x003F | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_PERIOD_ADV_ENABLE (0x0040 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_SCAN_PARAMS (0x0041 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_EXT_SCAN_ENABLE (0x0042 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_EXT_CREATE_CONN (0x0043 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_PERIOD_ADV_CREATE_SYNC (0x0044 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_PERIOD_ADV_CREATE_SYNC_CANCEL (0x0045 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_PERIOD_ADV_TERM_SYNC (0x0046 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_ADV_DEV_TO_PERIOD_ADV_LIST (0x0047 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_REMOVE_DEV_FROM_PERIOD_ADV_LIST (0x0048 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_CLEAR_PERIOD_ADV_LIST (0x0049 | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_RD_PERIOD_ADV_LIST_SIZE (0x004A | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_RD_TRANSMIT_POWER (0x004B | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_RD_RF_PATH_COMPENSATION (0x004C | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_WR_RF_PATH_COMPENSATION (0x004D | HCI_GRP_BLE_CMDS)
|
||||
#define HCI_BLE_SET_PRIVACY_MODE (0x004E | HCI_GRP_BLE_CMDS)
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
// Vendor OGF define
|
||||
#define HCI_VENDOR_OGF 0x3F
|
||||
|
||||
@@ -755,6 +788,17 @@
|
||||
#define HCI_BLE_DIRECT_ADV_EVT 0x0b
|
||||
/* ESP vendor BLE Event sub code */
|
||||
#define HCI_BLE_ADV_DISCARD_REPORT_EVT 0XF0
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCI_BLE_PHY_UPDATE_COMPLETE_EVT 0x0c
|
||||
#define HCI_BLE_EXT_ADV_REPORT_EVT 0x0d
|
||||
#define HCI_BLE_PERIOD_ADV_SYNC_ESTAB_EVT 0x0e
|
||||
#define HCI_BLE_PERIOD_ADV_REPORT_EVT 0x0f
|
||||
#define HCI_BLE_PERIOD_ADV_SYNC_LOST_EVT 0x10
|
||||
#define HCI_BLE_SCAN_TIMEOUT_EVT 0x11
|
||||
#define HCI_BLE_ADV_SET_TERMINATED_EVT 0x12
|
||||
#define HCI_BLE_SCAN_REQ_RECEIVED_EVT 0x13
|
||||
#define HCI_BLE_CHANNEL_SELECT_ALG 0x14
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
/* Definitions for LE Channel Map */
|
||||
#define HCI_BLE_CHNL_MAP_SIZE 5
|
||||
@@ -845,6 +889,9 @@
|
||||
#define HCI_ERR_ESP_VENDOR_FAIL 0xE0
|
||||
|
||||
#define HCI_HINT_TO_RECREATE_AMP_PHYS_LINK 0xFF
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
typedef UINT8 tHCI_STATUS;
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
/*
|
||||
** Definitions for HCI enable event
|
||||
@@ -913,6 +960,15 @@
|
||||
0x20000000 00000000 LE Meta Event
|
||||
*/
|
||||
|
||||
#define HCI_LE_ONLY_EVENT_MASK "\x20\x00\x80\x00\x02\x00\x88\x90"
|
||||
/* 0x00000000 00000010 Disconnection complete event
|
||||
0x00000000 00000080 Encryption change event
|
||||
0x00000000 00000800 Read remote version information complete event
|
||||
0x00000000 00008000 Hardware error event
|
||||
0x00000000 02000000 Data buffer overflow event
|
||||
0x00008000 00000000 Encryption key refresh complete event
|
||||
0x20000000 00000000 LE Meta Event
|
||||
*/
|
||||
|
||||
/* the event mask for AMP controllers */
|
||||
#define HCI_AMP_EVENT_MASK_3_0 "\x00\x00\x00\x00\x00\x00\x3F\xFF"
|
||||
|
@@ -657,6 +657,9 @@ void btsnd_hcic_vendor_spec_cmd (void *buffer, UINT16 opcode,
|
||||
#define HCIC_PARAM_SIZE_SET_USED_FEAT_CMD 8
|
||||
#define HCIC_PARAM_SIZE_WRITE_RANDOM_ADDR_CMD 6
|
||||
#define HCIC_PARAM_SIZE_BLE_WRITE_ADV_PARAMS 15
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCIC_PARAM_SIZE_BLE_WRITE_EXT_ADV_PARAMS 25
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCIC_PARAM_SIZE_BLE_WRITE_SCAN_RSP 31
|
||||
#define HCIC_PARAM_SIZE_WRITE_ADV_ENABLE 1
|
||||
#define HCIC_PARAM_SIZE_BLE_WRITE_SCAN_PARAM 7
|
||||
@@ -693,6 +696,44 @@ void btsnd_hcic_vendor_spec_cmd (void *buffer, UINT16 opcode,
|
||||
#define HCIC_PARAM_SIZE_BLE_SET_DATA_LENGTH 6
|
||||
#define HCIC_PARAM_SIZE_BLE_WRITE_EXTENDED_SCAN_PARAM 11
|
||||
#define HCIC_PARAM_SIZE_BLE_UPDATE_ADV_FLOW_CONTROL 2
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCIC_PARAM_SIZE_BLE_READ_PHY 2
|
||||
#define HCIC_PARAM_SIZE_BLE_SET_DEF_PHY 3
|
||||
#define HCIC_PARAM_SIZE_BLE_SET_PHY 7
|
||||
#define HCIC_PARAM_SIZE_ENH_RX_TEST 3
|
||||
#define HCIC_PARAM_SIZE_ENH_TX_TEST 4
|
||||
#define HCIC_PARAM_SIZE_EXT_RAND_ADDR 7
|
||||
#define HCIC_PARAM_SIZE_EXT_ADV_SET_PARAMS 25
|
||||
#define HCIC_PARAM_SIZE_EXT_ADV_WRITE_DATA 251
|
||||
#define HCIC_PARAM_SIZE_READ_MAX_ADV_SIZE 0
|
||||
#define HCIC_PARAM_SIZE_NUM_SUPPORT_ADV_SET 0
|
||||
#define HCIC_PARAM_SIZE_REMOVE_ADV_SET 1
|
||||
#define HCIC_PARAM_SIZE_CLEAR_ADV_SET 0
|
||||
#define HCIC_PARAM_SIZE_SET_PERIODIC_ADV_PARAMS 7
|
||||
#define HCIC_PARAM_SIZE_WRITE_PERIODIC_ADV_DATA 252
|
||||
#define HCIC_PARAM_SIZE_PERIODIC_ADV_ENABLE 2
|
||||
#define HCIC_PARAM_SIZE_SET_EXT_SCAN_PARAMS 3
|
||||
#define HCIC_PARAM_SIZE_EXT_SCAN_ENABLE 6
|
||||
#define HCIC_PARAM_SIZE_EXT_CONN_CREATE_BASE 10
|
||||
#define HCIC_PARAM_SIZE_PERIODIC_ADV_CREATE_SYNC 12
|
||||
#define HCIC_PARAM_SIZE_PERIODIC_ADV_CREATE_SYNC_CANCEL 0
|
||||
#define HCIC_PARAM_SIZE_PERIODIC_ADV_TERM_SYNC 2
|
||||
#define HCIC_PARAM_SIZE_ADD_DEV_TO_PERIODIC_ADV_LIST 8
|
||||
#define HCIC_PARAM_SIZE_RM_DEV_FROM_PERIODIC_ADV_LIST 8
|
||||
#define HCIC_PARAM_SIZE_CLEAR_PERIODIC_ADV_LIST 0
|
||||
#define HCIC_PARAM_SIZE_READ_PERIODIC_ADV_LIST 0
|
||||
#define HCIC_PARAM_SIZE_READ_TRANS_POWER 0
|
||||
#define HCIC_PARAM_SIZE_READ_RF_PATH_COMPENSATION 0
|
||||
#define HCIC_PARAM_SIZE_WRITE_RF_PATH_COMPENSATION 4
|
||||
|
||||
osi_sem_t *btsnd_hcic_ble_get_sync_sem(void);
|
||||
void btsnd_hcic_ble_sync_sem_init(void);
|
||||
void btsnd_hcic_ble_sync_sem_deinit(void);
|
||||
|
||||
uint8_t btsnd_hcic_ble_get_status(void);
|
||||
|
||||
void btsnd_hci_ble_set_status(UINT8 hci_status);
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
/* ULP HCI command */
|
||||
BOOLEAN btsnd_hcic_ble_set_evt_mask (BT_EVENT_MASK event_mask);
|
||||
@@ -809,14 +850,131 @@ BOOLEAN btsnd_hcic_ble_set_addr_resolution_enable (UINT8 addr_resolution_enable)
|
||||
BOOLEAN btsnd_hcic_ble_set_rand_priv_addr_timeout (UINT16 rpa_timout);
|
||||
|
||||
#endif /* BLE_INCLUDED */
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
typedef struct {
|
||||
UINT8 scan_type;
|
||||
UINT16 scan_interval;
|
||||
UINT16 scan_window;
|
||||
} tHCI_EXT_SCAN_PARAMS;
|
||||
|
||||
typedef struct {
|
||||
UINT16 scan_interval;
|
||||
UINT16 scan_window;
|
||||
UINT16 conn_interval_min;
|
||||
UINT16 conn_interval_max;
|
||||
UINT16 conn_latency;
|
||||
UINT16 sup_timeout;
|
||||
UINT16 min_ce_len;
|
||||
UINT16 max_ce_len;
|
||||
} tHCI_ExtConnParams;
|
||||
|
||||
typedef struct {
|
||||
UINT8 filter_policy;
|
||||
UINT8 own_addr_type;
|
||||
UINT8 peer_addr_type;
|
||||
BD_ADDR peer_addr;
|
||||
UINT8 init_phy_mask;
|
||||
tHCI_ExtConnParams params[3];
|
||||
} tHCI_CreatExtConn;
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
BOOLEAN btsnd_hcic_read_authenticated_payload_tout(UINT16 handle);
|
||||
|
||||
BOOLEAN btsnd_hcic_write_authenticated_payload_tout(UINT16 handle,
|
||||
UINT16 timeout);
|
||||
|
||||
BOOLEAN btsnd_hcic_ble_update_adv_report_flow_control (UINT16 num);
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
BOOLEAN btsnd_hcic_ble_read_phy(UINT16 conn_handle);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_prefered_default_phy(UINT8 all_phys,
|
||||
UINT8 tx_phys,
|
||||
UINT8 rx_phys);
|
||||
BOOLEAN btsnd_hcic_ble_set_phy(UINT16 conn_handle,
|
||||
UINT8 all_phys, UINT8 tx_phys,
|
||||
UINT8 rx_phys, UINT16 phy_options);
|
||||
|
||||
UINT8 btsnd_hcic_ble_enhand_rx_test(UINT8 rx_channel, UINT8 phy,
|
||||
UINT8 modulation_idx);
|
||||
|
||||
UINT8 btsnd_hcic_ble_enhand_tx_test(UINT8 tx_channel, UINT8 len,
|
||||
UINT8 packect,
|
||||
UINT8 phy);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_extend_rand_address(UINT8 adv_handle, BD_ADDR rand_addr);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_ext_adv_params(UINT8 adv_handle, UINT16 properties, UINT32 interval_min,
|
||||
UINT32 interval_max, UINT8 channel_map, UINT8 own_addr_type,
|
||||
UINT8 peer_addr_type, BD_ADDR peer_addr,
|
||||
UINT8 adv_filter_policy, UINT8 adv_tx_power,
|
||||
UINT8 primary_adv_phy, UINT8 secondary_adv_max_skip,
|
||||
UINT8 secondary_adv_phy,
|
||||
UINT8 adv_sid, UINT8 scan_req_ntf_enable);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_ext_adv_data(UINT8 adv_handle,
|
||||
UINT8 operation, UINT8 fragment_prefrence,
|
||||
UINT8 data_len, UINT8 *p_data);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_ext_adv_scan_rsp_data(UINT8 adv_handle,
|
||||
UINT8 operation, UINT8 fragment_prefrence,
|
||||
UINT8 data_len, UINT8 *p_data);
|
||||
|
||||
UINT8 btsnd_hcic_ble_ext_adv_enable(UINT8 enable, UINT8 num_of_sets, UINT8 *adv_handle,
|
||||
UINT16 *duration, UINT8 *max_adv_evt);
|
||||
|
||||
UINT8 btsnd_hcic_ble_read_max_adv_len(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_read_num_support_adv_set(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_remove_adv_set(UINT8 adv_handle);
|
||||
|
||||
UINT8 btsnd_hcic_ble_clear_adv_set(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_periodic_adv_params(UINT8 adv_handle,
|
||||
UINT16 interval_min,
|
||||
UINT16 interval_max,
|
||||
UINT8 propertics);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_periodic_adv_data(UINT8 adv_handle,
|
||||
UINT8 operation,
|
||||
UINT8 len,
|
||||
UINT8 *p_data);
|
||||
|
||||
UINT8 btsnd_hcic_ble_periodic_adv_enable(UINT8 enable, UINT8 adv_handle);
|
||||
|
||||
UINT8 btsnd_hcic_ble_set_ext_scan_params(UINT8 own_addr_type, UINT8 filter_policy,
|
||||
UINT8 phy_mask, UINT8 phy_count,
|
||||
tHCI_EXT_SCAN_PARAMS *params);
|
||||
|
||||
UINT8 btsnd_hcic_ble_ext_scan_enable(UINT8 enable, UINT8 filter_dups,
|
||||
UINT16 duration, UINT16 period);
|
||||
|
||||
|
||||
BOOLEAN btsnd_hcic_ble_create_ext_conn(tHCI_CreatExtConn *p_conn);
|
||||
|
||||
BOOLEAN btsnd_hcic_ble_periodic_adv_create_sync(UINT8 filter_policy, UINT8 adv_sid,
|
||||
UINT8 adv_addr_type, BD_ADDR adv_addr,
|
||||
UINT16 sync_timeout, UINT8 unused);
|
||||
|
||||
UINT8 btsnd_hcic_ble_periodic_adv_create_sync_cancel(void);
|
||||
|
||||
|
||||
UINT8 btsnd_hcic_ble_periodic_adv_term_sync(UINT16 sync_handle);
|
||||
|
||||
UINT8 btsnd_hcic_ble_add_dev_to_periodic_adv_list(UINT8 adv_addr_type, BD_ADDR adv_addr,
|
||||
UINT8 adv_sid);
|
||||
UINT8 btsnd_hcic_ble_rm_dev_from_periodic_adv_list(UINT8 adv_addr_type, BD_ADDR adv_addr,
|
||||
UINT8 adv_sid);
|
||||
|
||||
UINT8 btsnd_hcic_ble_clear_periodic_adv_list(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_read_periodic_adv_list_size(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_read_trans_power(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_read_rf_path_compensation(void);
|
||||
|
||||
UINT8 btsnd_hcic_ble_write_rf_path_compensation(UINT16 rf_tx_path, UINT16 rf_rx_path);
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
#define HCIC_PARAM_SIZE_WRITE_AUTHENT_PAYLOAD_TOUT 4
|
||||
|
||||
#define HCI__WRITE_AUTHENT_PAYLOAD_TOUT_HANDLE_OFF 0
|
||||
|
@@ -1085,7 +1085,7 @@ extern BOOLEAN L2CA_RegisterFixedChannel (UINT16 fixed_cid, tL2CAP_FIXED_CHNL_R
|
||||
** Return value: TRUE if connection started
|
||||
**
|
||||
*******************************************************************************/
|
||||
extern BOOLEAN L2CA_ConnectFixedChnl (UINT16 fixed_cid, BD_ADDR bd_addr, tBLE_ADDR_TYPE bd_addr_type);
|
||||
extern BOOLEAN L2CA_ConnectFixedChnl (UINT16 fixed_cid, BD_ADDR bd_addr, tBLE_ADDR_TYPE bd_addr_type, BOOLEAN is_aux);
|
||||
|
||||
/*******************************************************************************
|
||||
**
|
||||
@@ -1227,7 +1227,7 @@ extern UINT8 L2CA_GetBleConnRole (BD_ADDR bd_addr);
|
||||
*******************************************************************************/
|
||||
extern UINT16 L2CA_GetDisconnectReason (BD_ADDR remote_bda, tBT_TRANSPORT transport);
|
||||
|
||||
extern BOOLEAN L2CA_CheckIsCongest(UINT16 fixed_cid, UINT16 handle);
|
||||
extern BOOLEAN L2CA_CheckIsCongest(UINT16 fixed_cid, BD_ADDR addr);
|
||||
|
||||
#define L2CA_GET_ATT_NUM 0
|
||||
#define L2CA_ADD_BTC_NUM 1
|
||||
|
Reference in New Issue
Block a user