feat(ble): support sid filter feature on ESP32C6
This commit is contained in:
@@ -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
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -27,6 +27,16 @@ void extAdv_stack_deinitEnv(void);
|
|||||||
int extAdv_stack_enable(void);
|
int extAdv_stack_enable(void);
|
||||||
void extAdv_stack_disable(void);
|
void extAdv_stack_disable(void);
|
||||||
|
|
||||||
|
int scan_stack_initEnv(void);
|
||||||
|
void scan_stack_deinitEnv(void);
|
||||||
|
int scan_stack_enable(void);
|
||||||
|
void scan_stack_disable(void);
|
||||||
|
|
||||||
|
int scan_stack_initEnv(void);
|
||||||
|
void scan_stack_deinitEnv(void);
|
||||||
|
int scan_stack_enable(void);
|
||||||
|
void scan_stack_disable(void);
|
||||||
|
|
||||||
int sync_stack_initEnv(void);
|
int sync_stack_initEnv(void);
|
||||||
void sync_stack_deinitEnv(void);
|
void sync_stack_deinitEnv(void);
|
||||||
int sync_stack_enable(void);
|
int sync_stack_enable(void);
|
||||||
@@ -84,6 +94,12 @@ void winWiden_stack_enableSetConstPeerScaVsCmd(bool en);
|
|||||||
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
||||||
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
||||||
void sleep_stack_enableWakeupVsEvent(bool en);
|
void sleep_stack_enableWakeupVsEvent(bool en);
|
||||||
|
#if DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
|
void scan_stack_enableSetScanADIOnlyFilterVsCmd(bool en);
|
||||||
|
#endif // DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
|
#if DEFAULT_BT_ADV_SEND_CONSTANT_DID
|
||||||
|
void extAdv_stack_setExtAdvConstantDidVsCmd(bool en);
|
||||||
|
#endif // DEFAULT_BT_ADV_SEND_CONSTANT_DID
|
||||||
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
#if CONFIG_BT_LE_RXBUF_OPT_ENABLED
|
#if CONFIG_BT_LE_RXBUF_OPT_ENABLED
|
||||||
extern void mmgmt_enableRxbufOptFeature(void);
|
extern void mmgmt_enableRxbufOptFeature(void);
|
||||||
@@ -104,6 +120,12 @@ void ble_stack_enableVsCmds(bool en)
|
|||||||
log_stack_enableLogsRelatedVsCmd(en);
|
log_stack_enableLogsRelatedVsCmd(en);
|
||||||
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
||||||
winWiden_stack_enableSetConstPeerScaVsCmd(en);
|
winWiden_stack_enableSetConstPeerScaVsCmd(en);
|
||||||
|
#if DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
|
scan_stack_enableSetScanADIOnlyFilterVsCmd(en);
|
||||||
|
#endif // DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
|
#if DEFAULT_BT_ADV_SEND_CONSTANT_DID
|
||||||
|
extAdv_stack_setExtAdvConstantDidVsCmd(en);
|
||||||
|
#endif // DEFAULT_BT_ADV_SEND_CONSTANT_DID
|
||||||
}
|
}
|
||||||
|
|
||||||
void ble_stack_enableVsEvents(bool en)
|
void ble_stack_enableVsEvents(bool en)
|
||||||
@@ -136,6 +158,11 @@ int ble_stack_initEnv(void)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rc = scan_stack_initEnv();
|
||||||
|
if (rc) {
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
rc = sync_stack_initEnv();
|
rc = sync_stack_initEnv();
|
||||||
if (rc) {
|
if (rc) {
|
||||||
return rc;
|
return rc;
|
||||||
@@ -210,6 +237,7 @@ void ble_stack_deinitEnv(void)
|
|||||||
#endif // CONFIG_BT_LE_DTM_ENABLED
|
#endif // CONFIG_BT_LE_DTM_ENABLED
|
||||||
|
|
||||||
sync_stack_deinitEnv();
|
sync_stack_deinitEnv();
|
||||||
|
scan_stack_deinitEnv();
|
||||||
extAdv_stack_deinitEnv();
|
extAdv_stack_deinitEnv();
|
||||||
adv_stack_deinitEnv();
|
adv_stack_deinitEnv();
|
||||||
base_stack_deinitEnv();
|
base_stack_deinitEnv();
|
||||||
@@ -234,6 +262,11 @@ int ble_stack_enable(void)
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rc = scan_stack_enable();
|
||||||
|
if (rc) {
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
rc = sync_stack_enable();
|
rc = sync_stack_enable();
|
||||||
if (rc) {
|
if (rc) {
|
||||||
return rc;
|
return rc;
|
||||||
@@ -302,6 +335,7 @@ void ble_stack_disable(void)
|
|||||||
dtm_stack_disable();
|
dtm_stack_disable();
|
||||||
#endif // CONFIG_BT_LE_DTM_ENABLED
|
#endif // CONFIG_BT_LE_DTM_ENABLED
|
||||||
sync_stack_disable();
|
sync_stack_disable();
|
||||||
|
scan_stack_disable();
|
||||||
extAdv_stack_disable();
|
extAdv_stack_disable();
|
||||||
adv_stack_disable();
|
adv_stack_disable();
|
||||||
base_stack_disable();
|
base_stack_disable();
|
||||||
|
|||||||
@@ -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
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -51,6 +51,16 @@ extern "C" {
|
|||||||
#else
|
#else
|
||||||
#define DEFAULT_BT_LE_PAWR_SUPPORTED (0)
|
#define DEFAULT_BT_LE_PAWR_SUPPORTED (0)
|
||||||
#endif // CONFIG_BT_NIMBLE_PERIODIC_ADV_WITH_RESPONSES
|
#endif // CONFIG_BT_NIMBLE_PERIODIC_ADV_WITH_RESPONSES
|
||||||
|
#if CONFIG_BT_NIMBLE_ADV_SEND_CONSTANT_DID
|
||||||
|
#define DEFAULT_BT_ADV_SEND_CONSTANT_DID (1)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_ADV_SEND_CONSTANT_DID (0)
|
||||||
|
#endif // CONFIG_BT_NIMBLE_ADV_SEND_CONSTANT_DID
|
||||||
|
#if CONFIG_BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
|
#define DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER (1)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER (0)
|
||||||
|
#endif // CONFIG_BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
|
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
|
||||||
@@ -158,6 +168,8 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_BT_LE_SUBRATE_ENABLED 0
|
#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
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
#define DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ esp_err_t esp_ble_tx_power_set_enhanced(esp_ble_enhanced_power_type_t power_type
|
|||||||
*/
|
*/
|
||||||
esp_power_level_t esp_ble_tx_power_get_enhanced(esp_ble_enhanced_power_type_t power_type, uint16_t handle);
|
esp_power_level_t esp_ble_tx_power_get_enhanced(esp_ble_enhanced_power_type_t power_type, uint16_t handle);
|
||||||
|
|
||||||
#define CONFIG_VERSION 0x20251125
|
#define CONFIG_VERSION 0x20251211
|
||||||
#define CONFIG_MAGIC 0x5A5AA5A5
|
#define CONFIG_MAGIC 0x5A5AA5A5
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -237,6 +237,7 @@ typedef struct {
|
|||||||
uint8_t priority_level_cfg; /*!< The option for priority level configuration */
|
uint8_t priority_level_cfg; /*!< The option for priority level configuration */
|
||||||
uint8_t slv_fst_rx_lat_en; /*!< The option for enabling slave fast PDU reception during latency. */
|
uint8_t slv_fst_rx_lat_en; /*!< The option for enabling slave fast PDU reception during latency. */
|
||||||
uint8_t dl_itvl_phy_sync_en; /*!< The option for automatically initiate the data length update when phy update or connect interval update. */
|
uint8_t dl_itvl_phy_sync_en; /*!< The option for automatically initiate the data length update when phy update or connect interval update. */
|
||||||
|
uint8_t scan_allow_adi_filter; /*!< The option for ext scan to allow PDU with specific adi. */
|
||||||
uint32_t config_magic; /*!< Magic number for configuration validation */
|
uint32_t config_magic; /*!< Magic number for configuration validation */
|
||||||
} esp_bt_controller_config_t;
|
} esp_bt_controller_config_t;
|
||||||
|
|
||||||
@@ -304,6 +305,7 @@ typedef struct {
|
|||||||
.priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \
|
.priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \
|
||||||
.slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \
|
.slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \
|
||||||
.dl_itvl_phy_sync_en = DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN, \
|
.dl_itvl_phy_sync_en = DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN, \
|
||||||
|
.scan_allow_adi_filter = DEFAULT_BT_SCAN_ALLOW_ENH_ADI_FILTER, \
|
||||||
.config_magic = CONFIG_MAGIC, \
|
.config_magic = CONFIG_MAGIC, \
|
||||||
}
|
}
|
||||||
#elif CONFIG_IDF_TARGET_ESP32C61
|
#elif CONFIG_IDF_TARGET_ESP32C61
|
||||||
|
|||||||
Reference in New Issue
Block a user