Merge branch 'feat/optimzie_ble_ctrl_memory_v5.0' into 'release/v5.0'

ble: support only legacy adv and slave function on esp32c2 (v5.0)

See merge request espressif/esp-idf!30336
This commit is contained in:
Island 2024-04-22 22:51:02 +08:00
commit fb12a68017
5 changed files with 74 additions and 3 deletions

View File

@ -449,6 +449,7 @@ config BT_LE_USE_ESP_TIMER
Set this option to use Esp Timer which has higher priority timer instead of FreeRTOS timer Set this option to use Esp Timer which has higher priority timer instead of FreeRTOS timer
config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP config BT_CTRL_BLE_ADV_REPORT_FLOW_CTRL_SUPP
bool "BLE adv report flow control supported" bool "BLE adv report flow control supported"
depends on BT_LE_ROLE_OBSERVER_ENABLE
default y default y
help help
The function is mainly used to enable flow control for advertising reports. When it is enabled, The function is mainly used to enable flow control for advertising reports. When it is enabled,
@ -497,3 +498,31 @@ config BT_LE_CCA_RSSI_THRESH
default 20 default 20
help help
Power threshold of CCA in unit of -1 dBm. Power threshold of CCA in unit of -1 dBm.
config BT_LE_ROLE_CENTROL_ENABLE
bool "Enable BLE Centrol role function"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable centrol role function.
config BT_LE_ROLE_PERIPHERAL_ENABLE
bool "Enable BLE Peripheral role function"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable Peripheral role function.
config BT_LE_ROLE_BROADCASTER_ENABLE
bool "Enable BLE Broadcaster role function"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable broadcaster role function.
config BT_LE_ROLE_OBSERVER_ENABLE
bool "Enable BLE Observer role function"
depends on !BT_NIMBLE_ENABLED
default y
help
Enable observer role function.

View File

@ -646,6 +646,15 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
return ret; return ret;
} }
#if DEFAULT_BT_LE_50_FEATURE_SUPPORT || DEFAULT_BT_LE_ROLE_CENTROL || DEFAULT_BT_LE_ROLE_OBSERVER
extern int esp_ble_rom_func_ptr_init_all(void);
esp_ble_rom_func_ptr_init_all();
#else
ESP_LOGI(NIMBLE_PORT_LOG_TAG, "Init only legacy adv and slave function");
extern int esp_ble_rom_func_ptr_init_legacy_adv_and_slave(void);
esp_ble_rom_func_ptr_init_legacy_adv_and_slave();
#endif
/* Initialize the function pointers for OS porting */ /* Initialize the function pointers for OS porting */
npl_freertos_funcs_init(); npl_freertos_funcs_init();
struct npl_funcs_t *p_npl_funcs = npl_freertos_funcs_get(); struct npl_funcs_t *p_npl_funcs = npl_freertos_funcs_get();

View File

@ -46,6 +46,10 @@ extern "C" {
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0) #define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif #endif
#define DEFAULT_BT_LE_ROLE_OBSERVER MYNEWT_VAL(BLE_ROLE_OBSERVER)
#define DEFAULT_BT_LE_ROLE_CENTROL MYNEWT_VAL(BLE_ROLE_CENTRAL)
#define DEFAULT_BT_LE_ROLE_PERIPHERAL MYNEWT_VAL(BLE_ROLE_PERIPHERAL)
#define DEFAULT_BT_LE_ROLE_BROADCASTER MYNEWT_VAL(BLE_ROLE_BROADCASTER)
#else #else
#if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY #if CONFIG_BT_LE_LL_CFG_FEAT_LE_CODED_PHY
@ -57,13 +61,13 @@ extern "C" {
#if defined(CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST) #if defined(CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST) #define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (CONFIG_BT_LE_MAX_PERIODIC_ADVERTISER_LIST)
#else #else
#define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (5) #define DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST (0)
#endif #endif
#if defined(CONFIG_BT_LE_MAX_PERIODIC_SYNCS) #if defined(CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (CONFIG_BT_LE_MAX_PERIODIC_SYNCS) #define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (CONFIG_BT_LE_MAX_PERIODIC_SYNCS)
#else #else
#define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (1) #define DEFAULT_BT_LE_MAX_PERIODIC_SYNCS (0)
#endif #endif
#if defined(CONFIG_BT_LE_MAX_CONNECTIONS) #if defined(CONFIG_BT_LE_MAX_CONNECTIONS)
@ -125,6 +129,29 @@ extern "C" {
#define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0) #define DEFAULT_BT_LE_50_FEATURE_SUPPORT (0)
#endif #endif
#if defined(CONFIG_BT_LE_ROLE_CENTROL_ENABLE)
#define DEFAULT_BT_LE_ROLE_CENTROL (1)
#else
#define DEFAULT_BT_LE_ROLE_CENTROL (0)
#endif
#if defined(CONFIG_BT_LE_ROLE_PERIPHERAL_ENABLE)
#define DEFAULT_BT_LE_ROLE_PERIPHERAL (1)
#else
#define DEFAULT_BT_LE_ROLE_PERIPHERAL (0)
#endif
#if defined(CONFIG_BT_LE_ROLE_BROADCASTER_ENABLE)
#define DEFAULT_BT_LE_ROLE_BROADCASTER (1)
#else
#define DEFAULT_BT_LE_ROLE_BROADCASTER (0)
#endif
#if defined(CONFIG_BT_LE_ROLE_OBSERVER_ENABLE)
#define DEFAULT_BT_LE_ROLE_OBSERVER (1)
#else
#define DEFAULT_BT_LE_ROLE_OBSERVER (0)
#endif
#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

@ -1 +1 @@
Subproject commit ea4595a5630326d428ee3457df654e1840b5e101 Subproject commit b9a902c3551ef4a2032b6662a4cbb018125ddfda

View File

@ -9,4 +9,10 @@ CONFIG_BT_NIMBLE_BLUFI_ENABLE=y
# CONFIG_BT_BLE_50_FEATURES_SUPPORTED is not set # CONFIG_BT_BLE_50_FEATURES_SUPPORTED is not set
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_MBEDTLS_DHM_C=y CONFIG_MBEDTLS_DHM_C=y
# The config items for NIMBLE HOST
CONFIG_BT_NIMBLE_ENABLED=y CONFIG_BT_NIMBLE_ENABLED=y
CONFIG_BT_NIMBLE_ROLE_CENTRAL=n
CONFIG_BT_NIMBLE_ROLE_OBSERVER=n
CONFIG_BT_NIMBLE_50_FEATURE_SUPPORT=n
CONFIG_BT_NIMBLE_SECURITY_ENABLE=n
CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS=n