mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-01 18:50:34 +03:00
Merge branch 'feat/add_new_bluedroid_host_examples_v5.3' into 'release/v5.3'
feat(ble/bluedroid): Add new bluedroid host examples (v5.3) See merge request espressif/esp-idf!44878
This commit is contained in:
@@ -227,6 +227,13 @@ config BT_LE_POWER_CONTROL_ENABLED
|
||||
help
|
||||
Set this option to enable the Power Control feature on controller
|
||||
|
||||
config BT_LE_SUBRATE_ENABLED
|
||||
bool "Enable BLE connection subrating"
|
||||
depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && !BT_BLUEDROID_ENABLED && SOC_BLE_SUBRATE_SUPPORTED
|
||||
default n
|
||||
help
|
||||
Set this option to enable the Connection Subrating feature on controller
|
||||
|
||||
config BT_LE_CTE_FEATURE_ENABLED
|
||||
bool "Enable Bluetooth LE Direction Finding (AoA/AoD)"
|
||||
depends on BT_LE_50_FEATURE_SUPPORT && SOC_BLE_CTE_SUPPORTED
|
||||
|
||||
@@ -146,6 +146,13 @@ extern "C" {
|
||||
#else
|
||||
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED (0)
|
||||
#endif
|
||||
#if defined(CONFIG_BT_BLE_FEAT_CONN_SUBRATING)
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (CONFIG_BT_BLE_FEAT_CONN_SUBRATING)
|
||||
#elif defined(CONFIG_BT_LE_SUBRATE_ENABLED)
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (CONFIG_BT_LE_SUBRATE_ENABLED)
|
||||
#else
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (0)
|
||||
#endif
|
||||
#if defined(CONFIG_BT_LE_50_FEATURE_SUPPORT)
|
||||
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
|
||||
#else
|
||||
@@ -167,7 +174,6 @@ extern "C" {
|
||||
#define DEFAULT_BT_LE_HCI_UART_RTS_PIN (-1)
|
||||
#endif
|
||||
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED 0
|
||||
#define DEFAULT_BT_ADV_SEND_CONSTANT_DID (0)
|
||||
#define DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER (0)
|
||||
#endif
|
||||
|
||||
@@ -227,6 +227,13 @@ config BT_LE_POWER_CONTROL_ENABLED
|
||||
help
|
||||
Set this option to enable the Power Control feature on controller
|
||||
|
||||
config BT_LE_SUBRATE_ENABLED
|
||||
bool "Enable BLE connection subrating"
|
||||
depends on BT_LE_50_FEATURE_SUPPORT && !BT_NIMBLE_ENABLED && !BT_BLUEDROID_ENABLED && SOC_BLE_SUBRATE_SUPPORTED
|
||||
default n
|
||||
help
|
||||
Set this option to enable the Connection Subrating feature on controller
|
||||
|
||||
config BT_LE_CTE_FEATURE_ENABLED
|
||||
bool "Enable Bluetooth LE Direction Finding (AoA/AoD)"
|
||||
depends on BT_LE_50_FEATURE_SUPPORT && SOC_BLE_CTE_SUPPORTED && !(BT_LE_SECURITY_ENABLE)
|
||||
|
||||
@@ -40,6 +40,7 @@ extern "C" {
|
||||
#define DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_COUNT)
|
||||
#define DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT MYNEWT_VAL(BLE_TRANSPORT_EVT_DISCARDABLE_COUNT)
|
||||
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED MYNEWT_VAL(BLE_POWER_CONTROL)
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED MYNEWT_VAL(BLE_CONN_SUBRATING)
|
||||
#if defined(CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT)
|
||||
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
|
||||
#else
|
||||
@@ -145,6 +146,13 @@ extern "C" {
|
||||
#else
|
||||
#define DEFAULT_BT_LE_POWER_CONTROL_ENABLED (0)
|
||||
#endif
|
||||
#if defined(CONFIG_BT_BLE_FEAT_CONN_SUBRATING)
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (CONFIG_BT_BLE_FEAT_CONN_SUBRATING)
|
||||
#elif defined(CONFIG_BT_LE_SUBRATE_ENABLED)
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (CONFIG_BT_LE_SUBRATE_ENABLED)
|
||||
#else
|
||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED (0)
|
||||
#endif
|
||||
#if defined(CONFIG_BT_LE_50_FEATURE_SUPPORT)
|
||||
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (1)
|
||||
#else
|
||||
|
||||
@@ -1454,7 +1454,7 @@ config BT_BLE_FEAT_CONN_SUBRATING
|
||||
|
||||
config BT_BLE_FEAT_PAWR_EN
|
||||
bool "Enable Periodic Advertisement with Response(PAwR)"
|
||||
depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_PAWR_SUPPORTED) || BT_CONTROLLER_DISABLED)) # NOERROR
|
||||
depends on (BT_BLE_50_FEATURES_SUPPORTED && ((BT_CONTROLLER_ENABLED && SOC_BLE_PERIODIC_ADV_WITH_RESPONSE) || BT_CONTROLLER_DISABLED)) # NOERROR
|
||||
default n
|
||||
help
|
||||
Enable BLE Periodic Advertisement with Response(PAwR) feature
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -379,6 +379,25 @@ esp_err_t esp_ble_gattc_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, e
|
||||
esp_err_t esp_ble_gattc_aux_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, esp_ble_addr_type_t remote_addr_type, bool is_direct);
|
||||
#endif // #if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
|
||||
#if (BT_BLE_FEAT_PAWR_EN == TRUE)
|
||||
/**
|
||||
* @brief Open an auxiliary connection with PAwR synced parameters
|
||||
*
|
||||
* @param[in] gattc_if GATT Client access interface
|
||||
* @param[in] pawr_conn_params PAwR connection parameters
|
||||
*
|
||||
* @note
|
||||
* 1. This function is used to establish a connection with a device that is synchronized to a PAwR advertiser.
|
||||
* 2. The function always triggers `ESP_GATTC_CONNECT_EVT` and `ESP_GATTC_OPEN_EVT`.
|
||||
*
|
||||
* @return
|
||||
* - ESP_OK: Success
|
||||
* - ESP_ERR_INVALID_ARG: Invalid argument
|
||||
* - ESP_FAIL: Failure
|
||||
*/
|
||||
esp_err_t esp_ble_gattc_aux_open_with_pawr_synced(esp_gatt_if_t gattc_if, esp_ble_gatt_pawr_conn_params_t *pawr_conn_params);
|
||||
#endif // #if (BT_BLE_FEAT_PAWR_EN == TRUE)
|
||||
|
||||
/**
|
||||
* @brief Close the virtual GATT Client connection
|
||||
*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
|
||||
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
@@ -1334,7 +1334,7 @@ static void btc_ble_5_gap_callback(tBTA_DM_BLE_5_GAP_EVENT event,
|
||||
#if (BT_BLE_FEAT_CHANNEL_SOUNDING == TRUE)
|
||||
case BTA_BLE_GAP_CS_READ_LOCAL_SUPP_CAPS_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_READ_LOCAL_SUPP_CAPS_EVT;
|
||||
param.cs_read_local_supp_caps.status = params->cs_read_local_supp_caps.status;
|
||||
param.cs_read_local_supp_caps.status = btc_btm_status_to_esp_status(params->cs_read_local_supp_caps.status);
|
||||
param.cs_read_local_supp_caps.conn_handle = params->cs_read_local_supp_caps.conn_handle;
|
||||
param.cs_read_local_supp_caps.num_config_supported = params->cs_read_local_supp_caps.num_config_supported;
|
||||
param.cs_read_local_supp_caps.max_consecutive_proc_supported = params->cs_read_local_supp_caps.max_consecutive_proc_supported;
|
||||
@@ -1359,22 +1359,22 @@ static void btc_ble_5_gap_callback(tBTA_DM_BLE_5_GAP_EVENT event,
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_WRITE_CACHED_REMOTE_SUPP_CAPS_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_WRITE_CACHED_REMOTE_SUPP_CAPS_EVT;
|
||||
param.cs_write_cached_remote_supp_caps.status = params->cs_write_cached_remote_supp_caps.status;
|
||||
param.cs_write_cached_remote_supp_caps.status = btc_btm_status_to_esp_status(params->cs_write_cached_remote_supp_caps.status);
|
||||
param.cs_write_cached_remote_supp_caps.conn_handle = params->cs_write_cached_remote_supp_caps.conn_handle;
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_SET_DEFAULT_SETTINGS_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_SET_DEFAULT_SETTINGS_EVT;
|
||||
param.cs_set_default_settings.status = params->cs_set_default_settings.status;
|
||||
param.cs_set_default_settings.status = btc_btm_status_to_esp_status(params->cs_set_default_settings.status);
|
||||
param.cs_set_default_settings.conn_handle = params->cs_set_default_settings.conn_handle;
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_WRITE_CACHED_REMOTE_FAE_TAB_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_WRITE_CACHED_REMOTE_FAE_TABLE_EVT;
|
||||
param.cs_write_cached_remote_fae_tab.status = params->cs_write_cached_remote_fae_tab.status;
|
||||
param.cs_write_cached_remote_fae_tab.status = btc_btm_status_to_esp_status(params->cs_write_cached_remote_fae_tab.status);
|
||||
param.cs_write_cached_remote_fae_tab.conn_handle = params->cs_write_cached_remote_fae_tab.conn_handle;
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_READ_REMOTE_SUPP_CAPS_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_READ_REMOTE_SUPP_CAPS_CMPL_EVT;
|
||||
param.cs_read_remote_supp_caps.status = params->cs_read_remote_supp_caps.status;
|
||||
param.cs_read_remote_supp_caps.status = btc_btm_status_to_esp_status(params->cs_read_remote_supp_caps.status);
|
||||
param.cs_read_remote_supp_caps.conn_handle = params->cs_read_remote_supp_caps.conn_handle;
|
||||
param.cs_read_remote_supp_caps.num_config_supported = params->cs_read_remote_supp_caps.num_config_supported;
|
||||
param.cs_read_remote_supp_caps.max_consecutive_proc_supported = params->cs_read_remote_supp_caps.max_consecutive_proc_supported;
|
||||
@@ -1399,16 +1399,16 @@ static void btc_ble_5_gap_callback(tBTA_DM_BLE_5_GAP_EVENT event,
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_SET_CHANNEL_CLASS_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_SET_CHANNEL_CLASS_CMPL_EVT;
|
||||
param.cs_set_channel_class.status = params->status;
|
||||
param.cs_set_channel_class.status = btc_btm_status_to_esp_status(params->status);
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_PROC_PARAMS_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_SET_PROC_PARAMS_CMPL_EVT;
|
||||
param.cs_set_proc_params.status = params->cs_set_proc_params.status;
|
||||
param.cs_set_proc_params.status = btc_btm_status_to_esp_status(params->cs_set_proc_params.status);
|
||||
param.cs_set_proc_params.conn_handle = params->cs_set_proc_params.conn_handle;
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_PROC_ENABLE_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_PROC_ENABLE_CMPL_EVT;
|
||||
param.cs_proc_enable.status = params->cs_proc_en.status;
|
||||
param.cs_proc_enable.status = btc_btm_status_to_esp_status(params->cs_proc_en.status);
|
||||
param.cs_proc_enable.conn_handle = params->cs_proc_en.conn_handle;
|
||||
param.cs_proc_enable.config_id = params->cs_proc_en.config_id;
|
||||
param.cs_proc_enable.state = params->cs_proc_en.state;
|
||||
@@ -1424,18 +1424,18 @@ static void btc_ble_5_gap_callback(tBTA_DM_BLE_5_GAP_EVENT event,
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_READ_REMOTE_FAE_TABLE_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_READ_REMOTE_FAE_TABLE_CMPL_EVT;
|
||||
param.cs_read_remote_fae_tab.status = params->cs_read_remote_fae_tab.status;
|
||||
param.cs_read_remote_fae_tab.status = btc_btm_status_to_esp_status(params->cs_read_remote_fae_tab.status);
|
||||
param.cs_read_remote_fae_tab.conn_handle = params->cs_read_remote_fae_tab.conn_handle;
|
||||
memcpy(param.cs_read_remote_fae_tab.remote_fae_table, params->cs_read_remote_fae_tab.remote_fae_table, 72);
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_SECURITY_ENABLE_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_SECURITY_ENABLE_CMPL_EVT;
|
||||
param.cs_security_enable.status = params->cs_security_enable.status;
|
||||
param.cs_security_enable.status = btc_btm_status_to_esp_status(params->cs_security_enable.status);
|
||||
param.cs_security_enable.conn_handle = params->cs_security_enable.conn_handle;
|
||||
break;
|
||||
case BTA_BLE_GAP_CS_CONFIG_CMPL_EVT:
|
||||
msg.act = ESP_GAP_BLE_CS_CONFIG_CMPL_EVT;
|
||||
param.cs_config_update.status = params->cs_config_update.status;
|
||||
param.cs_config_update.status = btc_btm_status_to_esp_status(params->cs_config_update.status);
|
||||
param.cs_config_update.conn_handle = params->cs_config_update.conn_handle;
|
||||
param.cs_config_update.config_id = params->cs_config_update.config_id;
|
||||
param.cs_config_update.action = params->cs_config_update.action;
|
||||
|
||||
@@ -1838,7 +1838,7 @@ void BTM_BleSetPaSubeventData(UINT8 adv_handle, UINT8 num_subevents_with_data, u
|
||||
tBTM_BLE_5_GAP_CB_PARAMS cb_params = {0};
|
||||
|
||||
if ((err = btsnd_hcic_ble_set_periodic_adv_subevt_data(adv_handle, num_subevents_with_data, (ble_subevent_params *)subevent_params)) != HCI_SUCCESS) {
|
||||
BTM_TRACE_ERROR("%s cmd err = 0x%x", __func__, err);
|
||||
BTM_TRACE_WARNING("%s cmd err = 0x%x", __func__, err);
|
||||
status = BTM_HCI_ERROR | err;
|
||||
}
|
||||
|
||||
|
||||
@@ -194,6 +194,7 @@ void gatt_free(void)
|
||||
fixed_queue_free(p_tcb->sr_cmd.multi_rsp_q, NULL);
|
||||
p_tcb->sr_cmd.multi_rsp_q = NULL;
|
||||
#endif /* #if (GATTS_INCLUDED == TRUE) */
|
||||
UNUSED(p_tcb);
|
||||
}
|
||||
list_free(gatt_cb.p_tcb_list);
|
||||
list_free(gatt_cb.p_clcb_list);
|
||||
@@ -1001,7 +1002,9 @@ void gatt_data_process (tGATT_TCB *p_tcb, BT_HDR *p_buf)
|
||||
pseudo_op_code = op_code & (~GATT_WRITE_CMD_MASK);
|
||||
|
||||
if (pseudo_op_code < GATT_OP_CODE_MAX) {
|
||||
#if (GATTS_INCLUDED == TRUE) || (GATTC_INCLUDED == TRUE)
|
||||
GATT_TRACE_DEBUG("%s opcode=%x msg_len=%u", __func__, op_code, msg_len);
|
||||
#endif ///(GATTS_INCLUDED == TRUE) || (GATTC_INCLUDED == TRUE)
|
||||
if (op_code == GATT_SIGN_CMD_WRITE) {
|
||||
#if (SMP_INCLUDED == TRUE)
|
||||
gatt_verify_signature(p_tcb, p_buf);
|
||||
|
||||
@@ -1298,32 +1298,28 @@ typedef struct {
|
||||
UINT8 phy;
|
||||
INT8 cur_tx_pwr_level;
|
||||
INT8 max_tx_pwr_level;
|
||||
} __attribute__((packed)) tBTM_BLE_ENH_TRANS_PWR_LEVEL_CMPL;
|
||||
} tBTM_BLE_ENH_TRANS_PWR_LEVEL_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} __attribute__((packed)) tBTM_BLE_REMOTE_TRANS_PWR_LEVEL_CMPL;
|
||||
|
||||
} tBTM_BLE_REMOTE_TRANS_PWR_LEVEL_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_SET_PATH_LOSS_RPTING_PARAMS;
|
||||
|
||||
} tBTM_BLE_SET_PATH_LOSS_RPTING_PARAMS;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_SET_PATH_LOSS_RPTING_ENABLE;
|
||||
|
||||
} tBTM_BLE_SET_PATH_LOSS_RPTING_ENABLE;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_SET_TRANS_POWER_RPTING_ENABLE;
|
||||
|
||||
} tBTM_BLE_SET_TRANS_POWER_RPTING_ENABLE;
|
||||
typedef struct {
|
||||
UINT16 conn_handle;
|
||||
UINT8 cur_path_loss;
|
||||
UINT8 zone_entered;
|
||||
} __attribute__((packed)) tBTM_BLE_PATH_LOSS_THRESHOLD_EVT;
|
||||
} tBTM_BLE_PATH_LOSS_THRESHOLD_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
@@ -1333,7 +1329,7 @@ typedef struct {
|
||||
INT8 tx_power_level;
|
||||
UINT8 tx_power_level_flag;
|
||||
INT8 delta;
|
||||
} __attribute__((packed)) tBTM_BLE_TRANS_POWER_REPORT_EVT;
|
||||
} tBTM_BLE_TRANS_POWER_REPORT_EVT;
|
||||
#endif // #if (BLE_FEAT_POWER_CONTROL_EN == TRUE)
|
||||
|
||||
#if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||
@@ -1344,27 +1340,27 @@ typedef struct {
|
||||
UINT16 peripheral_latency;
|
||||
UINT16 continuation_number;
|
||||
UINT16 supervision_timeout;
|
||||
} __attribute__((packed)) tBTM_BLE_SUBRATE_CHANGE_EVT;
|
||||
} tBTM_BLE_SUBRATE_CHANGE_EVT;
|
||||
#endif // #if (BLE_FEAT_CONN_SUBRATING == TRUE)
|
||||
|
||||
#if (BT_BLE_FEAT_PAWR_EN == TRUE)
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT8 adv_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_SUBEVT_DATA_EVT;
|
||||
} tBTM_BLE_PA_SUBEVT_DATA_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 sync_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_RSP_DATA_EVT;
|
||||
} tBTM_BLE_PA_RSP_DATA_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 sync_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_SYNC_SUBEVT_DATA_EVT;
|
||||
} tBTM_BLE_PA_SYNC_SUBEVT_DATA_EVT;
|
||||
typedef struct {
|
||||
UINT8 adv_handle;
|
||||
UINT8 subevt_start;
|
||||
UINT8 subevt_data_count;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_SUBEVT_DATA_REQ_EVT;
|
||||
} tBTM_BLE_PA_SUBEVT_DATA_REQ_EVT;
|
||||
|
||||
typedef struct {
|
||||
INT8 tx_power;
|
||||
@@ -1374,7 +1370,7 @@ typedef struct {
|
||||
UINT8 data_status;
|
||||
UINT8 data_len;
|
||||
UINT8 *data;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_RSP_DATA_INFO;
|
||||
} tBTM_BLE_PA_RSP_DATA_INFO;
|
||||
|
||||
typedef struct {
|
||||
UINT8 adv_handle;
|
||||
@@ -1382,26 +1378,26 @@ typedef struct {
|
||||
UINT8 tx_status;
|
||||
UINT8 num_rsp;
|
||||
tBTM_BLE_PA_RSP_DATA_INFO *rsp_data_info;
|
||||
} __attribute__((packed)) tBTM_BLE_PA_RSP_REPORT_EVT;
|
||||
} tBTM_BLE_PA_RSP_REPORT_EVT;
|
||||
#endif // #if (BT_BLE_FEAT_PAWR_EN == TRUE)
|
||||
|
||||
#if (BT_BLE_FEAT_CHANNEL_SOUNDING == TRUE)
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_WRITE_CACHED_SUPPORT_CAPS_EVT;
|
||||
} tBTM_BLE_CS_WRITE_CACHED_SUPPORT_CAPS_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_SET_DEFAULT_SETTINGS_EVT;
|
||||
} tBTM_BLE_CS_SET_DEFAULT_SETTINGS_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_WRITE_CACHED_REMOTE_FAE_TAB_EVT;
|
||||
} tBTM_BLE_CS_WRITE_CACHED_REMOTE_FAE_TAB_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_SET_PAROC_PARAMS_EVT;
|
||||
} tBTM_BLE_CS_SET_PAROC_PARAMS_EVT;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
@@ -1425,18 +1421,18 @@ typedef struct {
|
||||
UINT16 T_PM_times_supported;
|
||||
UINT8 T_SW_times_supported;
|
||||
UINT8 TX_SNR_capability;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_READ_REMOTE_SUPP_CAPS_CMPL_EVT;
|
||||
} tBTM_BLE_CS_READ_REMOTE_SUPP_CAPS_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
UINT8 remote_fae_table[72];
|
||||
} __attribute__((packed)) tBTM_BLE_CS_READ_REMOTE_FAE_TAB_CMPL_EVT;
|
||||
} tBTM_BLE_CS_READ_REMOTE_FAE_TAB_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_SEC_ENABLE_CMPL_EVT;
|
||||
} tBTM_BLE_CS_SEC_ENABLE_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
@@ -1462,7 +1458,7 @@ typedef struct {
|
||||
UINT8 t_ip2_time;
|
||||
UINT8 t_fcs_time;
|
||||
UINT8 t_pm_time;
|
||||
}__attribute__((packed)) tBTM_BLE_CS_CONFIG_CMPL_EVT;
|
||||
} tBTM_BLE_CS_CONFIG_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
@@ -1478,14 +1474,14 @@ typedef struct {
|
||||
UINT16 procedure_interval;
|
||||
UINT16 procedure_count;
|
||||
UINT16 max_procedure_len;
|
||||
}__attribute__((packed)) tBTM_BLE_CS_PROC_ENABLE_CMPL_EVT;
|
||||
} tBTM_BLE_CS_PROC_ENABLE_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 step_mode;
|
||||
UINT8 step_channel;
|
||||
UINT8 step_data_len;
|
||||
UINT8 *data;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_STEP_INFO;
|
||||
} tBTM_BLE_CS_STEP_INFO;
|
||||
|
||||
typedef struct {
|
||||
UINT16 conn_handle;
|
||||
@@ -1500,7 +1496,7 @@ typedef struct {
|
||||
UINT8 num_ant_paths;
|
||||
UINT8 num_steps_reported;
|
||||
tBTM_BLE_CS_STEP_INFO *step_info;
|
||||
}__attribute__((packed)) tBTM_BLE_CS_SUBEVT_RESULT_CMPL_EVT;
|
||||
} tBTM_BLE_CS_SUBEVT_RESULT_CMPL_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT16 conn_handle;
|
||||
@@ -1511,7 +1507,7 @@ typedef struct {
|
||||
UINT8 num_ant_paths;
|
||||
UINT8 num_steps_reported;
|
||||
tBTM_BLE_CS_STEP_INFO *step_info;
|
||||
}__attribute__((packed)) tBTM_BLE_CS_SUBEVT_RESULT_CONTINUE_EVT;
|
||||
} tBTM_BLE_CS_SUBEVT_RESULT_CONTINUE_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
@@ -1536,7 +1532,7 @@ typedef struct {
|
||||
UINT16 T_PM_times_supported;
|
||||
UINT8 T_SW_times_supported;
|
||||
UINT8 TX_SNR_capability;
|
||||
} __attribute__((packed)) tBTM_BLE_CS_READ_LOCAL_SUPP_CAPS_CMPL_EVT;
|
||||
} tBTM_BLE_CS_READ_LOCAL_SUPP_CAPS_CMPL_EVT;
|
||||
|
||||
#endif // (BT_BLE_FEAT_CHANNEL_SOUNDING == TRUE)
|
||||
|
||||
@@ -1741,44 +1737,38 @@ typedef void (*tBTM_BLE_ISO_CBACK)(tBTM_BLE_ISO_EVENT event, tBTM_BLE_ISO_CB_PAR
|
||||
#if (BLE_FEAT_CTE_EN == TRUE)
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_SET_TRANS_PARAMS_CMPL;
|
||||
} tBTM_BLE_CTE_SET_TRANS_PARAMS_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_SET_TRANS_EN_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_SET_TRANS_EN_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 sync_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_IQ_SAMP_EN_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_IQ_SAMP_EN_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONN_RECV_PARAMS_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_CONN_RECV_PARAMS_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONN_TRANS_PARAMS_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_CONN_TRANS_PARAMS_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONN_REQ_ENABLE_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_CONN_REQ_ENABLE_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONN_RSP_ENABLE_CMPL;
|
||||
|
||||
} tBTM_BLE_CTE_CONN_RSP_ENABLE_CMPL;
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT8 supported_switching_sampling_rates;
|
||||
UINT8 num_ant;
|
||||
UINT8 max_switching_pattern_len;
|
||||
UINT8 max_cte_len;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_READ_ANT_INFOR_CMPL;
|
||||
} tBTM_BLE_CTE_READ_ANT_INFOR_CMPL;
|
||||
|
||||
typedef struct {
|
||||
UINT16 sync_handle;
|
||||
@@ -1792,7 +1782,7 @@ typedef struct {
|
||||
UINT8 sample_count;
|
||||
UINT8 i_sample[0x52];
|
||||
UINT8 q_sample[0x52];
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONNLESS_IQ_REPORT_EVT;
|
||||
} tBTM_BLE_CTE_CONNLESS_IQ_REPORT_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT16 conn_handle;
|
||||
@@ -1807,12 +1797,12 @@ typedef struct {
|
||||
UINT8 sample_count;
|
||||
UINT8 i_sample[0x52];
|
||||
UINT8 q_sample[0x52];
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_CONN_IQ_REPORT_EVT;
|
||||
} tBTM_BLE_CTE_CONN_IQ_REPORT_EVT;
|
||||
|
||||
typedef struct {
|
||||
UINT8 status;
|
||||
UINT16 conn_handle;
|
||||
} __attribute__((packed)) tBTM_BLE_CTE_REQ_FAILED_EVT;
|
||||
} tBTM_BLE_CTE_REQ_FAILED_EVT;
|
||||
|
||||
typedef union {
|
||||
UINT8 status;
|
||||
|
||||
@@ -1295,7 +1295,7 @@ UINT8 btsnd_hcic_ble_set_ext_adv_params_v2(UINT8 adv_handle, UINT16 properties,
|
||||
#define HCIC_PARAM_SIZE_CREATE_CONFIG_PARAMS_LEN 28
|
||||
#define HCIC_PARAM_SIZE_REMOVE_CONFIG_PARAMS_LEN 3
|
||||
#define HCIC_PARAM_SIZE_SET_CHANNEL_CLASS_PARAMS_LEN 10
|
||||
#define HCIC_PARAM_SIZE_SET_PROCEDURE_PARAMS_LEN 21
|
||||
#define HCIC_PARAM_SIZE_SET_PROCEDURE_PARAMS_LEN 23
|
||||
#define HCIC_PARAM_SIZE_SET_PROCEDURE_ENABLE_PARAMS_LEN 4
|
||||
|
||||
UINT8 btsnd_hcic_ble_cs_read_local_supported_caps(void);
|
||||
|
||||
@@ -350,7 +350,7 @@ typedef struct {
|
||||
.ignore_wl_for_direct_adv = 0, \
|
||||
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \
|
||||
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
||||
.enable_csr = 0, \
|
||||
.enable_csr = DEFAULT_BT_LE_SUBRATE_ENABLED, \
|
||||
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
||||
.ble_llcp_disc_flag = BT_LE_CTRL_LLCP_DISC_FLAG, \
|
||||
.scan_backoff_upperlimitmax = BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX, \
|
||||
|
||||
@@ -288,7 +288,7 @@ typedef struct {
|
||||
.ignore_wl_for_direct_adv = 0, \
|
||||
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED, \
|
||||
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT, \
|
||||
.enable_csr = 0, \
|
||||
.enable_csr = DEFAULT_BT_LE_SUBRATE_ENABLED, \
|
||||
.ble_aa_check = DEFAULT_BT_LE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS, \
|
||||
.ble_llcp_disc_flag = BT_LE_CTRL_LLCP_DISC_FLAG, \
|
||||
.scan_backoff_upperlimitmax = BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX, \
|
||||
|
||||
@@ -1523,6 +1523,10 @@ config SOC_BLE_MULTI_CONN_OPTIMIZATION
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BLE_SUBRATE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BLE_PERIODIC_ADV_WITH_RESPONSE
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -596,6 +596,7 @@
|
||||
#define SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED (1) /*!< Support For BLE Periodic Adv Enhancements */
|
||||
#define SOC_BLUFI_SUPPORTED (1) /*!< Support BLUFI */
|
||||
#define SOC_BLE_MULTI_CONN_OPTIMIZATION (1) /*!< Support multiple connections optimization */
|
||||
#define SOC_BLE_SUBRATE_SUPPORTED (1) /*!< Support Bluetooth LE Connection Subrating */
|
||||
#define SOC_BLE_PERIODIC_ADV_WITH_RESPONSE (1) /*!< Support Bluetooth LE Periodic Advertising with Response (PAwR) */
|
||||
|
||||
#define SOC_BLE_USE_WIFI_PWR_CLK_WORKAROUND (1)
|
||||
|
||||
@@ -1479,6 +1479,10 @@ config SOC_BLE_CTE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BLE_SUBRATE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_BLE_PERIODIC_ADV_WITH_RESPONSE
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -598,4 +598,5 @@
|
||||
#define SOC_BLE_MULTI_CONN_OPTIMIZATION (1) /*!< Support multiple connections optimization */
|
||||
#define SOC_BLE_PERIODIC_ADV_ENH_SUPPORTED (1) /*!< Support For BLE Periodic Adv Enhancements */
|
||||
#define SOC_BLE_CTE_SUPPORTED (1) /*!< Support Bluetooth LE Constant Tone Extension (CTE) */
|
||||
#define SOC_BLE_SUBRATE_SUPPORTED (1) /*!< Support Bluetooth LE Connection Subrating */
|
||||
#define SOC_BLE_PERIODIC_ADV_WITH_RESPONSE (1) /*!< Support Bluetooth LE Periodic Advertising with Response (PAwR) */
|
||||
|
||||
Reference in New Issue
Block a user