Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to enable/disable ble service change registration #1673

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 14 additions & 5 deletions components/bt/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ choice BTDM_CONTROLLER_HCI_MODE_CHOICE

config BTDM_CONTROLLER_HCI_MODE_VHCI
bool "VHCI"
help
help
Normal option. Mostly, choose this VHCI when bluetooth host run on ESP32, too.

config BTDM_CONTROLLER_HCI_MODE_UART_H4
Expand Down Expand Up @@ -119,7 +119,7 @@ config A2DP_ENABLE
default n
help
Advanced Audio Distrubution Profile

choice A2DP_ROLE
prompt "A2DP ROLE config"
depends on A2DP_ENABLE
Expand Down Expand Up @@ -150,7 +150,7 @@ config BT_SPP_ENABLED
config GATTS_ENABLE
bool "Include GATT server module(GATTS)"
depends on BLUEDROID_ENABLED
default y
default y
help
This option can be disabled when the app work only on gatt client mode

Expand All @@ -168,6 +168,15 @@ config BLE_SMP_ENABLE
help
This option can be close when the app not used the ble security connect.

config BLE_ENABLE_SRVCHG_REG
bool "Enable automatic service change notify registration"
depends on BLUEDROID_ENABLED
default y
help
This option enables automatic registration of service change notification
after connect. Be careful, it can may collide with your command sequences
and lead to GATT_BUSY.

config BT_STACK_NO_LOG
bool "Close the bluedroid bt stack log print"
depends on BLUEDROID_ENABLED
Expand All @@ -180,7 +189,7 @@ config BT_ACL_CONNECTIONS
depends on BLUEDROID_ENABLED
range 1 7
default 4
help
help
Maximum BT/BLE connection count

config BT_ALLOCATION_FROM_SPIRAM_FIRST
Expand All @@ -201,7 +210,7 @@ config SMP_ENABLE
bool
depends on BLUEDROID_ENABLED
default CLASSIC_BT_ENABLED || BLE_SMP_ENABLE

# Memory reserved at start of DRAM for Bluetooth stack
config BT_RESERVE_DRAM
hex
Expand Down
4 changes: 3 additions & 1 deletion components/bt/bluedroid/bta/gatt/bta_gattc_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -1233,7 +1233,7 @@ void bta_gattc_read_cmpl(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_OP_CMPL *p_data)
} else {
cb_data.read.handle = p_clcb->p_q_cmd->api_read.handle;
}

if (p_clcb->p_q_cmd->hdr.event != BTA_GATTC_API_READ_MULTI_EVT) {
event = p_clcb->p_q_cmd->api_read.cmpl_evt;
} else {
Expand Down Expand Up @@ -1625,7 +1625,9 @@ static void bta_gattc_conn_cback(tGATT_IF gattc_if, BD_ADDR bda, UINT16 conn_id,

if ((transport == BT_TRANSPORT_LE) && (connected == TRUE) && (p_conn != NULL) \
&& (p_conn->service_change_ccc_written == FALSE) && (p_conn->ccc_timer_used == FALSE)) {
#ifdef CONFIG_BLE_ENABLE_SRVCHG_REG
result = bta_gattc_register_service_change_notify(conn_id, bda, &start_ccc_timer);
#endif
if (start_ccc_timer == TRUE) {
TIMER_LIST_ENT *ccc_timer = &(p_conn->service_change_ccc_timer);
/* start a 1000ms timer to wait for service discovery finished */
Expand Down