diff --git a/components/bt/common/btc/core/btc_task.c b/components/bt/common/btc/core/btc_task.c index 61ba03752f..e548b3f83c 100644 --- a/components/bt/common/btc/core/btc_task.c +++ b/components/bt/common/btc/core/btc_task.c @@ -90,9 +90,9 @@ static const btc_func_t profile_tab[BTC_PID_NUM] = { #endif ///BLE_INCLUDED == TRUE [BTC_PID_BLE_HID] = {NULL, NULL}, [BTC_PID_SPPLIKE] = {NULL, NULL}, -#if (GATTS_INCLUDED == TRUE) +#if (BLUFI_INCLUDED == TRUE) [BTC_PID_BLUFI] = {btc_blufi_call_handler, btc_blufi_cb_handler }, -#endif ///GATTS_INCLUDED == TRUE +#endif ///BLUFI_INCLUDED == TRUE [BTC_PID_DM_SEC] = {NULL, btc_dm_sec_cb_handler }, #endif [BTC_PID_ALARM] = {btc_alarm_handler, NULL }, @@ -275,12 +275,13 @@ static void btc_deinit_mem(void) { osi_free(btc_creat_tab_env_ptr); btc_creat_tab_env_ptr = NULL; } - +#if (BLUFI_INCLUDED == TRUE) if (blufi_env_ptr) { osi_free(blufi_env_ptr); blufi_env_ptr = NULL; } #endif +#endif #if BTC_HF_CLIENT_INCLUDED == TRUE && HFP_DYNAMIC_MEMORY == TRUE if (hf_client_local_param_ptr) { @@ -329,12 +330,13 @@ static bt_status_t btc_init_mem(void) { goto error_exit; } memset((void *)btc_creat_tab_env_ptr, 0, sizeof(esp_btc_creat_tab_t)); - +#if (BLUFI_INCLUDED == TRUE) if ((blufi_env_ptr = (tBLUFI_ENV *)osi_malloc(sizeof(tBLUFI_ENV))) == NULL) { goto error_exit; } memset((void *)blufi_env_ptr, 0, sizeof(tBLUFI_ENV)); #endif +#endif #if BTC_HF_CLIENT_INCLUDED == TRUE && HFP_DYNAMIC_MEMORY == TRUE if ((hf_client_local_param_ptr = (hf_client_local_param_t *)osi_malloc(sizeof(hf_client_local_param_t))) == NULL) { diff --git a/components/bt/common/btc/include/btc/btc_task.h b/components/bt/common/btc/include/btc/btc_task.h index cdc51c9f53..ce62567c45 100644 --- a/components/bt/common/btc/include/btc/btc_task.h +++ b/components/bt/common/btc/include/btc/btc_task.h @@ -53,7 +53,9 @@ typedef enum { BTC_PID_GAP_BLE, BTC_PID_BLE_HID, BTC_PID_SPPLIKE, +#if (BLUFI_INCLUDED == TRUE) BTC_PID_BLUFI, +#endif ///BLUFI_INCLUDED == TRUE BTC_PID_DM_SEC, BTC_PID_ALARM, #if (CLASSIC_BT_INCLUDED == TRUE) diff --git a/components/bt/host/bluedroid/Kconfig.in b/components/bt/host/bluedroid/Kconfig.in index fa39d4820d..8cf9cf17ce 100644 --- a/components/bt/host/bluedroid/Kconfig.in +++ b/components/bt/host/bluedroid/Kconfig.in @@ -118,6 +118,13 @@ config BT_GATTS_ENABLE help This option can be disabled when the app work only on gatt client mode +config BT_BLE_BLUFI_ENABLE + bool "Include blufi function" + depends on BT_GATTS_ENABLE + default n + help + This option can be close when the app does not require blufi function. + choice BT_GATTS_SEND_SERVICE_CHANGE_MODE prompt "GATTS Service Change Mode" default BT_GATTS_SEND_SERVICE_CHANGE_AUTO diff --git a/components/bt/host/bluedroid/api/esp_blufi_api.c b/components/bt/host/bluedroid/api/esp_blufi_api.c index e6d8648ab8..6a915fa2e8 100644 --- a/components/bt/host/bluedroid/api/esp_blufi_api.c +++ b/components/bt/host/bluedroid/api/esp_blufi_api.c @@ -23,7 +23,8 @@ #include "osi/future.h" #include "btc_gatts.h" #include "btc_gatt_util.h" - +#include "common/bt_target.h" +#if (BLUFI_INCLUDED == TRUE) esp_err_t esp_blufi_register_callbacks(esp_blufi_callbacks_t *callbacks) { if (esp_bluedroid_get_status() == ESP_BLUEDROID_STATUS_UNINITIALIZED) { @@ -162,3 +163,4 @@ esp_err_t esp_blufi_send_custom_data(uint8_t *data, uint32_t data_len) return (btc_transfer_context(&msg, &arg, sizeof(btc_blufi_args_t), btc_blufi_call_deep_copy) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL); } +#endif ///BLUFI_INCLUDED == TRUE diff --git a/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_prf.c b/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_prf.c index 34ebb27647..dec4caceae 100644 --- a/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_prf.c +++ b/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_prf.c @@ -38,7 +38,7 @@ #include "esp_blufi_api.h" #include "esp_gatt_common_api.h" -#if (GATTS_INCLUDED == TRUE) +#if (BLUFI_INCLUDED == TRUE) #define BT_BD_ADDR_STR "%02x:%02x:%02x:%02x:%02x:%02x" #define BT_BD_ADDR_HEX(addr) addr[0], addr[1], addr[2], addr[3], addr[4], addr[5] @@ -1134,4 +1134,4 @@ uint16_t btc_blufi_get_version(void) return BTC_BLUFI_VERSION; } -#endif ///GATTS_INCLUDED == TRUE +#endif ///BLUFI_INCLUDED == TRUE diff --git a/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_protocol.c b/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_protocol.c index ab81eac507..746b6c82e0 100644 --- a/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_protocol.c +++ b/components/bt/host/bluedroid/btc/profile/esp/blufi/blufi_protocol.c @@ -34,8 +34,7 @@ #include "blufi_int.h" //#include "esp_wifi.h" - -#if (GATTS_INCLUDED == TRUE) +#if (BLUFI_INCLUDED == TRUE) // extern tBLUFI_ENV blufi_env; void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len) @@ -269,4 +268,4 @@ void btc_blufi_protocol_handler(uint8_t type, uint8_t *data, int len) } } -#endif ///(GATTS_INCLUDED == TRUE) +#endif ///BLUFI_INCLUDED == TRUE diff --git a/components/bt/host/bluedroid/btc/profile/esp/blufi/include/blufi_int.h b/components/bt/host/bluedroid/btc/profile/esp/blufi/include/blufi_int.h index cd6f5a200b..6b7b9fb3f9 100644 --- a/components/bt/host/bluedroid/btc/profile/esp/blufi/include/blufi_int.h +++ b/components/bt/host/bluedroid/btc/profile/esp/blufi/include/blufi_int.h @@ -15,6 +15,7 @@ #ifndef __BLUFI_INT_H__ #define __BLUFI_INT_H__ +#if (BLUFI_INCLUDED == TRUE) #define BTC_BLUFI_GREAT_VER 0x01 //Version + Subversion #define BTC_BLUFI_SUB_VER 0x02 //Version + Subversion #define BTC_BLUFI_VERSION ((BTC_BLUFI_GREAT_VER<<8)|BTC_BLUFI_SUB_VER) //Version + Subversion @@ -191,3 +192,4 @@ void btc_blufi_cb_deep_copy(btc_msg_t *msg, void *p_dest, void *p_src); void btc_blufi_cb_deep_free(btc_msg_t *msg); #endif /* __BLUFI_INT_H__ */ +#endif ///BLUFI_INCLUDED == TRUE diff --git a/components/bt/host/bluedroid/common/include/common/bluedroid_user_config.h b/components/bt/host/bluedroid/common/include/common/bluedroid_user_config.h index 305ca11dc3..4e5ed14c35 100644 --- a/components/bt/host/bluedroid/common/include/common/bluedroid_user_config.h +++ b/components/bt/host/bluedroid/common/include/common/bluedroid_user_config.h @@ -88,6 +88,13 @@ #define UC_BT_GATTC_ENABLE FALSE #endif +//BLUFI +#ifdef CONFIG_BT_BLE_BLUFI_ENABLE +#define UC_BT_BLUFI_ENABLE CONFIG_BT_BLE_BLUFI_ENABLE +#else +#define UC_BT_BLUFI_ENABLE FALSE +#endif + //GATTC CACHE #ifdef CONFIG_BT_GATTC_CACHE_NVS_FLASH #define UC_BT_GATTC_CACHE_NVS_FLASH_ENABLED CONFIG_BT_GATTC_CACHE_NVS_FLASH diff --git a/components/bt/host/bluedroid/common/include/common/bt_target.h b/components/bt/host/bluedroid/common/include/common/bt_target.h index cced6d33db..beeb70b79a 100644 --- a/components/bt/host/bluedroid/common/include/common/bt_target.h +++ b/components/bt/host/bluedroid/common/include/common/bt_target.h @@ -144,6 +144,12 @@ #define GATTC_INCLUDED FALSE #endif /* UC_BT_GATTC_ENABLE */ +#if (UC_BT_BLUFI_ENABLE) +#define BLUFI_INCLUDED TRUE +#else +#define BLUFI_INCLUDED FALSE +#endif /* UC_BT_BLUFI_ENABLE */ + #if (UC_BT_GATTC_ENABLE && UC_BT_GATTC_CACHE_NVS_FLASH_ENABLED) #define GATTC_CACHE_NVS TRUE #else diff --git a/examples/bluetooth/bluedroid/ble/blufi/sdkconfig.defaults b/examples/bluetooth/bluedroid/ble/blufi/sdkconfig.defaults index dcadf58eec..04506e6825 100644 --- a/examples/bluetooth/bluedroid/ble/blufi/sdkconfig.defaults +++ b/examples/bluetooth/bluedroid/ble/blufi/sdkconfig.defaults @@ -29,3 +29,5 @@ CONFIG_BT_ACL_CONNECTIONS=4 CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=n CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=n CONFIG_BT_SMP_ENABLE=n +CONFIG_BT_BLE_BLUFI_ENABLE=y +CONFIG_MBEDTLS_HARDWARE_MPI=n