diff --git a/components/bt/Kconfig b/components/bt/Kconfig index e2f7d97340..4e8e317927 100644 --- a/components/bt/Kconfig +++ b/components/bt/Kconfig @@ -8,11 +8,11 @@ config BT_ENABLED help This compiles in the low-level BT stack. -menu "BT_UTIL" +menu "BT UTILITY OPTION" visible if BT_ENABLED config BT_USE_ETS_PRINT - bool "BT USE ETS_PRINT" + bool "BT use print which has lock" default y depends on BT_ENABLED help @@ -20,6 +20,13 @@ config BT_USE_ETS_PRINT endmenu #menu +config BTC_TASK_STACK_SIZE + int "BT event (callback to application) task stack size" + default 2048 + depends on BT_ENABLED + help + This select btc task stack size + #config BT_BTLE # bool "Enable BTLE" # depends on BT_ENABLED diff --git a/components/bt/bluedroid/bta/include/bta_api.h b/components/bt/bluedroid/bta/include/bta_api.h index 9b8a405995..182482ef0f 100644 --- a/components/bt/bluedroid/bta/include/bta_api.h +++ b/components/bt/bluedroid/bta/include/bta_api.h @@ -29,6 +29,7 @@ #include "bt_types.h" #include "btm_api.h" #include "uipc_msg.h" +#include "sdp_api.h" #if BLE_INCLUDED == TRUE #include "btm_ble_api.h" diff --git a/components/bt/bluedroid/bta/include/bta_gattc_int.h b/components/bt/bluedroid/bta/include/bta_gattc_int.h index b915005ba8..d50c66226e 100644 --- a/components/bt/bluedroid/bta/include/bta_gattc_int.h +++ b/components/bt/bluedroid/bta/include/bta_gattc_int.h @@ -77,12 +77,12 @@ typedef UINT16 tBTA_GATTC_INT_EVT; /* max client application GATTC can support */ #ifndef BTA_GATTC_CL_MAX -#define BTA_GATTC_CL_MAX 4 // 32 +#define BTA_GATTC_CL_MAX 3 // 32 #endif /* max known devices GATTC can support */ #ifndef BTA_GATTC_KNOWN_SR_MAX -#define BTA_GATTC_KNOWN_SR_MAX 4 // 10 +#define BTA_GATTC_KNOWN_SR_MAX 3 // 10 #endif #define BTA_GATTC_CONN_MAX GATT_MAX_PHY_CHANNEL diff --git a/components/bt/bluedroid/btc/include/btc_task.h b/components/bt/bluedroid/btc/include/btc_task.h index 923b8b84e5..1574dae2f3 100644 --- a/components/bt/bluedroid/btc/include/btc_task.h +++ b/components/bt/bluedroid/btc/include/btc_task.h @@ -17,11 +17,7 @@ #include #include "bt_defs.h" - -#define BTC_TASK_QUEUE_NUM 20 -#define BTC_TASK_STACK_SIZE 4096 -#define BTC_TASK_NAME "btcT" -#define BTC_TASK_PRIO (configMAX_PRIORITIES - 5) +#include "thread.h" typedef struct btc_msg { uint8_t sig; //event signal diff --git a/components/bt/bluedroid/hci/hci_hal_h4.c b/components/bt/bluedroid/hci/hci_hal_h4.c index b3b2856fba..eb61903578 100644 --- a/components/bt/bluedroid/hci/hci_hal_h4.c +++ b/components/bt/bluedroid/hci/hci_hal_h4.c @@ -101,8 +101,8 @@ static bool hal_open(const hci_hal_callbacks_t *upper_callbacks) hci_hal_env_init(HCI_HAL_SERIAL_BUFFER_SIZE, SIZE_MAX); - xHciH4Queue = xQueueCreate(60, sizeof(BtTaskEvt_t)); - xTaskCreate(hci_hal_h4_rx_handler, "HciH4T", 1024 + 256, NULL, configMAX_PRIORITIES - 3, &xHciH4TaskHandle); + xHciH4Queue = xQueueCreate(HCI_H4_QUEUE_NUM, sizeof(BtTaskEvt_t)); + xTaskCreate(hci_hal_h4_rx_handler, HCI_H4_TASK_NAME, HCI_H4_TASK_STACK_SIZE, NULL, HCI_H4_TASK_PRIO, &xHciH4TaskHandle); //register vhci host cb API_vhci_host_register_callback(&vhci_host_cb); diff --git a/components/bt/bluedroid/hci/hci_layer.c b/components/bt/bluedroid/hci/hci_layer.c index 29704d5be3..8fc55d08d3 100644 --- a/components/bt/bluedroid/hci/hci_layer.c +++ b/components/bt/bluedroid/hci/hci_layer.c @@ -113,8 +113,8 @@ int hci_start_up(void) goto error; } - xHciHostQueue = xQueueCreate(60, sizeof(BtTaskEvt_t)); - xTaskCreate(hci_host_thread_handler, "HciHostT", (1024+256), NULL, configMAX_PRIORITIES - 3, &xHciHostTaskHandle); + xHciHostQueue = xQueueCreate(HCI_HOST_QUEUE_NUM, sizeof(BtTaskEvt_t)); + xTaskCreate(hci_host_thread_handler, HCI_HOST_TASK_NAME, HCI_HOST_TASK_STACK_SIZE, NULL, HCI_HOST_TASK_PRIO, &xHciHostTaskHandle); packet_fragmenter->init(&packet_fragmenter_callbacks); hal->open(&hal_callbacks); diff --git a/components/bt/bluedroid/include/bt_target.h b/components/bt/bluedroid/include/bt_target.h index 1bedf45f52..451badffa5 100644 --- a/components/bt/bluedroid/include/bt_target.h +++ b/components/bt/bluedroid/include/bt_target.h @@ -403,7 +403,7 @@ /* Includes SCO if TRUE */ #ifndef BTM_SCO_INCLUDED -#define BTM_SCO_INCLUDED FALSE /* TRUE includes SCO code */ +#define BTM_SCO_INCLUDED FALSE //TRUE /* TRUE includes SCO code */ #endif /* Includes SCO if TRUE */ @@ -480,7 +480,7 @@ /* The number of SCO links. */ #ifndef BTM_MAX_SCO_LINKS -#define BTM_MAX_SCO_LINKS 1 +#define BTM_MAX_SCO_LINKS 1 //3 #endif /* The preferred type of SCO links (2-eSCO, 0-SCO). */ diff --git a/components/bt/bluedroid/osi/include/thread.h b/components/bt/bluedroid/osi/include/thread.h index 60e41990d8..d4d41542b8 100644 --- a/components/bt/bluedroid/osi/include/thread.h +++ b/components/bt/bluedroid/osi/include/thread.h @@ -43,6 +43,26 @@ enum { // SIG_BTIF_WORK = 0xff }; +#define HCI_HOST_TASK_STACK_SIZE 1024 +#define HCI_HOST_TASK_PRIO (configMAX_PRIORITIES - 3) +#define HCI_HOST_TASK_NAME "hciHostT" +#define HCI_HOST_QUEUE_NUM 30 + +#define HCI_H4_TASK_STACK_SIZE 1024 +#define HCI_H4_TASK_PRIO (configMAX_PRIORITIES - 3) +#define HCI_H4_TASK_NAME "hciH4T" +#define HCI_H4_QUEUE_NUM 30 + +#define BTU_TASK_STACK_SIZE 4096 +#define BTU_TASK_PRIO (configMAX_PRIORITIES - 1) +#define BTU_TASK_NAME "btuT" +#define BTU_QUEUE_NUM 30 + +#define BTC_TASK_QUEUE_NUM 20 +#define BTC_TASK_STACK_SIZE CONFIG_BTC_TASK_STACK_SIZE //by menuconfig +#define BTC_TASK_NAME "btcT" +#define BTC_TASK_PRIO (configMAX_PRIORITIES - 5) + void btu_task_post(uint32_t sig); void hci_host_task_post(void); void hci_hal_h4_task_post(void); diff --git a/components/bt/bluedroid/stack/btm/btm_ble_gap.c b/components/bt/bluedroid/stack/btm/btm_ble_gap.c index 0e484d9526..906300a8a8 100644 --- a/components/bt/bluedroid/stack/btm/btm_ble_gap.c +++ b/components/bt/bluedroid/stack/btm/btm_ble_gap.c @@ -2615,13 +2615,15 @@ BOOLEAN btm_ble_update_inq_result(tINQ_DB_ENT *p_i, UINT8 addr_type, UINT8 evt_t BTM_BLE_AD_TYPE_16SRV_CMPL, &len)) != NULL) { UINT8 i; for (i = 0; i + 2 <= len; i = i + 2) { - /* if this BLE device support HID over LE, set HID Major in class of device */ +#if BTA_HH_LE_INCLUDED == TRUE + /* if this BLE device support HID over LE, set HID Major in class of device */ if ((p_uuid16[i] | (p_uuid16[i + 1] << 8)) == UUID_SERVCLASS_LE_HID) { p_cur->dev_class[0] = 0; p_cur->dev_class[1] = BTM_COD_MAJOR_PERIPHERAL; p_cur->dev_class[2] = 0; break; } +#endif /* BTA_HH_LE_INCLUDED */ } } } diff --git a/components/bt/bluedroid/stack/btu/btu_init.c b/components/bt/bluedroid/stack/btu/btu_init.c index 68c4e03b5c..150073c005 100644 --- a/components/bt/bluedroid/stack/btu/btu_init.c +++ b/components/bt/bluedroid/stack/btu/btu_init.c @@ -200,9 +200,8 @@ void BTU_StartUp(void) goto error_exit; } - xBtuQueue = xQueueCreate(60, sizeof(BtTaskEvt_t)); - xTaskCreate(btu_task_thread_handler, "BtuT", 2048 + 1024, NULL, configMAX_PRIORITIES - 1, &xBtuTaskHandle); - + xBtuQueue = xQueueCreate(BTU_QUEUE_NUM, sizeof(BtTaskEvt_t)); + xTaskCreate(btu_task_thread_handler, BTU_TASK_NAME, BTU_TASK_STACK_SIZE, NULL, BTU_TASK_PRIO, &xBtuTaskHandle); btu_task_post(SIG_BTU_START_UP); /* // Continue startup on bt workqueue thread. diff --git a/components/bt/bluedroid/stack/gap/gap_ble.c b/components/bt/bluedroid/stack/gap/gap_ble.c index 70c4a22f69..b560fad651 100644 --- a/components/bt/bluedroid/stack/gap/gap_ble.c +++ b/components/bt/bluedroid/stack/gap/gap_ble.c @@ -28,6 +28,7 @@ #include "gatt_int.h" #include "btm_int.h" #include "hcimsgs.h" +#include "sdpdefs.h" #define GAP_CHAR_ICON_SIZE 2 #define GAP_CHAR_DEV_NAME_SIZE 248 diff --git a/components/bt/bluedroid/stack/gatt/gatt_api.c b/components/bt/bluedroid/stack/gatt/gatt_api.c index 1a61d60b14..c464508da9 100644 --- a/components/bt/bluedroid/stack/gatt/gatt_api.c +++ b/components/bt/bluedroid/stack/gatt/gatt_api.c @@ -33,7 +33,8 @@ #include "gatt_int.h" #include "l2c_api.h" #include "btm_int.h" - +#include "sdpdefs.h" +#include "sdp_api.h" /******************************************************************************* ** diff --git a/components/bt/bluedroid/stack/gatt/gatt_attr.c b/components/bt/bluedroid/stack/gatt/gatt_attr.c index b7a87192b4..b0aa3f71d1 100644 --- a/components/bt/bluedroid/stack/gatt/gatt_attr.c +++ b/components/bt/bluedroid/stack/gatt/gatt_attr.c @@ -28,6 +28,7 @@ #include "gatt_api.h" #include "gatt_int.h" +#include "sdpdefs.h" #if BLE_INCLUDED == TRUE diff --git a/components/bt/bluedroid/stack/include/gap_api.h b/components/bt/bluedroid/stack/include/gap_api.h index 2dc9836a88..1f22db008d 100644 --- a/components/bt/bluedroid/stack/include/gap_api.h +++ b/components/bt/bluedroid/stack/include/gap_api.h @@ -19,6 +19,7 @@ #ifndef GAP_API_H #define GAP_API_H +#include "sdpdefs.h" #include "profiles_api.h" #include "btm_api.h" #include "l2c_api.h" diff --git a/components/bt/component.mk b/components/bt/component.mk index 35c34e773b..a591dee3ac 100644 --- a/components/bt/component.mk +++ b/components/bt/component.mk @@ -83,7 +83,7 @@ COMPONENT_SRCDIRS := bluedroid/bta/dm \ bluedroid \ . -include $(IDF_PATH)/make/component_common.mk +#include $(IDF_PATH)/make/component_common.mk ALL_LIB_FILES := $(patsubst %,$(COMPONENT_PATH)/lib/lib%.a,$(LIBS)) $(COMPONENT_LIBRARY): $(ALL_LIB_FILES) diff --git a/examples/09_a2dp/components/bluedroid_demos/component.mk b/examples/09_a2dp/components/bluedroid_demos/component.mk index 3260abf0ef..714c9cd13c 100755 --- a/examples/09_a2dp/components/bluedroid_demos/component.mk +++ b/examples/09_a2dp/components/bluedroid_demos/component.mk @@ -27,4 +27,4 @@ COMPONENT_SRCDIRS := \ CFLAGS += -Wno-error=unused-label -Wno-error=return-type -Wno-error=missing-braces -Wno-error=pointer-sign -Wno-error=parentheses -I./include -include $(IDF_PATH)/make/component_common.mk +#include $(IDF_PATH)/make/component_common.mk