feat(bt/bluedroid): Support BLE setting vendor event mask

This commit is contained in:
chenjianhua
2025-02-08 10:16:34 +08:00
parent 7d751dcc8f
commit fd4094e502
16 changed files with 160 additions and 2 deletions
@@ -1013,6 +1013,7 @@ typedef void (tBTM_UPDATE_DUPLICATE_EXCEPTIONAL_LIST_CMPL_CBACK) (tBTM_STATUS st
typedef void (tBTM_CLEAR_ADV_CMPL_CBACK) (UINT8 status);
typedef void (tBTM_SET_PRIVACY_MODE_CMPL_CBACK) (tBTM_STATUS status);
typedef void (tBTM_SET_CSA_SUPPORT_CMPL_CBACK) (tBTM_STATUS status);
typedef void (tBTM_SET_VENDOR_EVT_MASK_CBACK) (tBTM_STATUS status);
#if (BLE_50_FEATURE_SUPPORT == TRUE)
#define BTM_BLE_5_GAP_READ_PHY_COMPLETE_EVT 1
@@ -2751,6 +2752,19 @@ BOOLEAN BTM_BleSetPrivacyMode(UINT8 addr_type,
*******************************************************************************/
BOOLEAN BTM_BleSetCsaSupport (UINT8 csa_select, tBTM_SET_CSA_SUPPORT_CMPL_CBACK *p_callback);
/*******************************************************************************
**
** Function BTM_BleSetVendorEventMask
**
** Description This function is called to set the vendor HCI event mask
**
** Parameters evt_mask - vendor HCI event mask.
** p_callback - Callback function to be called when the operation is completed.
**
** Returns TRUE if the operation was successful, otherwise FALSE.
**
*******************************************************************************/
BOOLEAN BTM_BleSetVendorEventMask(UINT32 evt_mask, tBTM_SET_VENDOR_EVT_MASK_CBACK *p_callback);
/*
#ifdef __cplusplus
}
@@ -427,6 +427,7 @@
#define HCI_SUBCODE_BLE_RD_STATIC_ADDR 0x0B
#define HCI_SUBCODE_BLE_CLEAR_ADV 0x0C
#define HCI_SUBCODE_BLE_SET_CSA_SUPPORT 0x12
#define HCI_SUBCODE_BLE_SET_VENDOR_EVT_MASK 0x16
#define HCI_SUBCODE_BLE_MAX 0x7F
//ESP BT subcode define
@@ -473,6 +474,8 @@
#define HCI_VENDOR_BLE_CLEAR_ADV HCI_ESP_VENDOR_OPCODE_BUILD(HCI_VENDOR_OGF, HCI_ESP_GROUP_BLE, HCI_SUBCODE_BLE_CLEAR_ADV)
/* BLE set CSA support */
#define HCI_VENDOR_BLE_SET_CSA_SUPPORT HCI_ESP_VENDOR_OPCODE_BUILD(HCI_VENDOR_OGF, HCI_ESP_GROUP_BLE, HCI_SUBCODE_BLE_SET_CSA_SUPPORT)
/* BLE set vendor event mask */
#define HCI_VENDOR_BLE_SET_EVT_MASK HCI_ESP_VENDOR_OPCODE_BUILD(HCI_VENDOR_OGF, HCI_ESP_GROUP_BLE, HCI_SUBCODE_BLE_SET_VENDOR_EVT_MASK)
//ESP BT HCI CMD
#define HCI_VENDOR_BT_SET_MIN_ENC_KEY_SIZE HCI_ESP_VENDOR_OPCODE_BUILD(HCI_VENDOR_OGF, HCI_ESP_GROUP_BT, HCI_SUBCODE_BT_SET_MIN_ENC_KEY_SIZE)
@@ -760,6 +760,7 @@ void btsnd_hcic_vendor_spec_cmd (BT_HDR *buffer, UINT16 opcode,
#define HCIC_PARAM_SIZE_BLE_CLEAR_ADV 0
#define HCIC_PARAM_SIZE_SET_PRIVACY_MODE 8
#define HCIC_PARAM_SIZE_BLE_SET_CSA_SUPPORT 1
#define HCIC_PARAM_SIZE_BLE_SET_VENDOR_EVT_MASK 4
#if (BLE_50_FEATURE_SUPPORT == TRUE)
#define HCIC_PARAM_SIZE_BLE_READ_PHY 2
#define HCIC_PARAM_SIZE_BLE_SET_DEF_PHY 3
@@ -923,6 +924,8 @@ BOOLEAN btsnd_hcic_ble_set_privacy_mode(UINT8 addr_type, BD_ADDR addr, UINT8 pri
BOOLEAN btsnd_hcic_ble_set_csa_support (UINT8 csa_select);
BOOLEAN btsnd_hcic_ble_set_vendor_evt_mask (UINT32 evt_mask);
#endif /* BLE_INCLUDED */
#if (BLE_50_FEATURE_SUPPORT == TRUE)