diff --git a/components/bt/host/nimble/Kconfig.in b/components/bt/host/nimble/Kconfig.in index dc82f62561..f8c8249ee6 100644 --- a/components/bt/host/nimble/Kconfig.in +++ b/components/bt/host/nimble/Kconfig.in @@ -1619,6 +1619,24 @@ menu "Vendor / Optimization" depends on BT_NIMBLE_ENABLED help This enable BLE high duty advertising interval feature + + config BT_NIMBLE_ADV_SEND_CONSTANT_DID + bool "Enable BLE Ext Adv to Send with Specific DID" + depends on SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_50_FEATURE_SUPPORT && !(IDF_TARGET_ESP32C2) + select BT_NIMBLE_VS_SUPPORT + help + This enable vendor-specific APIs to send specific DID for different advertising data in extended + advertising. + + config BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER + bool "Enable BLE Ext Scan to Receive Packet with Specific ADI" + depends on SOC_ESP_NIMBLE_CONTROLLER && BT_NIMBLE_50_FEATURE_SUPPORT && !(IDF_TARGET_ESP32C2) + select BT_NIMBLE_VS_SUPPORT + help + This enables vendor-specific APIs to only receive specific groups of ADIs, and implements DIDs + duplicate filtering for extended scanning. Enabling this can reduce the unnecessary reception of + secondary channel PDUs carrying non-targeted ADIs. + endmenu #Vendor menu "Helper Utils" diff --git a/components/bt/host/nimble/port/include/esp_nimble_cfg.h b/components/bt/host/nimble/port/include/esp_nimble_cfg.h index 8155a2a6d0..cf36dec256 100644 --- a/components/bt/host/nimble/port/include/esp_nimble_cfg.h +++ b/components/bt/host/nimble/port/include/esp_nimble_cfg.h @@ -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 */ @@ -2356,4 +2356,20 @@ #endif #endif +#ifndef MYNEWT_VAL_BLE_ADV_SEND_CONSTANT_DID +#ifdef CONFIG_BT_NIMBLE_ADV_SEND_CONSTANT_DID +#define MYNEWT_VAL_BLE_ADV_SEND_CONSTANT_DID (CONFIG_BT_NIMBLE_ADV_SEND_CONSTANT_DID) +#else +#define MYNEWT_VAL_BLE_ADV_SEND_CONSTANT_DID (0) +#endif +#endif + +#ifndef MYNEWT_VAL_BLE_SCAN_ALLOW_ENH_ADI_FILTER +#ifdef CONFIG_BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER +#define MYNEWT_VAL_BLE_SCAN_ALLOW_ENH_ADI_FILTER (CONFIG_BT_NIMBLE_SCAN_ALLOW_ENH_ADI_FILTER) +#else +#define MYNEWT_VAL_BLE_SCAN_ALLOW_ENH_ADI_FILTER (0) +#endif +#endif + #endif