diff --git a/components/bt/bt.c b/components/bt/bt.c index f0640917c..88a9cd712 100644 --- a/components/bt/bt.c +++ b/components/bt/bt.c @@ -604,6 +604,8 @@ static bool IRAM_ATTR btdm_sleep_check_duration(uint32_t *slot_cnt) if (*slot_cnt < BTDM_MIN_SLEEP_DURATION) { return false; } + /* wake up 3 slots in advance */ + *slot_cnt = *slot_cnt -3; return true; } @@ -835,9 +837,9 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) btdm_lpcycle_us_frac = RTC_CLK_CAL_FRACT; btdm_lpcycle_us = 32 << btdm_lpcycle_us_frac; +#if CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG bool select_src_ret = false; bool set_div_ret = false; -#if CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG #if CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL select_src_ret = btdm_lpclk_select_src(BTDM_LPCLK_SEL_XTAL); set_div_ret = btdm_lpclk_set_div(rtc_clk_xtal_freq_get() * 32 - 1); diff --git a/examples/bluetooth/ble_throughput/throughput_client/main/example_ble_client_throughput.c b/examples/bluetooth/ble_throughput/throughput_client/main/example_ble_client_throughput.c index 48b61d0d8..fefb1236b 100644 --- a/examples/bluetooth/ble_throughput/throughput_client/main/example_ble_client_throughput.c +++ b/examples/bluetooth/ble_throughput/throughput_client/main/example_ble_client_throughput.c @@ -482,14 +482,16 @@ static void throughput_client_task(void *param) while(1) { #if (CONFIG_GATTS_NOTIFY_THROUGHPUT) vTaskDelay(2000 / portTICK_PERIOD_MS); - uint32_t bit_rate = 0; - if (start_time) { - current_time = esp_timer_get_time(); - bit_rate = notify_len * SECOND_TO_USECOND / (current_time - start_time); - ESP_LOGI(GATTC_TAG, "Notify Bit rate = %d Btye/s, = %d bit/s, time = %ds", - bit_rate, bit_rate<<3, (int)((current_time - start_time) / SECOND_TO_USECOND)); - } else { - ESP_LOGI(GATTC_TAG, "Notify Bit rate = 0 Btye/s, = 0 bit/s"); + if(is_connecet){ + uint32_t bit_rate = 0; + if (start_time) { + current_time = esp_timer_get_time(); + bit_rate = notify_len * SECOND_TO_USECOND / (current_time - start_time); + ESP_LOGI(GATTC_TAG, "Notify Bit rate = %d Btye/s, = %d bit/s, time = %ds", + bit_rate, bit_rate<<3, (int)((current_time - start_time) / SECOND_TO_USECOND)); + } else { + ESP_LOGI(GATTC_TAG, "Notify Bit rate = 0 Btye/s, = 0 bit/s"); + } } #endif /* #if (CONFIG_GATTS_NOTIFY_THROUGHPUT) */ #if (CONFIG_GATTC_WRITE_THROUGHPUT) diff --git a/examples/bluetooth/ble_throughput/throughput_client/sdkconfig.defaults b/examples/bluetooth/ble_throughput/throughput_client/sdkconfig.defaults index e4b501910..1180c12b0 100644 --- a/examples/bluetooth/ble_throughput/throughput_client/sdkconfig.defaults +++ b/examples/bluetooth/ble_throughput/throughput_client/sdkconfig.defaults @@ -2,3 +2,4 @@ # by default in this example CONFIG_BT_ENABLED=y CONFIG_GATTS_NOTIFY_THROUGHPUT=y +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=n diff --git a/examples/bluetooth/ble_throughput/throughput_server/main/example_ble_server_throughput.c b/examples/bluetooth/ble_throughput/throughput_server/main/example_ble_server_throughput.c index 9bb06a579..9c1b07b66 100644 --- a/examples/bluetooth/ble_throughput/throughput_server/main/example_ble_server_throughput.c +++ b/examples/bluetooth/ble_throughput/throughput_server/main/example_ble_server_throughput.c @@ -611,7 +611,6 @@ void throughput_server_task(void *param) while(1) { #if (CONFIG_GATTS_NOTIFY_THROUGHPUT) if (!can_send_notify) { - ESP_LOGI(GATTS_TAG, "==="); int res = xSemaphoreTake(gatts_semaphore, portMAX_DELAY); assert(res == pdTRUE); } else { diff --git a/examples/bluetooth/ble_throughput/throughput_server/sdkconfig.defaults b/examples/bluetooth/ble_throughput/throughput_server/sdkconfig.defaults index e4b501910..1180c12b0 100644 --- a/examples/bluetooth/ble_throughput/throughput_server/sdkconfig.defaults +++ b/examples/bluetooth/ble_throughput/throughput_server/sdkconfig.defaults @@ -2,3 +2,4 @@ # by default in this example CONFIG_BT_ENABLED=y CONFIG_GATTS_NOTIFY_THROUGHPUT=y +CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=n